IDTech Universal SDK  1.0.35.027
API reference for C++
libIDT_VP3300_BT.h
Go to the documentation of this file.
1 #ifndef __LIBIDT_VP3300_BT_H___
2 # define __LIBIDT_VP3300_BT_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 
69 typedef void (* pRKI_callBack)(int,
70  char *);
71 
83 typedef void (* ftpComm_callBack)(int, int, int);
84 
89 typedef void (* httpComm_callBack)(BYTE *, int);
90 
97 typedef void (* v4Comm_callBack)(BYTE, BYTE, BYTE *, int);
98 
99 
100 # ifdef __cplusplus
101 extern "C" {
102 # endif
103 
107 void
109 
113 void
115 
120 void
122 
126 void
128 
132 void
134 
138 void
140 
144 void
146 
150 void
152 
156 void
158 
162 void
164 
168 void
170 
176 void
178 
184 void
186 
191 char *
192 SDK_Version();
193 
202 int
203 setAbsoluteLibraryPath(const char * absoluteLibraryPath);
204 
212 int
213 device_init();
214 
256 int
257 device_setCurrentDevice(int deviceType);
258 
264 int
265 device_close();
266 
267 
327 void
328 device_getIDGStatusCodeString(IN int returnCode, OUT char * despcrition);
329 
330 
335 int
337 
344 int
345 device_isAttached(int deviceType);
346 
357 int
358 device_getFirmwareVersion(OUT char * firmwareVersion);
359 
369 int
370 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
371 
380 int
382 
425 int
426 device_controlUserInterface(IN BYTE * values);
427 
433 int
435 
436 
438 // * Send a Command to device
439 // *
440 // * Sends a command to the device .
441 // *
442 // * @param cmd buffer of command to execute.
443 // * @param cmdLen, the length of the buffer cmd.
444 // *
445 // * @param data buffer of IDG command data.
446 // * @param dataLen, the length of the buffer data.
447 // *
448 // * @param response Response data
449 // * @param respLen, the length of Response data
450 //
451 // * @return RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()
452 // */
453 //
454 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, IN BYTE* data, IN int dataLen, OUT BYTE* response, IN_OUT int *respLen);
455 
472 int
473 device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE * data, IN int dataLen, OUT BYTE * response,
474  IN_OUT int * respLen);
475 
486 int
487 device_enablePassThrough(int enablePassThrough);
488 
499 int
500 device_setBurstMode(IN BYTE mode);
501 
511 int
512 device_setPollMode(IN BYTE mode);
513 
526 int
527 device_setMerchantRecord(int index, int enabled, char * merchantID, char * merchantURL);
528 
550 int
551 device_getMerchantRecord(IN int index,
552  OUT BYTE * record);
553 
574 int
576  OUT BYTE * record, IN_OUT int * recordLen);
577 
587 int
588 device_getTransactionResults(IDTMSRData * cardData);
589 
647 int
648 device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
649  IN int tagsLen);
650 
655 void
656 device_setTransactionExponent(int exponent);
657 
712 int
713 device_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
714 
720 int
722 
737 int
738 device_getRTCDateTime(IN BYTE * dateTime, IN_OUT int * dateTimeLen);
739 
753 int
754 device_setRTCDateTime(IN BYTE * dateTime, IN int dateTimeLen);
755 
765 int
766 device_startRKI(const char * caPath, int isProduction);
767 
776 int
778 
788 void
789 device_setSDKWaitTime(int waitTime);
790 
799 int
801 
809 void
810 device_setThreadStackSize(int threadSize);
811 
822 int
823 config_getSerialNumber(OUT char * sNumber);
824 
834 int
835 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
836 
894 int
895 ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
896  IN int tagsLen);
897 
898 
953 int
954 ctls_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
955 
956 
967 int
969 
970 
983 int
984 ctls_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
985 
1001 int
1002 ctls_setApplicationData(IN BYTE * tlv, IN int tlvLen);
1003 
1013 int
1014 ctls_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1015 
1025 int
1027 
1039 int
1040 ctls_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1041 
1055 int
1056 ctls_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1057 
1072 int
1073 ctls_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1074 
1096 int
1097 ctls_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1098 
1117 int
1118 ctls_setCAPK(IN BYTE * capk, IN int capkLen);
1119 
1130 int
1131 ctls_removeCAPK(IN BYTE * capk, IN int capkLen);
1132 
1141 int
1143 
1154 int
1155 ctls_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1156 
1172 int
1173 ctls_setConfigurationGroup(IN BYTE * tlv, IN int tlvLen);
1174 
1189 int
1190 ctls_getConfigurationGroup(IN int group, OUT BYTE * tlv, OUT int * tlvLen);
1191 
1204 int
1205 ctls_getAllConfigurationGroups(OUT BYTE * tlv, IN_OUT int * tlvLen);
1206 
1217 int
1219 
1220 
1225 void
1226 emv_allowFallback(IN int allow);
1227 
1233 void
1234 emv_setAutoAuthenticateTransaction(IN int authenticate);
1235 
1241 void
1242 emv_setAutoCompleteTransaction(IN int complete);
1243 
1248 int
1250 
1255 int
1257 
1276 void
1277 emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE * tags,
1278  IN int tagsLen);
1279 
1301 int
1302 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
1303  IN int tagsLen, IN int forceOnline);
1304 
1305 
1324 int
1325 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
1326 
1343 int
1344 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
1345 
1363 int
1364 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
1365 
1385 int
1386 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
1387  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
1388 
1395 int
1397 
1410 int
1411 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1412 
1425 int
1426 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
1427 
1440 int
1441 emv_setApplicationDataTLV(IN BYTE * tlv, IN int tlvLen);
1442 
1452 int
1453 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1454 
1464 int
1466 
1478 int
1479 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1480 
1494 int
1495 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1496 
1511 int
1512 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1513 
1527 int
1528 emv_setTerminalMajorConfiguration(IN int configuration);
1529 
1551 int
1552 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1553 
1572 int
1573 emv_setCAPK(IN BYTE * capk, IN int capkLen);
1574 
1585 int
1586 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
1587 
1596 int
1598 
1609 int
1610 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1611 
1622 int
1623 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
1624 
1637 int
1638 emv_setCRL(IN BYTE * list, IN int lsLen);
1639 
1650 int
1651 emv_removeCRL(IN BYTE * list, IN int lsLen);
1652 
1662 int
1664 
1675 int
1676 icc_getICCReaderStatus(OUT BYTE * status);
1677 
1687 int
1688 icc_powerOnICC(OUT BYTE * ATR,
1689  IN_OUT int * inLen);
1690 
1701 int
1702 icc_powerOffICC();
1703 
1718 int
1719 icc_exchangeAPDU(IN BYTE * c_APDU,
1720  IN int cLen,
1721  OUT BYTE * reData,
1722  IN_OUT int * reLen);
1723 
1729 int
1731 
1739 int
1740 msr_startMSRSwipe(IN int _timeout);
1741 
1742 
1743 int
1744 msr_startMSRSwipe(IN int _timeout);
1745 
1746 
1760 int
1761 executeTransaction(WorldPayData * data, pWP_callBack wpCallback, int requestOnly);
1762 
1767 int
1768 cancelWorldPay();
1769 
1776 void
1777 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1778 
1779 # ifdef __cplusplus
1780 }
1781 # endif
1782 
1783 
1784 #endif // ifndef __LIBIDT_VP3300_BT_H___
1785 
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 ctls_registerCallBk(pMSR_callBack pCTLSf)
int device_close()
void(* httpComm_callBack)(BYTE *, int)
Definition: libIDT_VP3300_BT.h:89
int emv_removeApplicationData(IN BYTE *AID, IN int AIDLen)
int ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen)
int emv_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
int ctls_setApplicationData(IN BYTE *tlv, IN int tlvLen)
int ctls_setCAPK(IN BYTE *capk, IN int capkLen)
#define IN_OUT
int ctls_setTerminalData(IN BYTE *tlv, IN int tlvLen)
void device_setTransactionExponent(int exponent)
void device_setThreadStackSize(int threadSize)
int emv_cancelTransaction()
int device_getCurrentDeviceType()
void emv_allowFallback(IN int allow)
int msr_startMSRSwipe(IN int _timeout)
int emv_removeAllApplicationData()
int emv_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
int ctls_removeAllCAPK()
int ctls_getConfigurationGroup(IN int group, OUT BYTE *tlv, OUT int *tlvLen)
int device_startRKI(const char *caPath, int isProduction)
void(* pMSR_callBackp)(int, IDTMSRData *)
Definition: libIDT_VP3300_BT.h:45
char * SDK_Version()
void device_registerCardStatusFrontSwitchCallBk(pCSFS_callBack pCSFSf)
void(* pReadDataLog)(BYTE *, int)
Definition: libIDT_VP3300_BT.h:27
void device_registerRKICallBk(pRKI_callBack pRKIf)
void comm_registerV4Callback(v4Comm_callBack cBack)
int msr_cancelMSRSwipe()
int icc_powerOnICC(OUT BYTE *ATR, IN_OUT int *inLen)
void emv_setAutoAuthenticateTransaction(IN int authenticate)
int device_init()
int device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen)
void(* ftpComm_callBack)(int, int, int)
Definition: libIDT_VP3300_BT.h:83
int executeTransaction(WorldPayData *data, pWP_callBack wpCallback, int requestOnly)
int ctls_setConfigurationGroup(IN BYTE *tlv, IN int tlvLen)
void(* pPIN_callBack)(int, IDTPINData *)
Definition: libIDT_VP3300_BT.h:51
int ctls_removeAllApplicationData()
void(* pMessageHotplug)(int, int)
Definition: libIDT_VP3300_BT.h:15
int emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE *updatedTLV, IN int updatedTLVLen)
int device_setRTCDateTime(IN BYTE *dateTime, IN int dateTimeLen)
void emv_setAutoCompleteTransaction(IN int complete)
int ctls_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
void registerHotplugCallBk(pMessageHotplug pMsgHotplug)
int config_getSerialNumber_Len(OUT char *sNumber, IN_OUT int *sNumberLen)
int ctls_removeConfigurationGroup(int group)
int device_setPollMode(IN BYTE mode)
void(* pSendDataLog)(BYTE *, int)
Definition: libIDT_VP3300_BT.h:21
int icc_exchangeAPDU(IN BYTE *c_APDU, IN int cLen, OUT BYTE *reData, IN_OUT int *reLen)
void ctls_registerCallBkp(pMSR_callBackp pCTLSf)
int emv_getAutoCompleteTransaction()
#define OUT
int ctls_removeApplicationData(IN BYTE *AID, IN int AIDLen)
void pin_registerCallBk(pPIN_callBack pPINf)
int device_getRTCDateTime(IN BYTE *dateTime, IN_OUT int *dateTimeLen)
void(* pEMV_callBack)(int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int)
Definition: libIDT_VP3300_BT.h:33
int setAbsoluteLibraryPath(const char *absoluteLibraryPath)
int device_getFirmwareVersion_Len(OUT char *firmwareVersion, IN_OUT int *firmwareVersionLen)
int emv_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
int device_getFirmwareVersion(OUT char *firmwareVersion)
int ctls_cancelTransaction()
void device_setSDKWaitTime(int waitTime)
int cancelWorldPay()
int emv_setCAPK(IN BYTE *capk, IN int capkLen)
void device_registerCameraCallBk(pCMR_callBack pCMRf)
int emv_setApplicationData(IN BYTE *name, IN int nameLen, IN BYTE *tlv, IN int tlvLen)
int device_getThreadStackSize()
int emv_setApplicationDataTLV(IN BYTE *tlv, IN int tlvLen)
int ctls_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
void device_getIDGStatusCodeString(IN int returnCode, OUT char *despcrition)
void(* v4Comm_callBack)(BYTE, BYTE, BYTE *, int)
Definition: libIDT_VP3300_BT.h:97
int device_getSDKWaitTime()
void parseMSRData(IN BYTE *resData, IN int resLen, IN_OUT IDTMSRData *cardData)
int emv_authenticateTransaction(IN BYTE *updatedTLV, IN int updatedTLVLen)
int ctls_removeCAPK(IN BYTE *capk, IN int capkLen)
void(* pRKI_callBack)(int, char *)
Definition: libIDT_VP3300_BT.h:69
void registerLogCallBk(pSendDataLog pFSend, pReadDataLog pFRead)
void(* pWP_callBack)(char *, int, int)
Definition: libIDT_Device.h:53
int device_getTransactionResults(IDTMSRData *cardData)
int emv_getAutoAuthenticateTransaction()
int emv_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
int ctls_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
int emv_removeCRL(IN BYTE *list, IN int lsLen)
int emv_removeAllCAPK()
int ctls_activateTransaction(IN const int _timeout, IN BYTE *tags, IN int tagsLen)
int ctls_getAllConfigurationGroups(OUT BYTE *tlv, IN_OUT int *tlvLen)
int config_getSerialNumber(OUT char *sNumber)
void msr_registerCallBk(pMSR_callBack pMSRf)
int emv_setTerminalMajorConfiguration(IN int configuration)
int device_controlUserInterface(IN BYTE *values)
int emv_activateTransaction(IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline)
int icc_getICCReaderStatus(OUT BYTE *status)
void emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE *tags, IN int tagsLen)
int emv_setTerminalData(IN BYTE *tlv, IN int tlvLen)
void comm_registerHTTPCallback(httpComm_callBack cBack)
int device_getMerchantRecord_Len(IN int index, OUT BYTE *record, IN_OUT int *recordLen)
#define IN
int ctls_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
void(* pCSFS_callBack)(BYTE status)
Definition: libIDT_VP3300_BT.h:63
int icc_powerOffICC()
void(* pCMR_callBack)(int, IDTCMRData *)
Definition: libIDT_VP3300_BT.h:57
int emv_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
int device_setCurrentDevice(int deviceType)
int emv_removeCAPK(IN BYTE *capk, IN int capkLen)
int device_setMerchantRecord(int index, int enabled, char *merchantID, char *merchantURL)
int device_pingDevice()
int device_activateTransaction(IN const int _timeout, IN BYTE *tags, IN int tagsLen)
int device_isConnected()
int device_isAttached(int deviceType)
int ctls_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
int emv_retrieveCRL(OUT BYTE *list, IN_OUT int *lssLen)
void emv_registerCallBk(pEMV_callBack pEMVf)
int device_setBurstMode(IN BYTE mode)
int device_enablePassThrough(int enablePassThrough)
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)
void msr_registerCallBkp(pMSR_callBackp pMSRf)
int device_cancelTransaction()
int emv_setCRL(IN BYTE *list, IN int lsLen)
int device_getMerchantRecord(IN int index, OUT BYTE *record)
void(* pMSR_callBack)(int, IDTMSRData)
Definition: libIDT_VP3300_BT.h:39
int emv_removeAllCRL()
int device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen)