26 #define TQSL_ADIF_FIELD_NAME_LENGTH_MAX 64
27 #define TQSL_ADIF_FIELD_SIZE_LENGTH_MAX 10
28 #define TQSL_ADIF_FIELD_TYPE_LENGTH_MAX 1
30 #ifndef TQSL_ADIF_BOOLEAN
31 typedef enum { TQSL_FALSE, TQSL_TRUE } TQSL_ADIF_BOOLEAN;
34 typedef void * tQSL_ADIF;
39 TQSL_ADIF_RANGE_TYPE_NONE,
40 TQSL_ADIF_RANGE_TYPE_MINMAX,
41 TQSL_ADIF_RANGE_TYPE_ENUMERATION
47 TQSL_ADIF_GET_FIELD_SUCCESS,
48 TQSL_ADIF_GET_FIELD_NO_NAME_MATCH,
49 TQSL_ADIF_GET_FIELD_NO_TYPE_MATCH,
50 TQSL_ADIF_GET_FIELD_NO_RANGE_MATCH,
51 TQSL_ADIF_GET_FIELD_NO_ENUMERATION_MATCH,
52 TQSL_ADIF_GET_FIELD_NO_RESULT_ALLOCATION,
53 TQSL_ADIF_GET_FIELD_NAME_LENGTH_OVERFLOW,
54 TQSL_ADIF_GET_FIELD_DATA_LENGTH_OVERFLOW,
55 TQSL_ADIF_GET_FIELD_SIZE_OVERFLOW,
56 TQSL_ADIF_GET_FIELD_TYPE_OVERFLOW,
57 TQSL_ADIF_GET_FIELD_ERRONEOUS_STATE,
58 TQSL_ADIF_GET_FIELD_EOF
64 char name[TQSL_ADIF_FIELD_NAME_LENGTH_MAX + 1];
65 char type[TQSL_ADIF_FIELD_TYPE_LENGTH_MAX + 1];
67 unsigned int max_length;
68 long signed min_value;
69 long signed max_value;
70 const char **enumStrings;
77 char name[TQSL_ADIF_FIELD_NAME_LENGTH_MAX + 1];
78 char size[TQSL_ADIF_FIELD_SIZE_LENGTH_MAX + 1];
79 char type[TQSL_ADIF_FIELD_TYPE_LENGTH_MAX + 1];
81 unsigned int adifNameIndex;
96 DLLEXPORT
int CALLCONVENTION
tqsl_beginADIF(tQSL_ADIF *adifp,
const char *filename);
116 unsigned char *(*allocator)(
size_t) );
122 DLLEXPORT
int CALLCONVENTION
tqsl_endADIF(tQSL_ADIF *adifp);
129 DLLEXPORT
int CALLCONVENTION
tqsl_adifMakeField(
const char *fieldname,
char type,
const unsigned char *value,
int len,
130 unsigned char *buf,
int buflen);