IDTech Universal SDK  1.0.35.027
API reference for C++
libIDT_SpectrumPro.h
Go to the documentation of this file.
1 #ifndef __LIBIDT_SPECTRUMPRO_H___
2 # define __LIBIDT_SPECTRUMPRO_H___
3 
4 
5 # define IN
6 # define OUT
7 # define IN_OUT
8 # include "IDTDef.h"
9 
15 typedef void (* pMessageHotplug)(int, int);
16 
21 typedef void (* pSendDataLog)(BYTE *, int);
22 
27 typedef void (* pReadDataLog)(BYTE *, int);
28 
33 typedef void (* pEMV_callBack)(int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int);
34 
39 typedef void (* pMSR_callBack)(int, IDTMSRData);
40 
45 typedef void (* pMSR_callBackp)(int, IDTMSRData *);
46 
51 typedef void (* pPIN_callBack)(int, IDTPINData *);
52 
57 typedef void (* pCMR_callBack)(int, IDTCMRData *);
58 
63 typedef void (* pCSFS_callBack)(BYTE status);
64 
75 typedef void (* ftpComm_callBack)(int, int, int);
76 
88 typedef void (* ftpComm_callBack)(int, int, int);
89 
94 typedef void (* httpComm_callBack)(BYTE *, int);
95 
102 typedef void (* v4Comm_callBack)(BYTE, BYTE, BYTE *, int);
103 
104 
105 # ifdef __cplusplus
106 extern "C" {
107 # endif
108 
112 void
114 
118 void
120 
124 void
126 
130 void
132 
136 void
138 
142 void
144 
148 void
150 
154 void
156 
161 char *
162 SDK_Version();
163 
172 int
173 setAbsoluteLibraryPath(const char * absoluteLibraryPath);
174 
182 int
183 device_init();
184 
235 int
236 rs232_device_init(int deviceType, int port_number, int brate);
237 
279 int
280 device_setCurrentDevice(int deviceType);
281 
287 int
288 device_close();
289 
648 void
649 device_getResponseCodeString(IN int returnCode, OUT char * despcrition);
650 
655 int
657 
664 int
665 device_isAttached(int deviceType);
666 
677 int
678 device_getFirmwareVersion(OUT char * firmwareVersion);
679 
689 int
690 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
691 
697 int
699 
717 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, OUT BYTE* response, IN_OUT int *respLen);
718 int
719 device_SendDataCommand(IN BYTE * cmd, IN int cmdLen, IN BYTE * data, IN int dataLen, OUT BYTE * response,
720  IN_OUT int * respLen);
721 
731 int
733 
760 int
761 device_updateFirmware(IN BYTE * firmwareData, IN int firmwareDataLen, IN char * firmwareName, IN int encryptionType,
762  IN BYTE * keyBlob, IN int keyBlobLen);
763 
774 int
775 config_getModelNumber(OUT char * sNumber);
776 
786 int
787 config_getModelNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
788 
799 int
800 config_getSerialNumber(OUT char * sNumber);
801 
811 int
812 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
813 
877 int
878 device_pollCardReader(OUT BYTE * status);
879 
943 int
944 device_pollCardReader_Len(OUT BYTE * status, IN_OUT int * statusLen);
945 
965 int
967  OUT BYTE * KSN);
968 
987 int
989  OUT BYTE * KSN, IN_OUT int * KSNLen);
990 
999 int
1001 
1011 void
1012 device_setSDKWaitTime(int waitTime);
1013 
1022 int
1024 
1032 void
1033 device_setThreadStackSize(int threadSize);
1034 
1044 int
1045 icc_powerOnICC(OUT BYTE * ATR, IN_OUT int * inLen);
1046 
1057 int
1058 icc_powerOffICC();
1059 
1069 int
1070 icc_getICCReaderStatus(OUT BYTE * status);
1071 
1082 int
1083 emv_getEMVKernelVersion(OUT char * version);
1084 
1095 int
1096 emv_getEMVKernelVersion_Len(OUT char * version, IN_OUT int * versionLen);
1097 
1107 int
1108 emv_getEMVKernelCheckValue(OUT BYTE * checkValue, IN_OUT int * checkValueLen);
1109 
1115 void
1116 emv_setAutoAuthenticateTransaction(IN int authenticate);
1117 
1123 void
1124 emv_setAutoCompleteTransaction(IN int complete);
1125 
1130 int
1132 
1137 int
1139 
1148 int
1149 emv_getEMVConfigurationCheckValue(OUT BYTE * checkValue, IN_OUT int * checkValueLen);
1150 
1155 void
1156 emv_allowFallback(IN int allow);
1157 
1179 int
1180 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
1181  IN int tagsLen, IN int forceOnline);
1182 
1201 int
1202 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
1203 
1220 int
1221 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
1222 
1240 int
1241 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
1242 
1262 int
1263 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
1264  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
1265 
1272 int
1274 
1288 int
1289 emv_retrieveTransactionResult(IN BYTE * tags, IN int tagsLen, IDTTransactionData * cardData);
1290 
1306 int
1307 emv_callbackResponseLCD(IN int type, byte selection);
1308 
1320 int
1321 emv_callbackResponseMSR(IN BYTE * MSR, IN_OUT int MSRLen);
1322 
1335 int
1336 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1337 
1350 int
1351 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
1352 
1362 int
1363 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1364 
1374 int
1376 
1388 int
1389 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1390 
1402 int
1403 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1404 
1416 int
1417 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1418 
1427 int
1429 
1450 int
1451 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1452 
1471 int
1472 emv_setCAPK(IN BYTE * capk, IN int capkLen);
1473 
1484 int
1485 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
1486 
1495 int
1497 
1508 int
1509 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1510 
1519 int
1520 emv_retrieveTerminalID(OUT char * terminalID);
1521 
1530 int
1531 emv_retrieveTerminalID_Len(OUT char * terminalID, IN_OUT int * terminalIDLen);
1532 
1539 int
1540 emv_setTerminalID(IN char * terminalID);
1541 
1552 int
1553 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
1554 
1567 int
1568 emv_setCRL(IN BYTE * list, IN int lsLen);
1569 
1580 int
1581 emv_removeCRL(IN BYTE * list, IN int lsLen);
1582 
1592 int
1594 
1600 int
1602 
1610 int
1611 msr_getMSRData(OUT BYTE * reData, IN_OUT int * reLen);
1612 
1618 int
1620 
1627 int
1628 msr_startMSRSwipe(IN int _timeout);
1629 
1636 void
1637 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1638 
1660 int
1661 pin_getPIN(IN int mode, IN int PANSource, IN char * iccPAN, IN int IN iccPANLen, int startTimeout, IN int entryTimeout,
1662  IN char * language, IN int languageLen);
1663 
1671 int
1673 
1680 void
1681 parsePINBlockData(IN BYTE * resData, IN int resLen, IN_OUT IDTPINData * cardData);
1682 
1689 void
1690 parsePINData(IN BYTE * resData, IN int resLen, IN_OUT IDTPINData * cardData);
1691 
1692 # ifdef __cplusplus
1693 }
1694 # endif
1695 
1696 
1697 #endif // ifndef __LIBIDT_SPECTRUMPRO_H___
1698 
int device_getThreadStackSize()
void parseMSRData(IN BYTE *resData, IN int resLen, IN_OUT IDTMSRData *cardData)
int device_isAttached(int deviceType)
void device_getResponseCodeString(IN int returnCode, OUT char *despcrition)
int emv_removeApplicationData(IN BYTE *AID, IN int AIDLen)
void(* pMessageHotplug)(int, int)
Definition: libIDT_SpectrumPro.h:15
int emv_removeAllCRL()
int msr_clearMSRData()
#define IN
void registerLogCallBk(pSendDataLog pFSend, pReadDataLog pFRead)
int emv_callbackResponseLCD(IN int type, byte selection)
void(* pMSR_callBackp)(int, IDTMSRData *)
Definition: libIDT_SpectrumPro.h:45
int emv_setCAPK(IN BYTE *capk, IN int capkLen)
void(* pCSFS_callBack)(BYTE status)
Definition: libIDT_SpectrumPro.h:63
int emv_setCRL(IN BYTE *list, IN int lsLen)
void(* pCMR_callBack)(int, IDTCMRData *)
Definition: libIDT_SpectrumPro.h:57
void pin_registerCallBk(pPIN_callBack pPINf)
int emv_activateTransaction(IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline)
void parsePINBlockData(IN BYTE *resData, IN int resLen, IN_OUT IDTPINData *cardData)
void(* pSendDataLog)(BYTE *, int)
Definition: libIDT_SpectrumPro.h:21
void(* pPIN_callBack)(int, IDTPINData *)
Definition: libIDT_SpectrumPro.h:51
int emv_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
int emv_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
int device_pollCardReader(OUT BYTE *status)
#define OUT
int msr_cancelMSRSwipe()
int device_pollCardReader_Len(OUT BYTE *status, IN_OUT int *statusLen)
int icc_powerOnICC(OUT BYTE *ATR, IN_OUT int *inLen)
int emv_removeAllCAPK()
int device_getSpectrumProKSN_Len(IN int type, OUT BYTE *KSN, IN_OUT int *KSNLen)
int emv_completeTransaction(IN int commError, IN BYTE *authCode, IN int authCodeLen, IN BYTE *iad, IN int iadLen, IN BYTE *tlvScripts, IN int tlvScriptsLen, IN BYTE *tlv, IN int tlvLen)
char * SDK_Version()
void emv_setAutoCompleteTransaction(IN int complete)
int device_getFirmwareVersion(OUT char *firmwareVersion)
int emv_setApplicationData(IN BYTE *name, IN int nameLen, IN BYTE *tlv, IN int tlvLen)
int config_getSerialNumber(OUT char *sNumber)
void device_registerCameraCallBk(pCMR_callBack pCMRf)
int config_getModelNumber_Len(OUT char *sNumber, IN_OUT int *sNumberLen)
int device_getFirmwareVersion_Len(OUT char *firmwareVersion, IN_OUT int *firmwareVersionLen)
void msr_registerCallBk(pMSR_callBack pMSRf)
int emv_retrieveTerminalID(OUT char *terminalID)
int pin_cancelPINEntry()
void emv_allowFallback(IN int allow)
int emv_getAutoCompleteTransaction()
int emv_retrieveCRL(OUT BYTE *list, IN_OUT int *lssLen)
int device_init()
int emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE *updatedTLV, IN int updatedTLVLen)
int device_updateFirmware(IN BYTE *firmwareData, IN int firmwareDataLen, IN char *firmwareName, IN int encryptionType, IN BYTE *keyBlob, IN int keyBlobLen)
int emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline)
void registerHotplugCallBk(pMessageHotplug pMsgHotplug)
int emv_getAutoAuthenticateTransaction()
void parsePINData(IN BYTE *resData, IN int resLen, IN_OUT IDTPINData *cardData)
int emv_getEMVKernelCheckValue(OUT BYTE *checkValue, IN_OUT int *checkValueLen)
void msr_registerCallBkp(pMSR_callBackp pMSRf)
int emv_retrieveTransactionResult(IN BYTE *tags, IN int tagsLen, IDTTransactionData *cardData)
void(* pReadDataLog)(BYTE *, int)
Definition: libIDT_SpectrumPro.h:27
int device_isConnected()
int setAbsoluteLibraryPath(const char *absoluteLibraryPath)
int emv_getEMVKernelVersion(OUT char *version)
int device_getSpectrumProKSN(IN int type, OUT BYTE *KSN)
int device_getCurrentDeviceType()
int emv_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
void device_setSDKWaitTime(int waitTime)
void device_setThreadStackSize(int threadSize)
void(* v4Comm_callBack)(BYTE, BYTE, BYTE *, int)
Definition: libIDT_SpectrumPro.h:102
int device_setCurrentDevice(int deviceType)
void emv_setAutoAuthenticateTransaction(IN int authenticate)
int device_close()
int device_getSDKWaitTime()
int device_rebootDevice()
void device_registerCardStatusFrontSwitchCallBk(pCSFS_callBack pCSFSf)
int msr_startMSRSwipe(IN int _timeout)
int pin_getPIN(IN int mode, IN int PANSource, IN char *iccPAN, IN int IN iccPANLen, int startTimeout, IN int entryTimeout, IN char *language, IN int languageLen)
void(* httpComm_callBack)(BYTE *, int)
Definition: libIDT_SpectrumPro.h:94
int config_getSerialNumber_Len(OUT char *sNumber, IN_OUT int *sNumberLen)
int config_getModelNumber(OUT char *sNumber)
int emv_removeCAPK(IN BYTE *capk, IN int capkLen)
int emv_removeTerminalData()
int device_SendDataCommand(IN BYTE *cmd, IN int cmdLen, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen)
int emv_getEMVKernelVersion_Len(OUT char *version, IN_OUT int *versionLen)
int emv_callbackResponseMSR(IN BYTE *MSR, IN_OUT int MSRLen)
int emv_removeCRL(IN BYTE *list, IN int lsLen)
int emv_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
void(* pEMV_callBack)(int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int)
Definition: libIDT_SpectrumPro.h:33
int emv_getEMVConfigurationCheckValue(OUT BYTE *checkValue, IN_OUT int *checkValueLen)
int msr_getMSRData(OUT BYTE *reData, IN_OUT int *reLen)
int emv_setTerminalID(IN char *terminalID)
int icc_powerOffICC()
#define IN_OUT
int rs232_device_init(int deviceType, int port_number, int brate)
int emv_authenticateTransaction(IN BYTE *updatedTLV, IN int updatedTLVLen)
int emv_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
void emv_registerCallBk(pEMV_callBack pEMVf)
int emv_retrieveTerminalID_Len(OUT char *terminalID, IN_OUT int *terminalIDLen)
int emv_setTerminalData(IN BYTE *tlv, IN int tlvLen)
void(* ftpComm_callBack)(int, int, int)
Definition: libIDT_SpectrumPro.h:75
int icc_getICCReaderStatus(OUT BYTE *status)
void(* pMSR_callBack)(int, IDTMSRData)
Definition: libIDT_SpectrumPro.h:39
int emv_cancelTransaction()
int emv_removeAllApplicationData()