TrustedQSL Library API
tqsllib.h
Go to the documentation of this file.
1 /***************************************************************************
2  tqsllib.h - description
3  -------------------
4  begin : Mon May 20 2002
5  copyright : (C) 2002 by ARRL
6  author : Jon Bloom
7  email : jbloom@arrl.org
8  revision : $Id: tqsllib.h,v 1.14 2013/03/01 13:26:44 k1mu Exp $
9  ***************************************************************************/
10 
11 #ifndef TQSLLIB_H
12 #define TQSLLIB_H
13 
14 #if defined(_WIN32) && !defined(TQSL_NODLL)
15  #ifdef TQSLLIB_DEF
16  #define DLLEXPORT __declspec(dllexport)
17  #define DLLEXPORTDATA __declspec(dllexport)
18  #define CALLCONVENTION __stdcall
19  #else
20  #define DLLEXPORT __declspec(dllimport)
21  #define DLLEXPORTDATA __declspec(dllimport)
22  #define CALLCONVENTION __stdcall
23  #endif
24 #else
25  #define DLLEXPORT
26  #define DLLEXPORTDATA
27  #define CALLCONVENTION
28 #endif
29 
30 #include "adif.h"
31 #include "cabrillo.h"
32 
37 /* Sizes */
38 #define TQSL_MAX_PATH_LEN 256
39 #define TQSL_PASSWORD_MAX 80
40 #define TQSL_NAME_ELEMENT_MAX 256
41 #define TQSL_CALLSIGN_MAX 13
42 #define TQSL_CRQ_NAME_MAX 60
43 #define TQSL_CRQ_ADDR_MAX 80
44 #define TQSL_CRQ_CITY_MAX 80
45 #define TQSL_CRQ_STATE_MAX 80
46 #define TQSL_CRQ_POSTAL_MAX 20
47 #define TQSL_CRQ_COUNTRY_MAX 80
48 #define TQSL_CRQ_EMAIL_MAX 180
49 #define TQSL_BAND_MAX 6
50 #define TQSL_MODE_MAX 16
51 #define TQSL_FREQ_MAX 20
52 #define TQSL_SATNAME_MAX 20
53 #define TQSL_PROPMODE_MAX 20
54 
55 #define TQSL_CERT_CB_USER 0
56 #define TQSL_CERT_CB_CA 1
57 #define TQSL_CERT_CB_ROOT 2
58 #define TQSL_CERT_CB_PKEY 3
59 #define TQSL_CERT_CB_CONFIG 4
60 #define TQSL_CERT_CB_CERT_TYPE(x) ((x) & 0xf)
61 #define TQSL_CERT_CB_MILESTONE 0
62 #define TQSL_CERT_CB_RESULT 0x10
63 #define TQSL_CERT_CB_CALL_TYPE(x) ((x) & TQSL_CERT_CB_RESULT)
64 #define TQSL_CERT_CB_PROMPT 0
65 #define TQSL_CERT_CB_DUPLICATE 0x100
66 #define TQSL_CERT_CB_ERROR 0x200
67 #define TQSL_CERT_CB_LOADED 0x300
68 #define TQSL_CERT_CB_RESULT_TYPE(x) ((x) & 0x0f00)
69 
70 typedef void * tQSL_Cert;
71 typedef void * tQSL_Location;
72 typedef char * tQSL_StationDataEnc;
73 
75 typedef struct {
76  int year;
77  int month;
78  int day;
79 } tQSL_Date;
80 
82 typedef struct {
83  int hour;
84  int minute;
85  int second;
86 } tQSL_Time;
87 
89 typedef struct tqsl_provider_st {
95 
97 typedef struct tqsl_cert_req_st {
114  char renew;
115 } TQSL_CERT_REQ;
116 
118 typedef struct {
119  char callsign[TQSL_CALLSIGN_MAX+1];
120  char band[TQSL_BAND_MAX+1];
121  char mode[TQSL_MODE_MAX+1];
122  char submode[TQSL_MODE_MAX+1];
125  char freq[TQSL_FREQ_MAX+1];
126  char rxfreq[TQSL_FREQ_MAX+1];
127  char rxband[TQSL_BAND_MAX+1];
128  char propmode[TQSL_PROPMODE_MAX+1];
129  char satname[TQSL_SATNAME_MAX+1];
131  bool mode_set;
132  bool band_set;
133  bool date_set;
134  bool time_set;
136 
138 DLLEXPORTDATA extern const char *tQSL_BaseDir;
139 
140 #ifdef __cplusplus
141 extern "C" {
142 #endif
143 
148 
151 DLLEXPORTDATA extern int tQSL_Error;
157 DLLEXPORTDATA extern char tQSL_ErrorFile[256];
159 DLLEXPORTDATA extern char tQSL_CustomError[256];
161 DLLEXPORTDATA extern int tQSL_Errno;
163 DLLEXPORTDATA extern char tQSL_ImportCall[256];
165 DLLEXPORTDATA extern long tQSL_ImportSerial;
167 DLLEXPORTDATA extern FILE* tQSL_DiagFile;
168 
174 
184 DLLEXPORT int CALLCONVENTION tqsl_setDirectory(const char *dir);
185 
190 
195 DLLEXPORT const char* CALLCONVENTION tqsl_getErrorString_v(int err);
196 
204 DLLEXPORT int CALLCONVENTION tqsl_encodeBase64(const unsigned char *data, int datalen, char *output, int outputlen);
205 
214 DLLEXPORT int CALLCONVENTION tqsl_decodeBase64(const char *input, unsigned char *data, int *datalen);
215 
222 DLLEXPORT int CALLCONVENTION tqsl_initDate(tQSL_Date *date, const char *str);
223 
230 DLLEXPORT int CALLCONVENTION tqsl_initTime(tQSL_Time *time, const char *str);
231 
242 
248 DLLEXPORT int CALLCONVENTION tqsl_subtractDates(const tQSL_Date *a, const tQSL_Date *b, int *diff);
249 
254 DLLEXPORT char* CALLCONVENTION tqsl_convertDateToText(const tQSL_Date *date, char *buf, int bufsiz);
255 
261 
267 
273 
278 DLLEXPORT char* CALLCONVENTION tqsl_convertTimeToText(const tQSL_Time *time, char *buf, int bufsiz);
279 
282 DLLEXPORT int CALLCONVENTION tqsl_getVersion(int *major, int *minor);
283 
286 DLLEXPORT int CALLCONVENTION tqsl_getConfigVersion(int *major, int *minor);
287 
316 #define TQSL_SELECT_CERT_WITHKEYS 1
317 #define TQSL_SELECT_CERT_EXPIRED 2
318 #define TQSL_SELECT_CERT_SUPERCEDED 4
319 
320 
347 DLLEXPORT int CALLCONVENTION tqsl_selectCertificates(tQSL_Cert **certlist, int *ncerts,
348  const char *callsign, int dxcc, const tQSL_Date *date, const TQSL_PROVIDER *issuer, int flag);
349 
361 DLLEXPORT int CALLCONVENTION tqsl_selectCACertificates(tQSL_Cert **certlist, int *ncerts, const char *type);
362 
372  int idx);
373 
377 
381 
385 
388 DLLEXPORT int CALLCONVENTION tqsl_getCertificateEncoded(tQSL_Cert cert, char *buf, int bufsiz);
389 
392 DLLEXPORT int CALLCONVENTION tqsl_getKeyEncoded(tQSL_Cert cert, char *buf, int bufsiz);
393 
396 DLLEXPORT int CALLCONVENTION tqsl_importKeyPairEncoded(const char *callsign, const char *type, const char *keybuf, const char *certbuf);
397 
401 
405 DLLEXPORT int CALLCONVENTION tqsl_getCertificateSerialExt(tQSL_Cert cert, char *serial, int serialsiz);
406 
411 
421 DLLEXPORT int CALLCONVENTION tqsl_getCertificateIssuer(tQSL_Cert cert, char *buf, int bufsiz);
422 
452 DLLEXPORT int CALLCONVENTION tqsl_getCertificateCallSign(tQSL_Cert cert, char *buf, int bufsiz);
462 DLLEXPORT int CALLCONVENTION tqsl_getCertificateAROName(tQSL_Cert cert, char *buf, int bufsiz);
463 
473 DLLEXPORT int CALLCONVENTION tqsl_getCertificateEmailAddress(tQSL_Cert cert, char *buf, int bufsiz);
474 
484 
494 
504 
514 
524 
536 
548 
559 DLLEXPORT int CALLCONVENTION tqsl_getCertificateRequestCity(tQSL_Cert cert, char *str, int bufsiz);
560 
571 DLLEXPORT int CALLCONVENTION tqsl_getCertificateRequestState(tQSL_Cert cert, char *str, int bufsiz);
572 
584 
596 
597 #define TQSL_PK_TYPE_ERR 0
598 #define TQSL_PK_TYPE_NONE 1
599 #define TQSL_PK_TYPE_UNENC 2
600 #define TQSL_PK_TYPE_ENC 3
601 
602 
617 
618 
623 
630 
631 #define TQSL_CERT_STATUS_UNK 0
632 #define TQSL_CERT_STATUS_SUP 1
633 #define TQSL_CERT_STATUS_EXP 2
634 #define TQSL_CERT_STATUS_OK 3
635 #define TQSL_CERT_STATUS_INV 4
636 
637 
652 
657 DLLEXPORT int CALLCONVENTION tqsl_setCertificateStatus(long serial, const char *status);
658 
659 /* int tqsl_checkCertificate(tQSL_Cert); */
660 
678 DLLEXPORT int CALLCONVENTION tqsl_importTQSLFile(const char *file, int(*cb)(int type, const char *message, void *userdata), void *user);
679 
688 DLLEXPORT int CALLCONVENTION tqsl_getSerialFromTQSLFile(const char *file, long *serial);
689 
693 
699 
712 DLLEXPORT int CALLCONVENTION tqsl_createCertRequest(const char *filename, TQSL_CERT_REQ *req,
713  int(*pwcb)(char *pwbuf, int pwsize, void *userdata), void *user);
714 
722 DLLEXPORT int CALLCONVENTION tqsl_exportPKCS12File(tQSL_Cert cert, const char *filename, const char *p12password);
723 
732 DLLEXPORT int CALLCONVENTION tqsl_exportPKCS12Base64(tQSL_Cert cert, char *base64, int b64len, const char *p12password);
733 
736 DLLEXPORT int CALLCONVENTION tqsl_importPKCS12File(const char *filename, const char *p12password, const char *password,
737  int (*pwcb)(char *buf, int bufsiz, void *userdata), int(*cb)(int type , const char *message, void *userdata), void *user);
738 
741 DLLEXPORT int CALLCONVENTION tqsl_importPKCS12Base64(const char *base64, const char *p12password, const char *password,
742  int (*pwcb)(char *buf, int bufsiz, void *userdata), int(*cb)(int type , const char *message, void *userdata), void *user);
743 
745 DLLEXPORT int CALLCONVENTION tqsl_getDeletedCallsignCertificates(char ***calls, int *ncall, const char *filter);
746 
748 DLLEXPORT void CALLCONVENTION tqsl_freeDeletedCertificateList(char **list, int nloc);
749 
752 
756 
779 DLLEXPORT int CALLCONVENTION tqsl_beginSigning(tQSL_Cert cert, char *password, int(*pwcb)(char *pwbuf, int pwsize, void *userdata), void *user);
780 
786 
792 
798 DLLEXPORT int CALLCONVENTION tqsl_signDataBlock(tQSL_Cert cert, const unsigned char *data, int datalen, unsigned char *sig, int *siglen);
799 
804 DLLEXPORT int CALLCONVENTION tqsl_verifyDataBlock(tQSL_Cert cert, const unsigned char *data, int datalen, unsigned char *sig, int siglen);
805 
813 DLLEXPORT int CALLCONVENTION tqsl_signQSORecord(tQSL_Cert cert, tQSL_Location loc, TQSL_QSO_RECORD *rec, unsigned char *sig, int *siglen);
814 
820 
925 /* Location field input types */
926 
927 #define TQSL_LOCATION_FIELD_TEXT 1
928 #define TQSL_LOCATION_FIELD_DDLIST 2
929 #define TQSL_LOCATION_FIELD_LIST 3
930 #define TQSL_LOCATION_FIELD_BADZONE 4
931 
932 /* Location field data types */
933 #define TQSL_LOCATION_FIELD_CHAR 1
934 #define TQSL_LOCATION_FIELD_INT 2
935 
936 
938 
944 
947 
951 
954 
960 
965 
968 
971 
974 
977 
985 
988 
991 
994 
996 DLLEXPORT int CALLCONVENTION tqsl_getStationLocationName(tQSL_Location loc, int idx, char *buf, int bufsiz);
997 
999 DLLEXPORT int CALLCONVENTION tqsl_getStationLocationCallSign(tQSL_Location loc, int idx, char *buf, int bufsiz);
1000 
1002 DLLEXPORT int CALLCONVENTION tqsl_getStationLocationField(tQSL_Location locp, const char *name, char *namebuf, int bufsize);
1003 
1009 
1017 
1022 
1026 
1028 DLLEXPORT int CALLCONVENTION tqsl_mergeStationLocations(const char *locdata);
1029 
1032 
1035 
1037 DLLEXPORT int CALLCONVENTION tqsl_getDeletedStationLocations(char ***locp, int *nloc);
1038 
1040 DLLEXPORT void CALLCONVENTION tqsl_freeDeletedLocationList(char **list, int nloc);
1041 
1044 
1047 
1049 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataLabel(tQSL_Location loc, int field_num, char *buf, int bufsiz);
1050 
1053 
1055 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataGABBI(tQSL_Location loc, int field_num, char *buf, int bufsiz);
1056 
1064 
1067 
1069 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataLabel(tQSL_Location loc, int field_num, char *buf, int bufsiz);
1070 
1073 
1075 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataGABBI(tQSL_Location loc, int field_num, char *buf, int bufsiz);
1076 
1082 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldInputType(tQSL_Location loc, int field_num, int *type);
1083 
1088 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataType(tQSL_Location loc, int field_num, int *type);
1089 
1098 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldFlags(tQSL_Location loc, int field_num, int *flags);
1099 
1101 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataLength(tQSL_Location loc, int field_num, int *rval);
1102 
1109 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldCharData(tQSL_Location loc, int field_num, char *buf, int bufsiz);
1110 
1116 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldIntData(tQSL_Location loc, int field_num, int *dat);
1117 
1122 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldIndex(tQSL_Location loc, int field_num, int *dat);
1123 
1125 DLLEXPORT int CALLCONVENTION tqsl_getNumLocationFieldListItems(tQSL_Location loc, int field_num, int *rval);
1126 
1128 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldListItem(tQSL_Location loc, int field_num, int item_idx, char *buf, int bufsiz);
1129 
1131 DLLEXPORT int CALLCONVENTION tqsl_setLocationFieldCharData(tQSL_Location loc, int field_num, const char *buf);
1132 
1135 DLLEXPORT int CALLCONVENTION tqsl_setLocationFieldIntData(tQSL_Location loc, int field_num, int dat);
1136 
1141 DLLEXPORT int CALLCONVENTION tqsl_setLocationFieldIndex(tQSL_Location loc, int field_num, int dat);
1142 
1147 DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldChanged(tQSL_Location loc, int field_num, int *changed);
1148 
1150 DLLEXPORT int CALLCONVENTION tqsl_getLocationCallSign(tQSL_Location loc, char *buf, int bufsiz);
1151 
1154 
1157 
1159 DLLEXPORT int CALLCONVENTION tqsl_getLocationQSODetails(tQSL_Location locp, char *buf, int buflen);
1160 
1162 DLLEXPORT int CALLCONVENTION tqsl_getLocationStationDetails(tQSL_Location locp, char *buf, int buflen);
1163 
1165 DLLEXPORT int CALLCONVENTION tqsl_saveCallsignLocationInfo(const char *callsign, const char *json);
1166 
1168 DLLEXPORT int CALLCONVENTION tqsl_getCallsignLocationInfo(const char *callsign, char *buf, int buflen);
1169 
1173 
1176 DLLEXPORT int CALLCONVENTION tqsl_getDXCCEntity(int index, int *number, const char **name);
1177 
1180 DLLEXPORT int CALLCONVENTION tqsl_getDXCCEntityName(int number, const char **name);
1181 
1184 DLLEXPORT int CALLCONVENTION tqsl_getDXCCZoneMap(int number, const char **zonemap);
1185 
1189 
1193 
1195 DLLEXPORT int CALLCONVENTION tqsl_getNumBand(int *number);
1196 
1206 DLLEXPORT int CALLCONVENTION tqsl_getBand(int index, const char **name, const char **spectrum, int *low, int *high);
1207 
1209 DLLEXPORT int CALLCONVENTION tqsl_getNumMode(int *number);
1210 
1218 DLLEXPORT int CALLCONVENTION tqsl_getMode(int index, const char **mode, const char **group);
1219 
1222 
1230 DLLEXPORT int CALLCONVENTION tqsl_getPropagationMode(int index, const char **name, const char **descrip);
1231 
1234 
1244 DLLEXPORT int CALLCONVENTION tqsl_getSatellite(int index, const char **name, const char **descrip,
1245  tQSL_Date *start, tQSL_Date *end);
1246 
1250 
1261 DLLEXPORT int CALLCONVENTION tqsl_setCabrilloMapEntry(const char *contest, int field, int contest_type);
1262 
1274 DLLEXPORT int CALLCONVENTION tqsl_getCabrilloMapEntry(const char *contest, int *fieldnum, int *contest_type);
1275 
1279 
1282 DLLEXPORT int CALLCONVENTION tqsl_setADIFMode(const char *adif_item, const char *mode);
1283 
1286 DLLEXPORT int CALLCONVENTION tqsl_getADIFMode(const char *adif_item, char *mode, int nmode);
1287 
1297 DLLEXPORT const char* CALLCONVENTION tqsl_getGABBItCERT(tQSL_Cert cert, int uid);
1298 
1309 DLLEXPORT const char* CALLCONVENTION tqsl_getGABBItSTATION(tQSL_Location loc, int uid, int certuid);
1310 
1324  int stationuid);
1325 
1340  int stationuid, char *signdata, int sdlen);
1341 
1348 DLLEXPORT void CALLCONVENTION tqslTrace(const char *name, const char *format, ...);
1358 DLLEXPORT int CALLCONVENTION tqsl_openDiagFile(const char* file);
1359 
1360 #ifdef _WIN32
1361 DLLEXPORT wchar_t* CALLCONVENTION utf8_to_wchar(const char* str);
1362 DLLEXPORT char* CALLCONVENTION wchar_to_utf8(const wchar_t* str, bool forceUTF8);
1363 DLLEXPORT void CALLCONVENTION free_wchar(wchar_t* ptr);
1364 #endif
1365 
1366 #ifdef __cplusplus
1367 }
1368 #endif
1369 
1370 /* Useful defines */
1371 #define TQSL_MAX_PW_LENGTH 32
1372 
1373 #endif /* TQSLLIB_H */
DLLEXPORT int CALLCONVENTION tqsl_getCertificateQSONotBeforeDate(tQSL_Cert cert, tQSL_Date *date)
DLLEXPORT void CALLCONVENTION tqslTrace(const char *name, const char *format,...)
DLLEXPORT int CALLCONVENTION tqsl_freeStationDataEnc(tQSL_StationDataEnc sdata)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateStatus(long serial)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateIssuerOrganization(tQSL_Cert cert, char *buf, int bufsiz)
int month
Numeric month.
Definition: tqsllib.h:77
DLLEXPORT int CALLCONVENTION tqsl_getDXCCEndDate(int number, tQSL_Date *d)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldInputType(tQSL_Location loc, int field_num, int *type)
Definition: tqsllib.h:118
DLLEXPORT int CALLCONVENTION tqsl_getLocationQSODetails(tQSL_Location locp, char *buf, int buflen)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateRequestAddress2(tQSL_Cert cert, char *str, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_setStationLocationCaptureName(tQSL_Location loc, const char *name)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataGABBI(tQSL_Location loc, int field_num, char *buf, int bufsiz)
#define TQSL_BAND_MAX
Max length of a band name.
Definition: tqsllib.h:49
DLLEXPORT int CALLCONVENTION tqsl_exportPKCS12File(tQSL_Cert cert, const char *filename, const char *p12password)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateKeyOnly(tQSL_Cert cert, int *keyonly)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateSerial(tQSL_Cert cert, long *serial)
int second
Time seconds field.
Definition: tqsllib.h:85
DLLEXPORT int CALLCONVENTION tqsl_getLocationCallSign(tQSL_Location loc, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getLocationDXCCEntity(tQSL_Location loc, int *dxcc)
#define TQSL_PASSWORD_MAX
Max password length.
Definition: tqsllib.h:39
char state[TQSL_CRQ_STATE_MAX+1]
State.
Definition: tqsllib.h:105
DLLEXPORT int CALLCONVENTION tqsl_diagFileOpen(void)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldListItem(tQSL_Location loc, int field_num, int item_idx, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateRequestAddress1(tQSL_Cert cert, char *str, int bufsiz)
int minute
Time minute field.
Definition: tqsllib.h:84
DLLEXPORT int CALLCONVENTION tqsl_getNumStationLocations(tQSL_Location loc, int *nloc)
DLLEXPORT int CALLCONVENTION tqsl_isDateValid(const tQSL_Date *d)
void * tQSL_Location
Opaque location type.
Definition: tqsllib.h:71
#define TQSL_CRQ_POSTAL_MAX
Max length of request zip.
Definition: tqsllib.h:46
DLLEXPORT int CALLCONVENTION tqsl_isCertificateExpired(tQSL_Cert cert, int *status)
DLLEXPORTDATA char tQSL_CustomError[256]
Custom error message string.
DLLEXPORT void CALLCONVENTION tqsl_freeDeletedCertificateList(char **list, int nloc)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldCharData(tQSL_Location loc, int field_num, char *buf, int bufsiz)
char url[TQSL_NAME_ELEMENT_MAX+1]
Provider URL.
Definition: tqsllib.h:93
DLLEXPORT int CALLCONVENTION tqsl_endStationLocationCapture(tQSL_Location *locp)
Definition: tqsllib.h:89
DLLEXPORT int CALLCONVENTION tqsl_getCertificateRequestCity(tQSL_Cert cert, char *str, int bufsiz)
#define TQSL_NAME_ELEMENT_MAX
Max Org name length.
Definition: tqsllib.h:40
char postalCode[TQSL_CRQ_POSTAL_MAX+1]
Postal Code.
Definition: tqsllib.h:106
DLLEXPORTDATA int tQSL_Error
Error code from most recent tQSL library call.
DLLEXPORT int CALLCONVENTION tqsl_restoreCallsignCertificate(const char *callsign)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateAROName(tQSL_Cert cert, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getNumPropagationMode(int *number)
char emailAddress[TQSL_NAME_ELEMENT_MAX+1]
Provider e-mail.
Definition: tqsllib.h:92
DLLEXPORT int CALLCONVENTION tqsl_getNumSatellite(int *number)
DLLEXPORT int CALLCONVENTION tqsl_getCabrilloMapEntry(const char *contest, int *fieldnum, int *contest_type)
#define TQSL_CRQ_CITY_MAX
Max length of request city.
Definition: tqsllib.h:44
DLLEXPORT int CALLCONVENTION tqsl_createCertRequest(const char *filename, TQSL_CERT_REQ *req, int(*pwcb)(char *pwbuf, int pwsize, void *userdata), void *user)
DLLEXPORT int CALLCONVENTION tqsl_getDXCCStartDate(int number, tQSL_Date *d)
DLLEXPORT int CALLCONVENTION tqsl_getStationDataEnc(tQSL_StationDataEnc *sdata)
bool callsign_set
QSO specifies a call worked.
Definition: tqsllib.h:130
DLLEXPORT int CALLCONVENTION tqsl_getCertificateRequestPostalCode(tQSL_Cert cert, char *str, int bufsiz)
int year
Numeric year.
Definition: tqsllib.h:76
DLLEXPORT int CALLCONVENTION tqsl_openDiagFile(const char *file)
DLLEXPORTDATA FILE * tQSL_DiagFile
Diagnostic log file.
DLLEXPORT int CALLCONVENTION tqsl_getSelectedCertificate(tQSL_Cert *cert, const tQSL_Cert **certlist, int idx)
DLLEXPORT int CALLCONVENTION tqsl_getStationLocationCaptureName(tQSL_Location loc, char *namebuf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_initStationLocationCapture(tQSL_Location *locp)
DLLEXPORT int CALLCONVENTION tqsl_updateStationLocationCapture(tQSL_Location loc)
DLLEXPORTDATA char tQSL_ErrorFile[256]
File name of file giving error. (May be empty.)
DLLEXPORT int CALLCONVENTION tqsl_getKeyEncoded(tQSL_Cert cert, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_importPKCS12File(const char *filename, const char *p12password, const char *password, int(*pwcb)(char *buf, int bufsiz, void *userdata), int(*cb)(int type, const char *message, void *userdata), void *user)
#define TQSL_CRQ_STATE_MAX
Max length of request state.
Definition: tqsllib.h:45
DLLEXPORT const char *CALLCONVENTION tqsl_getGABBItCONTACT(tQSL_Cert cert, tQSL_Location loc, TQSL_QSO_RECORD *qso, int stationuid)
char address1[TQSL_CRQ_ADDR_MAX+1]
Address 1.
Definition: tqsllib.h:102
DLLEXPORT int CALLCONVENTION tqsl_getCertificateRequestState(tQSL_Cert cert, char *str, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataType(tQSL_Location loc, int field_num, int *type)
DLLEXPORT int CALLCONVENTION tqsl_deleteCertificate(tQSL_Cert cert)
TQSL_ADIF_GET_FIELD_ERROR
Response values returned from tqsl_getADIFField()
Definition: adif.h:52
DLLEXPORT int CALLCONVENTION tqsl_getStationLocationCapturePage(tQSL_Location loc, int *page)
DLLEXPORT void CALLCONVENTION tqsl_freeCertificate(tQSL_Cert cert)
char organizationName[TQSL_NAME_ELEMENT_MAX+1]
Provider name.
Definition: tqsllib.h:90
int dxccEntity
DXCC Entity code.
Definition: tqsllib.h:109
TQSL_CABRILLO_ERROR_TYPE
Cabrillo status values.
Definition: cabrillo.h:40
#define TQSL_CRQ_COUNTRY_MAX
Max length of req entity.
Definition: tqsllib.h:47
DLLEXPORT int CALLCONVENTION tqsl_setDirectory(const char *dir)
DLLEXPORT int CALLCONVENTION tqsl_setLocationFieldCharData(tQSL_Location loc, int field_num, const char *buf)
DLLEXPORT int CALLCONVENTION tqsl_getStationLocation(tQSL_Location *loc, const char *name)
DLLEXPORT char *CALLCONVENTION tqsl_convertTimeToText(const tQSL_Time *time, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getCallsignLocationInfo(const char *callsign, char *buf, int buflen)
DLLEXPORT int CALLCONVENTION tqsl_getDXCCEntity(int index, int *number, const char **name)
DLLEXPORT int CALLCONVENTION tqsl_importTQSLFile(const char *file, int(*cb)(int type, const char *message, void *userdata), void *user)
DLLEXPORTDATA TQSL_CABRILLO_ERROR_TYPE tQSL_Cabrillo_Error
The ADIF error code.
bool date_set
QSO specifies a date.
Definition: tqsllib.h:133
DLLEXPORT int CALLCONVENTION tqsl_setLocationFieldIndex(tQSL_Location loc, int field_num, int dat)
void * tQSL_Cert
Opaque certificate type.
Definition: tqsllib.h:70
DLLEXPORT int CALLCONVENTION tqsl_getLocationStationDetails(tQSL_Location locp, char *buf, int buflen)
char renew
Rewewal reference.
Definition: tqsllib.h:114
DLLEXPORT int CALLCONVENTION tqsl_isDateNull(const tQSL_Date *d)
DLLEXPORT int CALLCONVENTION tqsl_deleteStationLocation(const char *name)
DLLEXPORT int CALLCONVENTION tqsl_getDeletedCallsignCertificates(char ***calls, int *ncall, const char *filter)
DLLEXPORT int CALLCONVENTION tqsl_hasPrevStationLocationCapture(tQSL_Location loc, int *rval)
DLLEXPORT int CALLCONVENTION tqsl_decodeBase64(const char *input, unsigned char *data, int *datalen)
DLLEXPORT int CALLCONVENTION tqsl_setLocationCallSign(tQSL_Location loc, const char *buf)
char providerUnit[TQSL_NAME_ELEMENT_MAX+1]
Provider unit.
Definition: tqsllib.h:99
DLLEXPORT int CALLCONVENTION tqsl_setStationLocationCertFlags(tQSL_Location loc, int flags)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldIndex(tQSL_Location loc, int field_num, int *dat)
DLLEXPORT int CALLCONVENTION tqsl_clearCabrilloMap()
DLLEXPORT int CALLCONVENTION tqsl_encodeBase64(const unsigned char *data, int datalen, char *output, int outputlen)
DLLEXPORT int CALLCONVENTION tqsl_prevStationLocationCapture(tQSL_Location loc)
DLLEXPORT int CALLCONVENTION tqsl_selectCertificates(tQSL_Cert **certlist, int *ncerts, const char *callsign, int dxcc, const tQSL_Date *date, const TQSL_PROVIDER *issuer, int flag)
char * tQSL_StationDataEnc
Opaque station data type.
Definition: tqsllib.h:72
DLLEXPORT int CALLCONVENTION tqsl_selectCACertificates(tQSL_Cert **certlist, int *ncerts, const char *type)
DLLEXPORT int CALLCONVENTION tqsl_getNumBand(int *number)
DLLEXPORT int CALLCONVENTION tqsl_checkSigningStatus(tQSL_Cert cert)
DLLEXPORT int CALLCONVENTION tqsl_saveCallsignLocationInfo(const char *callsign, const char *json)
tQSL_Cert signer
Signing cert.
Definition: tqsllib.h:113
DLLEXPORT int CALLCONVENTION tqsl_getCertificatePrivateKeyType(tQSL_Cert cert)
DLLEXPORT const char *CALLCONVENTION tqsl_getErrorString()
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldChanged(tQSL_Location loc, int field_num, int *changed)
DLLEXPORTDATA long tQSL_ImportSerial
Serial number of recent certificate import.
DLLEXPORT int CALLCONVENTION tqsl_getStationLocationErrors(tQSL_Location loc, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getConfigVersion(int *major, int *minor)
DLLEXPORT const char *CALLCONVENTION tqsl_getErrorString_v(int err)
char providerName[TQSL_NAME_ELEMENT_MAX+1]
< Cert request data
Definition: tqsllib.h:98
tQSL_Time time
QSO time.
Definition: tqsllib.h:124
Definition: tqsllib.h:82
DLLEXPORT int CALLCONVENTION tqsl_getDXCCZoneMap(int number, const char **zonemap)
DLLEXPORT int CALLCONVENTION tqsl_getMaxSignatureSize(tQSL_Cert cert, int *sigsize)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateCallSign(tQSL_Cert cert, char *buf, int bufsiz)
DLLEXPORT void CALLCONVENTION tqsl_closeDiagFile(void)
char name[TQSL_CRQ_NAME_MAX+1]
Name.
Definition: tqsllib.h:101
tQSL_Date qsoNotBefore
QSOs not before date.
Definition: tqsllib.h:110
#define DLLEXPORTDATA
Symbol exports - Windows only.
Definition: tqsllib.h:26
char callSign[TQSL_CALLSIGN_MAX+1]
Callsign.
Definition: tqsllib.h:100
DLLEXPORT int CALLCONVENTION tqsl_getCertificateDXCCEntity(tQSL_Cert cert, int *dxcc)
bool mode_set
QSO specifies a mode.
Definition: tqsllib.h:131
DLLEXPORT int CALLCONVENTION tqsl_verifyDataBlock(tQSL_Cert cert, const unsigned char *data, int datalen, unsigned char *sig, int siglen)
DLLEXPORT int CALLCONVENTION tqsl_getStationLocationName(tQSL_Location loc, int idx, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataLength(tQSL_Location loc, int field_num, int *rval)
#define CALLCONVENTION
Symbol exports - Windows only.
Definition: tqsllib.h:27
char city[TQSL_CRQ_CITY_MAX+1]
City.
Definition: tqsllib.h:104
struct tqsl_cert_req_st TQSL_CERT_REQ
char password[TQSL_PASSWORD_MAX+1]
Password.
Definition: tqsllib.h:112
DLLEXPORT int CALLCONVENTION tqsl_initDate(tQSL_Date *date, const char *str)
DLLEXPORTDATA int tQSL_Errno
System errno - stored when tQSL_Error == TQSL_SYSTEM_ERROR.
#define TQSL_CALLSIGN_MAX
Max callsign length.
Definition: tqsllib.h:41
DLLEXPORT int CALLCONVENTION tqsl_mergeStationLocations(const char *locdata)
#define TQSL_PROPMODE_MAX
Max length of a prop mode.
Definition: tqsllib.h:53
DLLEXPORT int CALLCONVENTION tqsl_getCertificateIssuerOrganizationalUnit(tQSL_Cert cert, char *buf, int bufsiz)
DLLEXPORTDATA const char * tQSL_BaseDir
Base directory for tQSL library working files.
DLLEXPORTDATA TQSL_ADIF_GET_FIELD_ERROR tQSL_ADIF_Error
The ADIF error code.
char country[TQSL_CRQ_COUNTRY_MAX+1]
Country.
Definition: tqsllib.h:107
DLLEXPORT int CALLCONVENTION tqsl_nextStationLocationCapture(tQSL_Location loc)
DLLEXPORT int CALLCONVENTION tqsl_importKeyPairEncoded(const char *callsign, const char *type, const char *keybuf, const char *certbuf)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataLabel(tQSL_Location loc, int field_num, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateNotBeforeDate(tQSL_Cert cert, tQSL_Date *date)
DLLEXPORT int CALLCONVENTION tqsl_getNumStationLocationCapturePages(tQSL_Location loc, int *npages)
DLLEXPORT int CALLCONVENTION tqsl_endSigning(tQSL_Cert cert)
DLLEXPORT int CALLCONVENTION tqsl_getVersion(int *major, int *minor)
DLLEXPORT int CALLCONVENTION tqsl_setCertificateStatus(long serial, const char *status)
DLLEXPORT int CALLCONVENTION tqsl_getADIFMode(const char *adif_item, char *mode, int nmode)
DLLEXPORT int CALLCONVENTION tqsl_setCabrilloMapEntry(const char *contest, int field, int contest_type)
#define TQSL_CRQ_NAME_MAX
Max length of request name.
Definition: tqsllib.h:42
DLLEXPORT int CALLCONVENTION tqsl_clearADIFModes()
tQSL_Date date
QSO date.
Definition: tqsllib.h:123
DLLEXPORT int CALLCONVENTION tqsl_getNumLocationFieldListItems(tQSL_Location loc, int field_num, int *rval)
DLLEXPORT void CALLCONVENTION tqsl_freeDeletedLocationList(char **list, int nloc)
DLLEXPORT void CALLCONVENTION tqsl_freeCertificateList(tQSL_Cert *list, int ncerts)
DLLEXPORT int CALLCONVENTION tqsl_setLocationFieldIntData(tQSL_Location loc, int field_num, int dat)
DLLEXPORT const char *CALLCONVENTION tqsl_getGABBItCONTACTData(tQSL_Cert cert, tQSL_Location loc, TQSL_QSO_RECORD *qso, int stationuid, char *signdata, int sdlen)
tQSL_Date qsoNotAfter
QSOs not after date.
Definition: tqsllib.h:111
DLLEXPORT int CALLCONVENTION tqsl_getSatellite(int index, const char **name, const char **descrip, tQSL_Date *start, tQSL_Date *end)
DLLEXPORT int CALLCONVENTION tqsl_getStationLocationField(tQSL_Location locp, const char *name, char *namebuf, int bufsize)
#define TQSL_MODE_MAX
Max length of a mode name.
Definition: tqsllib.h:50
DLLEXPORT int CALLCONVENTION tqsl_getDXCCEntityName(int number, const char **name)
DLLEXPORT int CALLCONVENTION tqsl_importPKCS12Base64(const char *base64, const char *p12password, const char *password, int(*pwcb)(char *buf, int bufsiz, void *userdata), int(*cb)(int type, const char *message, void *userdata), void *user)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateNotAfterDate(tQSL_Cert cert, tQSL_Date *date)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateEmailAddress(tQSL_Cert cert, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_saveStationLocationCapture(tQSL_Location loc, int overwrite)
DLLEXPORT int CALLCONVENTION tqsl_getStationLocationCallSign(tQSL_Location loc, int idx, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getNumDXCCEntity(int *number)
DLLEXPORT int CALLCONVENTION tqsl_subtractDates(const tQSL_Date *a, const tQSL_Date *b, int *diff)
DLLEXPORT int CALLCONVENTION tqsl_getDeletedStationLocations(char ***locp, int *nloc)
char emailAddress[TQSL_CRQ_EMAIL_MAX+1]
e-mail
Definition: tqsllib.h:108
DLLEXPORT int CALLCONVENTION tqsl_signDataBlock(tQSL_Cert cert, const unsigned char *data, int datalen, unsigned char *sig, int *siglen)
DLLEXPORT int CALLCONVENTION tqsl_isTimeValid(const tQSL_Time *t)
DLLEXPORT const char *CALLCONVENTION tqsl_getGABBItSTATION(tQSL_Location loc, int uid, int certuid)
DLLEXPORT const char *CALLCONVENTION tqsl_getGABBItCERT(tQSL_Cert cert, int uid)
DLLEXPORTDATA char tQSL_ImportCall[256]
Callsign used in import - used for missing public key error.
DLLEXPORT int CALLCONVENTION tqsl_hasNextStationLocationCapture(tQSL_Location loc, int *rval)
DLLEXPORT int CALLCONVENTION tqsl_getProvider(int idx, TQSL_PROVIDER *provider)
#define DLLEXPORT
Symbol exports - Windows only.
Definition: tqsllib.h:25
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataGABBISize(tQSL_Location loc, int field_num, int *rval)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldFlags(tQSL_Location loc, int field_num, int *flags)
DLLEXPORT int CALLCONVENTION tqsl_restoreStationLocation(const char *name)
#define TQSL_CRQ_EMAIL_MAX
Max length of req email.
Definition: tqsllib.h:48
DLLEXPORT int CALLCONVENTION tqsl_getCertificateRequestCountry(tQSL_Cert cert, char *str, int bufsiz)
#define TQSL_FREQ_MAX
Max length of a frequency.
Definition: tqsllib.h:51
DLLEXPORT int CALLCONVENTION tqsl_getCertificateSerialLength(tQSL_Cert cert)
DLLEXPORT int CALLCONVENTION tqsl_signQSORecord(tQSL_Cert cert, tQSL_Location loc, TQSL_QSO_RECORD *rec, unsigned char *sig, int *siglen)
DLLEXPORT int CALLCONVENTION tqsl_exportPKCS12Base64(tQSL_Cert cert, char *base64, int b64len, const char *p12password)
char organizationalUnitName[TQSL_NAME_ELEMENT_MAX+1]
Provider unit.
Definition: tqsllib.h:91
DLLEXPORT int CALLCONVENTION tqsl_getNumMode(int *number)
int hour
Time hour field.
Definition: tqsllib.h:83
#define TQSL_SATNAME_MAX
Max length of a sat name.
Definition: tqsllib.h:52
Definition: tqsllib.h:75
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldDataLabelSize(tQSL_Location loc, int field_num, int *rval)
bool time_set
QSO specifies a time.
Definition: tqsllib.h:134
DLLEXPORT int CALLCONVENTION tqsl_compareDates(const tQSL_Date *a, const tQSL_Date *b)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateSerialExt(tQSL_Cert cert, char *serial, int serialsiz)
#define TQSL_CRQ_ADDR_MAX
Max length of request addr.
Definition: tqsllib.h:43
int day
Numeric day.
Definition: tqsllib.h:78
bool band_set
QSO specifies a band or frequency.
Definition: tqsllib.h:132
DLLEXPORT int CALLCONVENTION tqsl_getCertificateIssuer(tQSL_Cert cert, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getSerialFromTQSLFile(const char *file, long *serial)
DLLEXPORT int CALLCONVENTION tqsl_getLocationFieldIntData(tQSL_Location loc, int field_num, int *dat)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateQSONotAfterDate(tQSL_Cert cert, tQSL_Date *date)
char address2[TQSL_CRQ_ADDR_MAX+1]
Address 2.
Definition: tqsllib.h:103
DLLEXPORT int CALLCONVENTION tqsl_initTime(tQSL_Time *time, const char *str)
DLLEXPORT int CALLCONVENTION tqsl_beginSigning(tQSL_Cert cert, char *password, int(*pwcb)(char *pwbuf, int pwsize, void *userdata), void *user)
DLLEXPORT int CALLCONVENTION tqsl_getPropagationMode(int index, const char **name, const char **descrip)
struct tqsl_provider_st TQSL_PROVIDER
DLLEXPORT int CALLCONVENTION tqsl_getNumLocationField(tQSL_Location loc, int *numf)
Definition: tqsllib.h:97
DLLEXPORT int CALLCONVENTION tqsl_getMode(int index, const char **mode, const char **group)
DLLEXPORT int CALLCONVENTION tqsl_getBand(int index, const char **name, const char **spectrum, int *low, int *high)
DLLEXPORT int CALLCONVENTION tqsl_getCertificateEncoded(tQSL_Cert cert, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_getNumProviders(int *n)
DLLEXPORT int CALLCONVENTION tqsl_init()
DLLEXPORT int CALLCONVENTION tqsl_setADIFMode(const char *adif_item, const char *mode)
DLLEXPORT int CALLCONVENTION tqsl_isCertificateSuperceded(tQSL_Cert cert, int *status)
DLLEXPORT char *CALLCONVENTION tqsl_convertDateToText(const tQSL_Date *date, char *buf, int bufsiz)
DLLEXPORT int CALLCONVENTION tqsl_setStationLocationCapturePage(tQSL_Location loc, int page)