IDTech Universal SDK  1.0.35.036
API reference for C++
libIDT_VP3300_COM.h
Go to the documentation of this file.
1 #ifndef __LIBIDT_VP3300_COM_H___
2 # define __LIBIDT_VP3300_COM_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 
281 int
282 rs232_device_init(int deviceType, int port_number, int brate);
283 
326 int
327 device_setCurrentDevice(int deviceType);
328 
335 int
336 device_isAttached(int deviceType);
337 
343 int
344 device_close();
345 
346 
406 void
407 device_getIDGStatusCodeString(IN int returnCode, OUT char * despcrition);
408 
409 
414 int
416 
427 int
428 device_getFirmwareVersion(OUT char * firmwareVersion);
429 
439 int
440 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
441 
450 int
452 
495 int
496 device_controlUserInterface(IN BYTE * values);
497 
503 int
505 
506 
508 // * Send a Command to device
509 // *
510 // * Sends a command to the device .
511 // *
512 // * @param cmd buffer of command to execute.
513 // * @param cmdLen, the length of the buffer cmd.
514 // *
515 // * @param data buffer of IDG command data.
516 // * @param dataLen, the length of the buffer data.
517 // *
518 // * @param response Response data
519 // * @param respLen, the length of Response data
520 //
521 // * @return RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()
522 // */
523 //
524 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, IN BYTE* data, IN int dataLen, OUT BYTE* response, IN_OUT int *respLen);
525 
542 int
543 device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE * data, IN int dataLen, OUT BYTE * response,
544  IN_OUT int * respLen);
545 
556 int
557 device_enablePassThrough(int enablePassThrough);
558 
569 int
570 device_setBurstMode(IN BYTE mode);
571 
581 int
582 device_setPollMode(IN BYTE mode);
583 
597 int
598 device_setMerchantRecord(int index, int enabled, char * merchantID, char * merchantURL);
599 
612 int
613 device_pollForToken(IN int timeout, OUT BYTE * respData, IN_OUT int * respDataLen);
614 
636 int
637 device_getMerchantRecord(IN int index,
638  OUT BYTE * record);
639 
660 int
662  OUT BYTE * record, IN_OUT int * recordLen);
663 
673 int
674 device_getTransactionResults(IDTMSRData * cardData);
675 
697 int
698 device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
699  IN int tagsLen);
700 
705 void
706 device_setTransactionExponent(int exponent);
707 
762 int
763 device_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
764 
765 
771 int
773 
788 int
789 device_getRTCDateTime(IN BYTE * dateTime, IN_OUT int * dateTimeLen);
790 
804 int
805 device_setRTCDateTime(IN BYTE * dateTime, IN int dateTimeLen);
806 
816 int
817 device_startRKI(IN const char * caPath, IN int isProduction);
818 
827 void
828 device_setRKI_URL(IN char *rkiURL, IN int rkiURLLen);
829 
838 int
840 
850 void
851 device_setSDKWaitTime(int waitTime);
852 
861 int
863 
871 void
872 device_setThreadStackSize(int threadSize);
873 
884 int
885 config_getSerialNumber(OUT char * sNumber);
886 
896 int
897 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
898 
899 
957 int
958 ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
959  IN int tagsLen);
960 
961 
1016 int
1017 ctls_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
1018 
1019 
1030 int
1032 
1033 
1046 int
1047 ctls_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1048 
1064 int
1065 ctls_setApplicationData(IN BYTE * tlv, IN int tlvLen);
1066 
1076 int
1077 ctls_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1078 
1088 int
1090 
1102 int
1103 ctls_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1104 
1118 int
1119 ctls_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1120 
1135 int
1136 ctls_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1137 
1159 int
1160 ctls_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1161 
1180 int
1181 ctls_setCAPK(IN BYTE * capk, IN int capkLen);
1182 
1193 int
1194 ctls_removeCAPK(IN BYTE * capk, IN int capkLen);
1195 
1204 int
1206 
1217 int
1218 ctls_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1219 
1235 int
1236 ctls_setConfigurationGroup(IN BYTE * tlv, IN int tlvLen);
1237 
1252 int
1253 ctls_getConfigurationGroup(IN int group, OUT BYTE * tlv, OUT int * tlvLen);
1254 
1267 int
1268 ctls_getAllConfigurationGroups(OUT BYTE * tlv, IN_OUT int * tlvLen);
1269 
1280 int
1282 
1283 
1288 void
1289 emv_allowFallback(IN int allow);
1290 
1296 void
1297 emv_setAutoAuthenticateTransaction(IN int authenticate);
1298 
1304 void
1305 emv_setAutoCompleteTransaction(IN int complete);
1306 
1311 int
1313 
1318 int
1320 
1339 void
1340 emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE * tags,
1341  IN int tagsLen);
1342 
1364 int
1365 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
1366  IN int tagsLen, IN int forceOnline);
1367 
1368 
1387 int
1388 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
1389 
1406 int
1407 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
1408 
1426 int
1427 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
1428 
1448 int
1449 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
1450  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
1451 
1458 int
1460 
1473 int
1474 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1475 
1488 int
1489 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
1490 
1503 int
1504 emv_setApplicationDataTLV(IN BYTE * tlv, IN int tlvLen);
1505 
1515 int
1516 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1517 
1527 int
1529 
1541 int
1542 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1543 
1557 int
1558 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1559 
1574 int
1575 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1576 
1590 int
1591 emv_setTerminalMajorConfiguration(IN int configuration);
1592 
1614 int
1615 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1616 
1635 int
1636 emv_setCAPK(IN BYTE * capk, IN int capkLen);
1637 
1648 int
1649 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
1650 
1659 int
1661 
1672 int
1673 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1674 
1685 int
1686 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
1687 
1700 int
1701 emv_setCRL(IN BYTE * list, IN int lsLen);
1702 
1713 int
1714 emv_removeCRL(IN BYTE * list, IN int lsLen);
1715 
1725 int
1727 
1738 int
1739 icc_getICCReaderStatus(OUT BYTE * status);
1740 
1750 int
1751 icc_powerOnICC(OUT BYTE * ATR,
1752  IN_OUT int * inLen);
1753 
1764 int
1765 icc_powerOffICC();
1766 
1781 int
1782 icc_exchangeAPDU(IN BYTE * c_APDU,
1783  IN int cLen,
1784  OUT BYTE * reData,
1785  IN_OUT int * reLen);
1786 
1792 int
1794 
1803 int
1804 msr_startMSRSwipe(IN int _timeout);
1805 
1819 int
1820 executeTransaction(WorldPayData * data, pWP_callBack wpCallback, int requestOnly);
1821 
1835 int
1836 forwardTransaction(IN pWP_callBack wpCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing);
1837 
1842 int
1843 cancelWorldPay();
1844 
1858 int
1859 executeTransaction_WorldNet(WorldNetData * data, pWN_callBack wnCallback, int requestOnly);
1860 
1874 int
1875 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);
1876 
1881 int
1882 cancelWorldNet();
1883 
1890 void
1891 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1892 
1893 # ifdef __cplusplus
1894 }
1895 # endif
1896 
1897 
1898 #endif // ifndef __LIBIDT_VP3300_COM_H___
1899 
void(* pWN_callBack)(char *, int, int)
Definition: libIDT_VP3300_COM.h:111
#define IN
int ctls_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
int icc_powerOffICC()
int emv_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
void device_setRKI_URL(IN char *rkiURL, IN int rkiURLLen)
int device_pollForToken(IN int timeout, OUT BYTE *respData, IN_OUT int *respDataLen)
void(* pPIN_callBack)(int, IDTPINData *)
Definition: libIDT_VP3300_COM.h:51
int cancelWorldNet()
int emv_setCAPK(IN BYTE *capk, IN int capkLen)
int device_init()
void device_registerCardStatusFrontSwitchCallBk(pCSFS_callBack pCSFSf)
int device_getMerchantRecord_Len(IN int index, OUT BYTE *record, IN_OUT int *recordLen)
int emv_setApplicationData(IN BYTE *name, IN int nameLen, IN BYTE *tlv, IN int tlvLen)
int device_getFirmwareVersion(OUT char *firmwareVersion)
int device_isAttached(int deviceType)
int emv_cancelTransaction()
void msr_registerCallBk(pMSR_callBack pMSRf)
void(* pMessageHotplug)(int, int)
Definition: libIDT_VP3300_COM.h:15
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_retrieveCRL(OUT BYTE *list, IN_OUT int *lssLen)
int emv_removeCRL(IN BYTE *list, IN int lsLen)
int ctls_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
int icc_powerOnICC(OUT BYTE *ATR, IN_OUT int *inLen)
int ctls_removeAllApplicationData()
int config_getSerialNumber(OUT char *sNumber)
#define OUT
int device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen)
void(* pRKI_callBack)(int, char *)
Definition: libIDT_VP3300_COM.h:69
void(* ftpComm_callBack)(int, int, int)
Definition: libIDT_VP3300_COM.h:83
int setAbsoluteLibraryPath(const char *absoluteLibraryPath)
void(* pSendDataLog)(BYTE *, int)
Definition: libIDT_VP3300_COM.h:21
void device_setThreadStackSize(int threadSize)
int cancelWorldPay()
int device_getMerchantRecord(IN int index, OUT BYTE *record)
int ctls_getAllConfigurationGroups(OUT BYTE *tlv, IN_OUT int *tlvLen)
void msr_registerCallBkp(pMSR_callBackp pMSRf)
int device_setCurrentDevice(int deviceType)
int device_setBurstMode(IN BYTE mode)
int device_enablePassThrough(int enablePassThrough)
int msr_startMSRSwipe(IN int _timeout)
void comm_registerHTTPCallback(httpComm_callBack cBack)
void emv_setAutoAuthenticateTransaction(IN int authenticate)
int icc_exchangeAPDU(IN BYTE *c_APDU, IN int cLen, OUT BYTE *reData, IN_OUT int *reLen)
int emv_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
int device_close()
int ctls_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
int ctls_removeApplicationData(IN BYTE *AID, IN int AIDLen)
int forwardTransaction(IN pWP_callBack wpCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing)
int emv_setTerminalMajorConfiguration(IN int configuration)
int emv_removeAllCRL()
void device_registerCameraCallBk(pCMR_callBack pCMRf)
int device_setPollMode(IN BYTE mode)
int emv_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
char * SDK_Version()
int device_activateTransaction(IN const int _timeout, IN BYTE *tags, IN int tagsLen)
int ctls_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
int ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen)
void emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE *tags, IN int tagsLen)
int emv_authenticateTransaction(IN BYTE *updatedTLV, IN int updatedTLVLen)
int emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE *updatedTLV, IN int updatedTLVLen)
void(* pWP_callBack)(char *, int, int)
Definition: libIDT_VP3300_COM.h:103
int ctls_setConfigurationGroup(IN BYTE *tlv, IN int tlvLen)
int device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen)
int ctls_removeAllCAPK()
int ctls_setTerminalData(IN BYTE *tlv, IN int tlvLen)
int ctls_setCAPK(IN BYTE *capk, IN int capkLen)
int device_cancelTransaction()
int emv_setCRL(IN BYTE *list, IN int lsLen)
int emv_removeCAPK(IN BYTE *capk, IN int capkLen)
int emv_getAutoAuthenticateTransaction()
void registerHotplugCallBk(pMessageHotplug pMsgHotplug)
int device_setRTCDateTime(IN BYTE *dateTime, IN int dateTimeLen)
int device_getSDKWaitTime()
int device_controlUserInterface(IN BYTE *values)
int device_getTransactionResults(IDTMSRData *cardData)
void(* pMSR_callBack)(int, IDTMSRData)
Definition: libIDT_VP3300_COM.h:39
int ctls_setApplicationData(IN BYTE *tlv, IN int tlvLen)
int device_getFirmwareVersion_Len(OUT char *firmwareVersion, IN_OUT int *firmwareVersionLen)
void device_registerRKICallBk(pRKI_callBack pRKIf)
void device_getIDGStatusCodeString(IN int returnCode, OUT char *despcrition)
int device_getThreadStackSize()
void device_setSDKWaitTime(int waitTime)
int emv_removeApplicationData(IN BYTE *AID, IN int AIDLen)
int ctls_removeCAPK(IN BYTE *capk, IN int capkLen)
void emv_registerCallBk(pEMV_callBack pEMVf)
void parseMSRData(IN BYTE *resData, IN int resLen, IN_OUT IDTMSRData *cardData)
int config_getSerialNumber_Len(OUT char *sNumber, IN_OUT int *sNumberLen)
int device_startRKI(IN const char *caPath, IN int isProduction)
void(* pEMV_callBack)(int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int)
Definition: libIDT_VP3300_COM.h:33
int emv_setApplicationDataTLV(IN BYTE *tlv, IN int tlvLen)
int emv_activateTransaction(IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline)
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)
int icc_getICCReaderStatus(OUT BYTE *status)
int ctls_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
void(* v4Comm_callBack)(BYTE, BYTE, BYTE *, int)
Definition: libIDT_VP3300_COM.h:97
int msr_cancelMSRSwipe()
int emv_setTerminalData(IN BYTE *tlv, IN int tlvLen)
void(* pCMR_callBack)(int, IDTCMRData *)
Definition: libIDT_VP3300_COM.h:57
void(* pMSR_callBackp)(int, IDTMSRData *)
Definition: libIDT_VP3300_COM.h:45
void(* pReadDataLog)(BYTE *, int)
Definition: libIDT_VP3300_COM.h:27
int emv_removeAllCAPK()
int ctls_activateTransaction(IN const int _timeout, IN BYTE *tags, IN int tagsLen)
void emv_setAutoCompleteTransaction(IN int complete)
int emv_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
int executeTransaction(WorldPayData *data, pWP_callBack wpCallback, int requestOnly)
void(* httpComm_callBack)(BYTE *, int)
Definition: libIDT_VP3300_COM.h:89
void ctls_registerCallBk(pMSR_callBack pCTLSf)
int emv_getAutoCompleteTransaction()
int ctls_cancelTransaction()
void emv_allowFallback(IN int allow)
void device_setTransactionExponent(int exponent)
int device_setMerchantRecord(int index, int enabled, char *merchantID, char *merchantURL)
void ctls_registerCallBkp(pMSR_callBackp pCTLSf)
#define IN_OUT
int emv_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
int ctls_getConfigurationGroup(IN int group, OUT BYTE *tlv, OUT int *tlvLen)
int rs232_device_init(int deviceType, int port_number, int brate)
int device_getCurrentDeviceType()
int emv_removeAllApplicationData()
int device_isConnected()
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 device_pingDevice()
int device_getRTCDateTime(IN BYTE *dateTime, IN_OUT int *dateTimeLen)
void comm_registerV4Callback(v4Comm_callBack cBack)
int executeTransaction_WorldNet(WorldNetData *data, pWN_callBack wnCallback, int requestOnly)
int ctls_removeConfigurationGroup(int group)
void(* pCSFS_callBack)(BYTE status)
Definition: libIDT_VP3300_COM.h:63
void pin_registerCallBk(pPIN_callBack pPINf)
void registerLogCallBk(pSendDataLog pFSend, pReadDataLog pFRead)