TrustedQSL Library API
cabrillo.h
1 /***************************************************************************
2  cabrillo.h - description
3  -------------------
4  begin : Thu Dec 5 2002
5  copyright : (C) 2002 by ARRL
6  author : Jon Bloom
7  email : jbloom@arrl.org
8  revision : $Id$
9  ***************************************************************************/
10 
11 #ifndef __CABRILLO_H
12 #define __CABRILLO_H
13 
14 #include "tqsllib.h"
15 
16 #undef CLIENT_STATIC
17 #ifndef LOTW_SERVER
18 #define CLIENT_STATIC static
19 #else
20 #define CLIENT_STATIC
21 #endif
22 
33 #define TQSL_CABRILLO_FIELD_NAME_LENGTH_MAX 64
34 #define TQSL_CABRILLO_FIELD_VALUE_LENGTH_MAX 40
35 
37 typedef enum {
38  TQSL_CABRILLO_NO_ERROR,
39  TQSL_CABRILLO_EOF,
40  TQSL_CABRILLO_NO_START_RECORD,
41  TQSL_CABRILLO_NO_CONTEST_RECORD,
42  TQSL_CABRILLO_UNKNOWN_CONTEST,
43  TQSL_CABRILLO_BAD_FIELD_DATA,
44  TQSL_CABRILLO_EOR,
46 
47 typedef enum {
48  TQSL_CABRILLO_HF,
49  TQSL_CABRILLO_VHF,
50 } TQSL_CABRILLO_FREQ_TYPE;
51 
52 #define TQSL_MIN_CABRILLO_MAP_FIELD 5
53 
59 typedef struct {
60  char name[TQSL_CABRILLO_FIELD_NAME_LENGTH_MAX +1];
61  char value[TQSL_CABRILLO_FIELD_VALUE_LENGTH_MAX +1];
63 
64 typedef void * tQSL_Cabrillo;
65 
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69 
71 DLLEXPORT const char* CALLCONVENTION tqsl_cabrilloGetError(TQSL_CABRILLO_ERROR_TYPE err);
72 
74 DLLEXPORT int CALLCONVENTION tqsl_beginCabrillo(tQSL_Cabrillo *cabp, const char *filename);
75 
77 DLLEXPORT int CALLCONVENTION tqsl_getCabrilloContest(tQSL_Cabrillo cab, char *buf, int bufsiz);
78 
80 DLLEXPORT int CALLCONVENTION tqsl_getCabrilloFreqType(tQSL_Cabrillo cab, TQSL_CABRILLO_FREQ_TYPE *type);
81 
83 DLLEXPORT int CALLCONVENTION tqsl_getCabrilloLine(tQSL_Cabrillo cab, int *lineno);
84 
86 DLLEXPORT const char* CALLCONVENTION tqsl_getCabrilloRecordText(tQSL_Cabrillo cab);
87 
96 DLLEXPORT int CALLCONVENTION tqsl_getCabrilloField(tQSL_Cabrillo cab, tqsl_cabrilloField *field, TQSL_CABRILLO_ERROR_TYPE *err);
97 
99 DLLEXPORT int CALLCONVENTION tqsl_endCabrillo(tQSL_Cabrillo *cabp);
100 
101 #ifdef __cplusplus
102 }
103 #endif
104 
107 #endif // __CABRILLO_H