IDTech Universal SDK  1.0.35.036
API reference for C++
libIDT_VP3300_USB.h
Go to the documentation of this file.
1 #ifndef __LIBIDT_VP3300_USB_H___
2 # define __LIBIDT_VP3300_USB_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 
282 int
283 device_isAttached(int deviceType);
284 
290 int
291 device_close();
292 
293 
353 void
354 device_getIDGStatusCodeString(IN int returnCode, OUT char * despcrition);
355 
356 
361 int
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 
544 int
545 device_setMerchantRecord(int index, int enabled, char * merchantID, char * merchantURL);
546 
559 int
560 device_pollForToken(IN int timeout, OUT BYTE * respData, IN_OUT int * respDataLen);
561 
583 int
584 device_getMerchantRecord(IN int index,
585  OUT BYTE * record);
586 
607 int
609  OUT BYTE * record, IN_OUT int * recordLen);
610 
620 int
621 device_getTransactionResults(IDTMSRData * cardData);
622 
644 int
645 device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
646  IN int tagsLen);
647 
652 void
653 device_setTransactionExponent(int exponent);
654 
709 int
710 device_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
711 
712 
718 int
720 
735 int
736 device_getRTCDateTime(IN BYTE * dateTime, IN_OUT int * dateTimeLen);
737 
751 int
752 device_setRTCDateTime(IN BYTE * dateTime, IN int dateTimeLen);
753 
763 int
764 device_startRKI(IN const char * caPath, IN int isProduction);
765 
774 void
775 device_setRKI_URL(IN char *rkiURL, IN int rkiURLLen);
776 
785 int
787 
797 void
798 device_setSDKWaitTime(int waitTime);
799 
808 int
810 
818 void
819 device_setThreadStackSize(int threadSize);
820 
831 int
832 config_getSerialNumber(OUT char * sNumber);
833 
843 int
844 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
845 
846 
904 int
905 ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
906  IN int tagsLen);
907 
908 
963 int
964 ctls_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
965 
966 
977 int
979 
980 
993 int
994 ctls_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
995 
1011 int
1012 ctls_setApplicationData(IN BYTE * tlv, IN int tlvLen);
1013 
1023 int
1024 ctls_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1025 
1035 int
1037 
1049 int
1050 ctls_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1051 
1065 int
1066 ctls_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1067 
1082 int
1083 ctls_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1084 
1106 int
1107 ctls_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1108 
1127 int
1128 ctls_setCAPK(IN BYTE * capk, IN int capkLen);
1129 
1140 int
1141 ctls_removeCAPK(IN BYTE * capk, IN int capkLen);
1142 
1151 int
1153 
1164 int
1165 ctls_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1166 
1182 int
1183 ctls_setConfigurationGroup(IN BYTE * tlv, IN int tlvLen);
1184 
1199 int
1200 ctls_getConfigurationGroup(IN int group, OUT BYTE * tlv, OUT int * tlvLen);
1201 
1214 int
1215 ctls_getAllConfigurationGroups(OUT BYTE * tlv, IN_OUT int * tlvLen);
1216 
1227 int
1229 
1230 
1235 void
1236 emv_allowFallback(IN int allow);
1237 
1243 void
1244 emv_setAutoAuthenticateTransaction(IN int authenticate);
1245 
1251 void
1252 emv_setAutoCompleteTransaction(IN int complete);
1253 
1258 int
1260 
1265 int
1267 
1286 void
1287 emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE * tags,
1288  IN int tagsLen);
1289 
1311 int
1312 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
1313  IN int tagsLen, IN int forceOnline);
1314 
1315 
1334 int
1335 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
1336 
1353 int
1354 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
1355 
1373 int
1374 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
1375 
1395 int
1396 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
1397  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
1398 
1405 int
1407 
1420 int
1421 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1422 
1435 int
1436 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
1437 
1450 int
1451 emv_setApplicationDataTLV(IN BYTE * tlv, IN int tlvLen);
1452 
1462 int
1463 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1464 
1474 int
1476 
1488 int
1489 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1490 
1504 int
1505 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1506 
1521 int
1522 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1523 
1537 int
1538 emv_setTerminalMajorConfiguration(IN int configuration);
1539 
1561 int
1562 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1563 
1582 int
1583 emv_setCAPK(IN BYTE * capk, IN int capkLen);
1584 
1595 int
1596 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
1597 
1606 int
1608 
1619 int
1620 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1621 
1632 int
1633 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
1634 
1647 int
1648 emv_setCRL(IN BYTE * list, IN int lsLen);
1649 
1660 int
1661 emv_removeCRL(IN BYTE * list, IN int lsLen);
1662 
1672 int
1674 
1685 int
1686 icc_getICCReaderStatus(OUT BYTE * status);
1687 
1697 int
1698 icc_powerOnICC(OUT BYTE * ATR,
1699  IN_OUT int * inLen);
1700 
1711 int
1712 icc_powerOffICC();
1713 
1728 int
1729 icc_exchangeAPDU(IN BYTE * c_APDU,
1730  IN int cLen,
1731  OUT BYTE * reData,
1732  IN_OUT int * reLen);
1733 
1739 int
1741 
1750 int
1751 msr_startMSRSwipe(IN int _timeout);
1752 
1766 int
1767 executeTransaction(WorldPayData * data, pWP_callBack wpCallback, int requestOnly);
1768 
1782 int
1783 forwardTransaction(IN pWP_callBack wpCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing);
1784 
1789 int
1790 cancelWorldPay();
1791 
1805 int
1806 executeTransaction_WorldNet(WorldNetData * data, pWN_callBack wnCallback, int requestOnly);
1807 
1821 int
1822 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);
1823 
1828 int
1829 cancelWorldNet();
1830 
1837 void
1838 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1839 
1840 # ifdef __cplusplus
1841 }
1842 # endif
1843 
1844 
1845 #endif // ifndef __LIBIDT_VP3300_USB_H___
1846 
void(* pPIN_callBack)(int, IDTPINData *)
Definition: libIDT_VP3300_USB.h:51
int device_getCurrentDeviceType()
void emv_setAutoAuthenticateTransaction(IN int authenticate)
int ctls_getAllConfigurationGroups(OUT BYTE *tlv, IN_OUT int *tlvLen)
int device_setMerchantRecord(int index, int enabled, char *merchantID, char *merchantURL)
int emv_getAutoCompleteTransaction()
int device_close()
int device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen)
void emv_allowFallback(IN int allow)
void emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE *tags, IN int tagsLen)
int ctls_setConfigurationGroup(IN BYTE *tlv, IN int tlvLen)
int device_getTransactionResults(IDTMSRData *cardData)
int device_activateTransaction(IN const int _timeout, IN BYTE *tags, IN int tagsLen)
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)
int cancelWorldPay()
void(* pSendDataLog)(BYTE *, int)
Definition: libIDT_VP3300_USB.h:21
int msr_cancelMSRSwipe()
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 emv_registerCallBk(pEMV_callBack pEMVf)
int ctls_cancelTransaction()
int ctls_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
void device_setThreadStackSize(int threadSize)
int emv_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
void pin_registerCallBk(pPIN_callBack pPINf)
int emv_activateTransaction(IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline)
void device_registerCameraCallBk(pCMR_callBack pCMRf)
int ctls_getConfigurationGroup(IN int group, OUT BYTE *tlv, OUT int *tlvLen)
int icc_powerOnICC(OUT BYTE *ATR, IN_OUT int *inLen)
void(* pWN_callBack)(char *, int, int)
Definition: libIDT_VP3300_USB.h:111
int emv_removeAllCRL()
int emv_setApplicationDataTLV(IN BYTE *tlv, IN int tlvLen)
#define OUT
int device_setCurrentDevice(int deviceType)
int emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE *updatedTLV, IN int updatedTLVLen)
int ctls_setCAPK(IN BYTE *capk, IN int capkLen)
int emv_setTerminalData(IN BYTE *tlv, IN int tlvLen)
int ctls_setTerminalData(IN BYTE *tlv, IN int tlvLen)
int device_isConnected()
int device_getMerchantRecord(IN int index, OUT BYTE *record)
void device_setSDKWaitTime(int waitTime)
int device_getSDKWaitTime()
void emv_setAutoCompleteTransaction(IN int complete)
void(* pCSFS_callBack)(BYTE status)
Definition: libIDT_VP3300_USB.h:63
int emv_removeAllApplicationData()
int emv_cancelTransaction()
int ctls_setApplicationData(IN BYTE *tlv, IN int tlvLen)
void msr_registerCallBk(pMSR_callBack pMSRf)
#define IN
int device_getThreadStackSize()
int device_setRTCDateTime(IN BYTE *dateTime, IN int dateTimeLen)
void registerLogCallBk(pSendDataLog pFSend, pReadDataLog pFRead)
int device_getFirmwareVersion_Len(OUT char *firmwareVersion, IN_OUT int *firmwareVersionLen)
char * SDK_Version()
int device_init()
int emv_removeCRL(IN BYTE *list, IN int lsLen)
void(* ftpComm_callBack)(int, int, int)
Definition: libIDT_VP3300_USB.h:83
int device_setBurstMode(IN BYTE mode)
int ctls_removeConfigurationGroup(int group)
int executeTransaction(WorldPayData *data, pWP_callBack wpCallback, int requestOnly)
void ctls_registerCallBk(pMSR_callBack pCTLSf)
int emv_setTerminalMajorConfiguration(IN int configuration)
int msr_startMSRSwipe(IN int _timeout)
void parseMSRData(IN BYTE *resData, IN int resLen, IN_OUT IDTMSRData *cardData)
int emv_removeApplicationData(IN BYTE *AID, IN int AIDLen)
void msr_registerCallBkp(pMSR_callBackp pMSRf)
void device_registerRKICallBk(pRKI_callBack pRKIf)
int ctls_removeAllCAPK()
int emv_removeAllCAPK()
int emv_authenticateTransaction(IN BYTE *updatedTLV, IN int updatedTLVLen)
void comm_registerHTTPCallback(httpComm_callBack cBack)
int device_getFirmwareVersion(OUT char *firmwareVersion)
void ctls_registerCallBkp(pMSR_callBackp pCTLSf)
#define IN_OUT
void device_setRKI_URL(IN char *rkiURL, IN int rkiURLLen)
int emv_setCAPK(IN BYTE *capk, IN int capkLen)
int config_getSerialNumber_Len(OUT char *sNumber, IN_OUT int *sNumberLen)
int setAbsoluteLibraryPath(const char *absoluteLibraryPath)
int device_isAttached(int deviceType)
int device_startRKI(IN const char *caPath, IN int isProduction)
int emv_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
int emv_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
int emv_removeCAPK(IN BYTE *capk, IN int capkLen)
int forwardTransaction(IN pWP_callBack wpCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing)
int device_cancelTransaction()
void(* v4Comm_callBack)(BYTE, BYTE, BYTE *, int)
Definition: libIDT_VP3300_USB.h:97
int icc_getICCReaderStatus(OUT BYTE *status)
void(* pWP_callBack)(char *, int, int)
Definition: libIDT_VP3300_USB.h:103
void device_registerCardStatusFrontSwitchCallBk(pCSFS_callBack pCSFSf)
int emv_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
int ctls_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
int emv_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
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)
int emv_setApplicationData(IN BYTE *name, IN int nameLen, IN BYTE *tlv, IN int tlvLen)
int device_enablePassThrough(int enablePassThrough)
int ctls_removeAllApplicationData()
int ctls_removeApplicationData(IN BYTE *AID, IN int AIDLen)
int emv_getAutoAuthenticateTransaction()
int device_getRTCDateTime(IN BYTE *dateTime, IN_OUT int *dateTimeLen)
void(* pMSR_callBack)(int, IDTMSRData)
Definition: libIDT_VP3300_USB.h:39
void(* pEMV_callBack)(int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int)
Definition: libIDT_VP3300_USB.h:33
void registerHotplugCallBk(pMessageHotplug pMsgHotplug)
void device_setTransactionExponent(int exponent)
void(* pReadDataLog)(BYTE *, int)
Definition: libIDT_VP3300_USB.h:27
int emv_retrieveCRL(OUT BYTE *list, IN_OUT int *lssLen)
int ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen)
void(* pMessageHotplug)(int, int)
Definition: libIDT_VP3300_USB.h:15
int device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen)
void(* httpComm_callBack)(BYTE *, int)
Definition: libIDT_VP3300_USB.h:89
int executeTransaction_WorldNet(WorldNetData *data, pWN_callBack wnCallback, int requestOnly)
int config_getSerialNumber(OUT char *sNumber)
void(* pCMR_callBack)(int, IDTCMRData *)
Definition: libIDT_VP3300_USB.h:57
int ctls_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
int device_setPollMode(IN BYTE mode)
int device_pingDevice()
void(* pMSR_callBackp)(int, IDTMSRData *)
Definition: libIDT_VP3300_USB.h:45
int ctls_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
int device_pollForToken(IN int timeout, OUT BYTE *respData, IN_OUT int *respDataLen)
void device_getIDGStatusCodeString(IN int returnCode, OUT char *despcrition)
void(* pRKI_callBack)(int, char *)
Definition: libIDT_VP3300_USB.h:69
int device_controlUserInterface(IN BYTE *values)
int ctls_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
void comm_registerV4Callback(v4Comm_callBack cBack)
int emv_setCRL(IN BYTE *list, IN int lsLen)
int icc_powerOffICC()
int ctls_removeCAPK(IN BYTE *capk, IN int capkLen)
int cancelWorldNet()
int icc_exchangeAPDU(IN BYTE *c_APDU, IN int cLen, OUT BYTE *reData, IN_OUT int *reLen)
int device_getMerchantRecord_Len(IN int index, OUT BYTE *record, IN_OUT int *recordLen)
int ctls_activateTransaction(IN const int _timeout, IN BYTE *tags, IN int tagsLen)