TrustedQSL Library API
adif.h
Go to the documentation of this file.
1/***************************************************************************
2 adif.h - description
3 -------------------
4 begin : Wed May 15 2002
5 copyright : (C) 2002 by ARRL
6 email : MSimcik@localhost.localdomain
7 revision : $Id$
8 ***************************************************************************/
9
10#ifndef __ADIF_H
11#define __ADIF_H
12
13
14#include <stdio.h>
15#include <stdlib.h>
16
18
25
26
27#define TQSL_ADIF_FIELD_NAME_LENGTH_MAX 64
28#define TQSL_ADIF_FIELD_SIZE_LENGTH_MAX 10
29#define TQSL_ADIF_FIELD_TYPE_LENGTH_MAX 1
30
34#ifndef TQSL_ADIF_BOOLEAN
35typedef enum {
36 TQSL_FALSE,
37 TQSL_TRUE
39#endif
40
41typedef void * tQSL_ADIF;
42
44typedef enum {
45 TQSL_ADIF_RANGE_TYPE_NONE,
46 TQSL_ADIF_RANGE_TYPE_MINMAX,
47 TQSL_ADIF_RANGE_TYPE_ENUMERATION
49
51typedef enum {
52 TQSL_ADIF_GET_FIELD_SUCCESS,
53 TQSL_ADIF_GET_FIELD_NO_NAME_MATCH,
54 TQSL_ADIF_GET_FIELD_NO_TYPE_MATCH,
55 TQSL_ADIF_GET_FIELD_NO_RANGE_MATCH,
56 TQSL_ADIF_GET_FIELD_NO_ENUMERATION_MATCH,
57 TQSL_ADIF_GET_FIELD_NO_RESULT_ALLOCATION,
58 TQSL_ADIF_GET_FIELD_NAME_LENGTH_OVERFLOW,
59 TQSL_ADIF_GET_FIELD_DATA_LENGTH_OVERFLOW,
60 TQSL_ADIF_GET_FIELD_SIZE_OVERFLOW,
61 TQSL_ADIF_GET_FIELD_TYPE_OVERFLOW,
62 TQSL_ADIF_GET_FIELD_ERRONEOUS_STATE,
63 TQSL_ADIF_GET_FIELD_EOF
65
77
88
89
90/* function prototypes */
91
92#define TQSLLIB_DEF
93#include "tqsllib.h"
94
95#ifdef __cplusplus
96extern "C" {
97#endif
98
101
103DLLEXPORT int CALLCONVENTION tqsl_beginADIF(tQSL_ADIF *adifp, const char *filename);
104
122 const tqsl_adifFieldDefinitions *adifFields, const char * const *typesDefined,
123 unsigned char *(*allocator)(size_t) );
124
127
130
136DLLEXPORT int CALLCONVENTION tqsl_adifMakeField(const char *fieldname, char type, const unsigned char *value, int len,
137 unsigned char *buf, int buflen);
138
139#ifdef __cplusplus
140}
141#endif
142
144
145#endif /* __ADIF_H */
void * tQSL_ADIF
Opaque ADIF type.
Definition adif.h:41
TQSL_ADIF_BOOLEAN
Definition adif.h:35
DLLEXPORT int CALLCONVENTION tqsl_getADIFLine(tQSL_ADIF adif, int *lineno)
DLLEXPORT int CALLCONVENTION tqsl_getADIFField(tQSL_ADIF adif, tqsl_adifFieldResults *field, TQSL_ADIF_GET_FIELD_ERROR *status, const tqsl_adifFieldDefinitions *adifFields, const char *const *typesDefined, unsigned char *(*allocator)(size_t))
TQSL_ADIF_GET_FIELD_ERROR
Response values returned from tqsl_getADIFField()
Definition adif.h:51
#define TQSL_ADIF_FIELD_TYPE_LENGTH_MAX
Max length of field type.
Definition adif.h:29
DLLEXPORT int CALLCONVENTION tqsl_beginADIF(tQSL_ADIF *adifp, const char *filename)
DLLEXPORT int CALLCONVENTION tqsl_endADIF(tQSL_ADIF *adifp)
#define TQSL_ADIF_FIELD_SIZE_LENGTH_MAX
Max length of field name.
Definition adif.h:28
DLLEXPORT const char *CALLCONVENTION tqsl_adifGetError(TQSL_ADIF_GET_FIELD_ERROR status)
TQSL_ADIF_RANGE_TYPE
Specifies the type of range limits to apply to a field.
Definition adif.h:44
#define TQSL_ADIF_FIELD_NAME_LENGTH_MAX
Max length of ADIF field.
Definition adif.h:27
DLLEXPORT int CALLCONVENTION tqsl_adifMakeField(const char *fieldname, char type, const unsigned char *value, int len, unsigned char *buf, int buflen)
Definition adif.h:67
unsigned int max_length
Max length.
Definition adif.h:71
const char ** enumStrings
Enumerated values.
Definition adif.h:74
char name[TQSL_ADIF_FIELD_NAME_LENGTH_MAX+1]
Field name.
Definition adif.h:68
void * userPointer
user pointer
Definition adif.h:75
TQSL_ADIF_RANGE_TYPE rangeType
Range type.
Definition adif.h:70
char type[TQSL_ADIF_FIELD_TYPE_LENGTH_MAX+1]
Field type.
Definition adif.h:69
long signed max_value
Max value.
Definition adif.h:73
long signed min_value
Min value.
Definition adif.h:72
Definition adif.h:79
int line_no
Input line where the tag was found.
Definition adif.h:86
void * userPointer
User pointer.
Definition adif.h:85
unsigned char * data
data
Definition adif.h:83
char type[TQSL_ADIF_FIELD_TYPE_LENGTH_MAX+1]
Type.
Definition adif.h:82
char name[TQSL_ADIF_FIELD_NAME_LENGTH_MAX+1]
Field name.
Definition adif.h:80
unsigned int adifNameIndex
Name index.
Definition adif.h:84
char size[TQSL_ADIF_FIELD_SIZE_LENGTH_MAX+1]
Size.
Definition adif.h:81
#define CALLCONVENTION
Symbol exports - Windows only.
Definition tqsllib.h:27
#define DLLEXPORT
Symbol exports - Windows only.
Definition tqsllib.h:25