14 #if defined(_WIN32) && !defined(TQSL_NODLL)
16 #define DLLEXPORT __declspec(dllexport)
17 #define DLLEXPORTDATA __declspec(dllexport)
18 #define CALLCONVENTION __stdcall
20 #define DLLEXPORT __declspec(dllimport)
21 #define DLLEXPORTDATA __declspec(dllimport)
22 #define CALLCONVENTION __stdcall
27 #define CALLCONVENTION
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 6
53 #define TQSL_PROPMODE_MAX 6
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)
70 typedef void * tQSL_Cert;
71 typedef void * tQSL_Location;
89 char organizationName[TQSL_NAME_ELEMENT_MAX+1];
90 char organizationalUnitName[TQSL_NAME_ELEMENT_MAX+1];
91 char emailAddress[TQSL_NAME_ELEMENT_MAX+1];
92 char url[TQSL_NAME_ELEMENT_MAX+1];
97 char providerName[TQSL_NAME_ELEMENT_MAX+1];
98 char providerUnit[TQSL_NAME_ELEMENT_MAX+1];
99 char callSign[TQSL_CALLSIGN_MAX+1];
100 char name[TQSL_CRQ_NAME_MAX+1];
101 char address1[TQSL_CRQ_ADDR_MAX+1];
102 char address2[TQSL_CRQ_ADDR_MAX+1];
103 char city[TQSL_CRQ_CITY_MAX+1];
104 char state[TQSL_CRQ_STATE_MAX+1];
105 char postalCode[TQSL_CRQ_POSTAL_MAX+1];
106 char country[TQSL_CRQ_COUNTRY_MAX+1];
107 char emailAddress[TQSL_CRQ_EMAIL_MAX+1];
111 char password[TQSL_PASSWORD_MAX+1];
118 char callsign[TQSL_CALLSIGN_MAX+1];
119 char band[TQSL_BAND_MAX+1];
120 char mode[TQSL_MODE_MAX+1];
123 char freq[TQSL_FREQ_MAX+1];
124 char rxfreq[TQSL_FREQ_MAX+1];
125 char rxband[TQSL_BAND_MAX+1];
126 char propmode[TQSL_PROPMODE_MAX+1];
127 char satname[TQSL_SATNAME_MAX+1];
160 DLLEXPORT
int CALLCONVENTION
tqsl_init();
191 DLLEXPORT
int CALLCONVENTION
tqsl_encodeBase64(
const unsigned char *data,
int datalen,
char *output,
int outputlen);
201 DLLEXPORT
int CALLCONVENTION
tqsl_decodeBase64(
const char *input,
unsigned char *data,
int *datalen);
296 #define TQSL_SELECT_CERT_WITHKEYS 1
297 #define TQSL_SELECT_CERT_EXPIRED 2
298 #define TQSL_SELECT_CERT_SUPERCEDED 4
546 #define TQSL_PK_TYPE_ERR 0
547 #define TQSL_PK_TYPE_NONE 1
548 #define TQSL_PK_TYPE_UNENC 2
549 #define TQSL_PK_TYPE_ENC 3
592 DLLEXPORT
int CALLCONVENTION
tqsl_importTQSLFile(
const char *file,
int(*cb)(
int type,
const char *message,
void *userdata),
void *user);
627 int(*pwcb)(
char *pwbuf,
int pwsize,
void *userdata),
void *user);
636 DLLEXPORT
int CALLCONVENTION
tqsl_exportPKCS12File(tQSL_Cert cert,
const char *filename,
const char *p12password);
640 DLLEXPORT
int CALLCONVENTION
tqsl_importPKCS12File(
const char *filename,
const char *p12password,
const char *password,
641 int (*pwcb)(
char *buf,
int bufsiz,
void *userdata),
int(*cb)(
int type ,
const char *message,
void *userdata),
void *user);
669 DLLEXPORT
int CALLCONVENTION
tqsl_beginSigning(tQSL_Cert cert,
char *password,
int(*pwcb)(
char *pwbuf,
int pwsize,
void *userdata),
void *user);
688 DLLEXPORT
int CALLCONVENTION
tqsl_signDataBlock(tQSL_Cert cert,
const unsigned char *data,
int datalen,
unsigned char *sig,
int *siglen);
694 DLLEXPORT
int CALLCONVENTION
tqsl_verifyDataBlock(tQSL_Cert cert,
const unsigned char *data,
int datalen,
unsigned char *sig,
int siglen);
817 #define TQSL_LOCATION_FIELD_TEXT 1
818 #define TQSL_LOCATION_FIELD_DDLIST 2
819 #define TQSL_LOCATION_FIELD_LIST 3
820 #define TQSL_LOCATION_FIELD_BADZONE 4 // Used to return zone selection errors
823 #define TQSL_LOCATION_FIELD_CHAR 1
824 #define TQSL_LOCATION_FIELD_INT 2
1005 DLLEXPORT
int CALLCONVENTION
tqsl_getDXCCEntity(
int index,
int *number,
const char **name);
1027 DLLEXPORT
int CALLCONVENTION
tqsl_getBand(
int index,
const char **name,
const char **spectrum,
int *low,
int *high);
1039 DLLEXPORT
int CALLCONVENTION
tqsl_getMode(
int index,
const char **mode,
const char **group);
1065 DLLEXPORT
int CALLCONVENTION
tqsl_getSatellite(
int index,
const char **name,
const char **descrip,
1103 DLLEXPORT
int CALLCONVENTION
tqsl_setADIFMode(
const char *adif_item,
const char *mode);
1107 DLLEXPORT
int CALLCONVENTION
tqsl_getADIFMode(
const char *adif_item,
char *mode,
int nmode);
1130 DLLEXPORT
const char* CALLCONVENTION
tqsl_getGABBItSTATION(tQSL_Location loc,
int uid,
int certuid);
1146 DLLEXPORT
const char* CALLCONVENTION tqsl_getGABBItCONTACTData(tQSL_Cert cert, tQSL_Location loc,
TQSL_QSO_RECORD *qso,
1147 int stationuid,
char *signdata,
int sdlen);
1156 #define TQSL_MAX_PW_LENGTH 32