IDTech Universal SDK  1.0.35.036
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 
103 typedef void (* pWP_callBack)(char *,
104  int,
105  int);
106 
111 typedef void (* pWN_callBack)(char *,
112  int,
113  int);
114 
115 
116 # ifdef __cplusplus
117 extern "C" {
118 # endif
119 
123 void
125 
129 void
131 
136 void
138 
142 void
144 
148 void
150 
154 void
156 
160 void
162 
166 void
168 
172 void
174 
178 void
180 
184 void
186 
192 void
194 
200 void
202 
207 char *
208 SDK_Version();
209 
218 int
219 setAbsoluteLibraryPath(const char * absoluteLibraryPath);
220 
228 int
229 device_init();
230 
273 int
274 device_setCurrentDevice(int deviceType);
275 
281 int
282 device_close();
283 
284 
344 void
345 device_getIDGStatusCodeString(IN int returnCode, OUT char * despcrition);
346 
347 
352 int
354 
361 int
362 device_isAttached(int deviceType);
363 
374 int
375 device_getFirmwareVersion(OUT char * firmwareVersion);
376 
386 int
387 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
388 
397 int
399 
442 int
443 device_controlUserInterface(IN BYTE * values);
444 
450 int
452 
453 
455 // * Send a Command to device
456 // *
457 // * Sends a command to the device .
458 // *
459 // * @param cmd buffer of command to execute.
460 // * @param cmdLen, the length of the buffer cmd.
461 // *
462 // * @param data buffer of IDG command data.
463 // * @param dataLen, the length of the buffer data.
464 // *
465 // * @param response Response data
466 // * @param respLen, the length of Response data
467 //
468 // * @return RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()
469 // */
470 //
471 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, IN BYTE* data, IN int dataLen, OUT BYTE* response, IN_OUT int *respLen);
472 
489 int
490 device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE * data, IN int dataLen, OUT BYTE * response,
491  IN_OUT int * respLen);
492 
503 int
504 device_enablePassThrough(int enablePassThrough);
505 
516 int
517 device_setBurstMode(IN BYTE mode);
518 
528 int
529 device_setPollMode(IN BYTE mode);
530 
543 int
544 device_setMerchantRecord(int index, int enabled, char * merchantID, char * merchantURL);
545 
558 int
559 device_pollForToken(IN int timeout, OUT BYTE * respData, IN_OUT int * respDataLen);
560 
582 int
583 device_getMerchantRecord(IN int index,
584  OUT BYTE * record);
585 
606 int
608  OUT BYTE * record, IN_OUT int * recordLen);
609 
619 int
620 device_getTransactionResults(IDTMSRData * cardData);
621 
679 int
680 device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
681  IN int tagsLen);
682 
687 void
688 device_setTransactionExponent(int exponent);
689 
744 int
745 device_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
746 
752 int
754 
769 int
770 device_getRTCDateTime(IN BYTE * dateTime, IN_OUT int * dateTimeLen);
771 
785 int
786 device_setRTCDateTime(IN BYTE * dateTime, IN int dateTimeLen);
787 
797 int
798 device_startRKI(IN const char * caPath, IN int isProduction);
799 
808 void
809 device_setRKI_URL(IN char *rkiURL, IN int rkiURLLen);
810 
819 int
821 
831 void
832 device_setSDKWaitTime(int waitTime);
833 
842 int
844 
852 void
853 device_setThreadStackSize(int threadSize);
854 
865 int
866 config_getSerialNumber(OUT char * sNumber);
867 
877 int
878 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
879 
937 int
938 ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
939  IN int tagsLen);
940 
941 
996 int
997 ctls_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
998 
999 
1010 int
1012 
1013 
1026 int
1027 ctls_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1028 
1044 int
1045 ctls_setApplicationData(IN BYTE * tlv, IN int tlvLen);
1046 
1056 int
1057 ctls_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1058 
1068 int
1070 
1082 int
1083 ctls_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1084 
1098 int
1099 ctls_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1100 
1115 int
1116 ctls_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1117 
1139 int
1140 ctls_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1141 
1160 int
1161 ctls_setCAPK(IN BYTE * capk, IN int capkLen);
1162 
1173 int
1174 ctls_removeCAPK(IN BYTE * capk, IN int capkLen);
1175 
1184 int
1186 
1197 int
1198 ctls_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1199 
1215 int
1216 ctls_setConfigurationGroup(IN BYTE * tlv, IN int tlvLen);
1217 
1232 int
1233 ctls_getConfigurationGroup(IN int group, OUT BYTE * tlv, OUT int * tlvLen);
1234 
1247 int
1248 ctls_getAllConfigurationGroups(OUT BYTE * tlv, IN_OUT int * tlvLen);
1249 
1260 int
1262 
1263 
1268 void
1269 emv_allowFallback(IN int allow);
1270 
1276 void
1277 emv_setAutoAuthenticateTransaction(IN int authenticate);
1278 
1284 void
1285 emv_setAutoCompleteTransaction(IN int complete);
1286 
1291 int
1293 
1298 int
1300 
1319 void
1320 emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE * tags,
1321  IN int tagsLen);
1322 
1344 int
1345 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
1346  IN int tagsLen, IN int forceOnline);
1347 
1348 
1367 int
1368 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
1369 
1386 int
1387 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
1388 
1406 int
1407 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
1408 
1428 int
1429 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
1430  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
1431 
1438 int
1440 
1453 int
1454 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1455 
1468 int
1469 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
1470 
1483 int
1484 emv_setApplicationDataTLV(IN BYTE * tlv, IN int tlvLen);
1485 
1495 int
1496 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1497 
1507 int
1509 
1521 int
1522 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1523 
1537 int
1538 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1539 
1554 int
1555 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1556 
1570 int
1571 emv_setTerminalMajorConfiguration(IN int configuration);
1572 
1594 int
1595 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1596 
1615 int
1616 emv_setCAPK(IN BYTE * capk, IN int capkLen);
1617 
1628 int
1629 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
1630 
1639 int
1641 
1652 int
1653 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1654 
1665 int
1666 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
1667 
1680 int
1681 emv_setCRL(IN BYTE * list, IN int lsLen);
1682 
1693 int
1694 emv_removeCRL(IN BYTE * list, IN int lsLen);
1695 
1705 int
1707 
1718 int
1719 icc_getICCReaderStatus(OUT BYTE * status);
1720 
1730 int
1731 icc_powerOnICC(OUT BYTE * ATR,
1732  IN_OUT int * inLen);
1733 
1744 int
1745 icc_powerOffICC();
1746 
1761 int
1762 icc_exchangeAPDU(IN BYTE * c_APDU,
1763  IN int cLen,
1764  OUT BYTE * reData,
1765  IN_OUT int * reLen);
1766 
1772 int
1774 
1782 int
1783 msr_startMSRSwipe(IN int _timeout);
1784 
1785 
1786 int
1787 msr_startMSRSwipe(IN int _timeout);
1788 
1789 
1803 int
1804 executeTransaction(WorldPayData * data, pWP_callBack wpCallback, int requestOnly);
1805 
1819 int
1820 forwardTransaction(IN pWP_callBack wpCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing);
1821 
1826 int
1827 cancelWorldPay();
1828 
1842 int
1843 executeTransaction_WorldNet(WorldNetData * data, pWN_callBack wnCallback, int requestOnly);
1844 
1858 int
1859 forwardTransaction_WorldNet(IN char *apiKey, IN int apiKeyLen, IN pWN_callBack wnCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing);
1860 
1865 int
1866 cancelWorldNet();
1867 
1874 void
1875 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1876 
1877 # ifdef __cplusplus
1878 }
1879 # endif
1880 
1881 
1882 #endif // ifndef __LIBIDT_VP3300_BT_H___
1883 
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)
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_pollForToken(IN int timeout, OUT BYTE *respData, IN_OUT int *respDataLen)
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()
int forwardTransaction_WorldNet(IN char *apiKey, IN int apiKeyLen, IN pWN_callBack wnCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing)
#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)
void(* pWN_callBack)(char *, int, int)
Definition: libIDT_VP3300_BT.h:111
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)
void(* pWP_callBack)(char *, int, int)
Definition: libIDT_VP3300_BT.h:103
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()
int executeTransaction_WorldNet(WorldNetData *data, pWN_callBack wnCallback, int requestOnly)
void parseMSRData(IN BYTE *resData, IN int resLen, IN_OUT IDTMSRData *cardData)
int forwardTransaction(IN pWP_callBack wpCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing)
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)
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)
void device_setRKI_URL(IN char *rkiURL, IN int rkiURLLen)
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 cancelWorldNet()
int device_startRKI(IN const char *caPath, IN int isProduction)
int device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen)