cabrillo.h
Go to the documentation of this file.
/***************************************************************************
cabrillo.h - description
-------------------
begin : Thu Dec 5 2002
copyright : (C) 2002 by ARRL
author : Jon Bloom
email : jbloom@arrl.org
revision : $Id$
***************************************************************************/
#ifndef __CABRILLO_H
#define __CABRILLO_H
#include "tqsllib.h"
#undef CLIENT_STATIC
#ifndef LOTW_SERVER
#define CLIENT_STATIC static
#else
#define CLIENT_STATIC
#endif
#define TQSL_CABRILLO_MAX_FIELDS 12
#define TQSL_CABRILLO_FIELD_NAME_LENGTH_MAX 64
#define TQSL_CABRILLO_FIELD_VALUE_LENGTH_MAX 40
typedef enum {
TQSL_CABRILLO_NO_ERROR,
TQSL_CABRILLO_EOF,
TQSL_CABRILLO_NO_START_RECORD,
TQSL_CABRILLO_NO_CONTEST_RECORD,
TQSL_CABRILLO_UNKNOWN_CONTEST,
TQSL_CABRILLO_BAD_FIELD_DATA,
TQSL_CABRILLO_EOR,
} TQSL_CABRILLO_ERROR_TYPE;
typedef enum {
TQSL_CABRILLO_HF,
TQSL_CABRILLO_VHF,
TQSL_CABRILLO_UNKNOWN,
} TQSL_CABRILLO_FREQ_TYPE;
// Minimum field number for callsign and default field number
// For VHF, default should be 7.
#define TQSL_MIN_CABRILLO_MAP_FIELD 5
#define TQSL_DEF_CABRILLO_MAP_FIELD 8
typedef struct {
char name[TQSL_CABRILLO_FIELD_NAME_LENGTH_MAX +1];
char value[TQSL_CABRILLO_FIELD_VALUE_LENGTH_MAX +1];
} tqsl_cabrilloField;
typedef void * tQSL_Cabrillo;
#ifdef __cplusplus
extern "C" {
#endif
DLLEXPORT const char* CALLCONVENTION tqsl_cabrilloGetError(TQSL_CABRILLO_ERROR_TYPE err);
DLLEXPORT int CALLCONVENTION tqsl_beginCabrillo(tQSL_Cabrillo *cabp, const char *filename);
DLLEXPORT int CALLCONVENTION tqsl_getCabrilloContest(tQSL_Cabrillo cab, char *buf, int bufsiz);
DLLEXPORT int CALLCONVENTION tqsl_getCabrilloFreqType(tQSL_Cabrillo cab, TQSL_CABRILLO_FREQ_TYPE *type);
DLLEXPORT int CALLCONVENTION tqsl_getCabrilloLine(tQSL_Cabrillo cab, int *lineno);
DLLEXPORT const char* CALLCONVENTION tqsl_getCabrilloRecordText(tQSL_Cabrillo cab);
DLLEXPORT int CALLCONVENTION tqsl_getCabrilloField(tQSL_Cabrillo cab, tqsl_cabrilloField *field, TQSL_CABRILLO_ERROR_TYPE *err);
DLLEXPORT int CALLCONVENTION tqsl_endCabrillo(tQSL_Cabrillo *cabp);
#ifdef __cplusplus
}
#endif
#endif // __CABRILLO_H