IDTech Universal SDK  1.0.35.038
API reference for C++
libIDT_VP3300_AJ.h
Go to the documentation of this file.
1 #ifndef __LIBIDT_VP3300_AJ_H___
2 # define __LIBIDT_VP3300_AJ_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 
195 int
197 
207 void
208 device_setSDKWaitTime(int waitTime);
209 
218 int
220 
228 void
229 device_setThreadStackSize(int threadSize);
230 
236 void
238 
244 void
246 
251 char *
252 SDK_Version();
253 
262 int
263 setAbsoluteLibraryPath(const char * absoluteLibraryPath);
264 
272 int
273 device_init();
274 
317 int
318 device_setCurrentDevice(int deviceType);
319 
325 int
326 device_close();
327 
328 
388 void
389 device_getIDGStatusCodeString(IN int returnCode, OUT char * despcrition);
390 
391 
396 int
398 
405 int
406 device_isAttached(int deviceType);
407 
418 int
419 device_getFirmwareVersion(OUT char * firmwareVersion);
420 
430 int
431 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
432 
441 int
443 
486 int
487 device_controlUserInterface(IN BYTE * values);
488 
494 int
496 
497 
499 // * Send a Command to device
500 // *
501 // * Sends a command to the device .
502 // *
503 // * @param cmd buffer of command to execute.
504 // * @param cmdLen, the length of the buffer cmd.
505 // *
506 // * @param data buffer of IDG command data.
507 // * @param dataLen, the length of the buffer data.
508 // *
509 // * @param response Response data
510 // * @param respLen, the length of Response data
511 //
512 // * @return RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()
513 // */
514 //
515 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, IN BYTE* data, IN int dataLen, OUT BYTE* response, IN_OUT int *respLen);
516 
533 int
534 device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE * data, IN int dataLen, OUT BYTE * response,
535  IN_OUT int * respLen);
536 
547 int
548 device_enablePassThrough(int enablePassThrough);
549 
560 int
561 device_setBurstMode(IN BYTE mode);
562 
572 int
573 device_setPollMode(IN BYTE mode);
574 
588 int
589 device_setMerchantRecord(int index, int enabled, char * merchantID, char * merchantURL);
590 
603 int
604 device_pollForToken(IN int timeout, OUT BYTE * respData, IN_OUT int * respDataLen);
605 
627 int
628 device_getMerchantRecord(IN int index,
629  OUT BYTE * record);
630 
651 int
653  OUT BYTE * record, IN_OUT int * recordLen);
654 
664 int
665 device_getTransactionResults(IDTMSRData * cardData);
666 
724 int
725 device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
726  IN int tagsLen);
727 
732 void
733 device_setTransactionExponent(int exponent);
734 
789 int
790 device_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
791 
797 int
799 
814 int
815 device_getRTCDateTime(IN BYTE * dateTime, IN_OUT int * dateTimeLen);
816 
830 int
831 device_setRTCDateTime(IN BYTE * dateTime, IN int dateTimeLen);
832 
842 int
843 device_startRKI(IN const char * caPath, IN int isProduction);
844 
853 void
854 device_setRKI_URL(IN char *rkiURL, IN int rkiURLLen);
855 
866 int
867 config_getSerialNumber(OUT char * sNumber);
868 
878 int
879 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
880 
881 
939 int
940 ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
941  IN int tagsLen);
942 
943 
998 int
999 ctls_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
1000 
1001 
1012 int
1014 
1015 
1028 int
1029 ctls_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1030 
1046 int
1047 ctls_setApplicationData(IN BYTE * tlv, IN int tlvLen);
1048 
1058 int
1059 ctls_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1060 
1070 int
1072 
1084 int
1085 ctls_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1086 
1100 int
1101 ctls_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1102 
1117 int
1118 ctls_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1119 
1141 int
1142 ctls_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1143 
1162 int
1163 ctls_setCAPK(IN BYTE * capk, IN int capkLen);
1164 
1175 int
1176 ctls_removeCAPK(IN BYTE * capk, IN int capkLen);
1177 
1186 int
1188 
1199 int
1200 ctls_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1201 
1217 int
1218 ctls_setConfigurationGroup(IN BYTE * tlv, IN int tlvLen);
1219 
1234 int
1235 ctls_getConfigurationGroup(IN int group, OUT BYTE * tlv, OUT int * tlvLen);
1236 
1249 int
1250 ctls_getAllConfigurationGroups(OUT BYTE * tlv, IN_OUT int * tlvLen);
1251 
1262 int
1264 
1265 
1270 void
1271 emv_allowFallback(IN int allow);
1272 
1278 void
1279 emv_setAutoAuthenticateTransaction(IN int authenticate);
1280 
1286 void
1287 emv_setAutoCompleteTransaction(IN int complete);
1288 
1293 int
1295 
1300 int
1302 
1321 void
1322 emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE * tags,
1323  IN int tagsLen);
1324 
1346 int
1347 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
1348  IN int tagsLen, IN int forceOnline);
1349 
1350 
1369 int
1370 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
1371 
1388 int
1389 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
1390 
1408 int
1409 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
1410 
1430 int
1431 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
1432  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
1433 
1440 int
1442 
1455 int
1456 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1457 
1470 int
1471 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
1472 
1485 int
1486 emv_setApplicationDataTLV(IN BYTE * tlv, IN int tlvLen);
1487 
1497 int
1498 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1499 
1509 int
1511 
1523 int
1524 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1525 
1539 int
1540 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1541 
1556 int
1557 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1558 
1572 int
1573 emv_setTerminalMajorConfiguration(IN int configuration);
1574 
1596 int
1597 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1598 
1617 int
1618 emv_setCAPK(IN BYTE * capk, IN int capkLen);
1619 
1630 int
1631 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
1632 
1641 int
1643 
1654 int
1655 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1656 
1667 int
1668 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
1669 
1682 int
1683 emv_setCRL(IN BYTE * list, IN int lsLen);
1684 
1695 int
1696 emv_removeCRL(IN BYTE * list, IN int lsLen);
1697 
1707 int
1709 
1720 int
1721 icc_getICCReaderStatus(OUT BYTE * status);
1722 
1732 int
1733 icc_powerOnICC(OUT BYTE * ATR,
1734  IN_OUT int * inLen);
1735 
1746 int
1747 icc_powerOffICC();
1748 
1763 int
1764 icc_exchangeAPDU(IN BYTE * c_APDU,
1765  IN int cLen,
1766  OUT BYTE * reData,
1767  IN_OUT int * reLen);
1768 
1774 int
1776 
1784 int
1785 msr_startMSRSwipe(IN int _timeout);
1786 
1787 
1788 int
1789 msr_startMSRSwipe(IN int _timeout);
1790 
1791 
1805 int
1806 executeTransaction(WorldPayData * data, pWP_callBack wpCallback, int requestOnly);
1807 
1821 int
1822 forwardTransaction(IN pWP_callBack wpCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing);
1823 
1828 int
1829 cancelWorldPay();
1830 
1844 int
1845 executeTransaction_WorldNet(WorldNetData * data, pWN_callBack wnCallback, int requestOnly);
1846 
1860 int
1861 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);
1862 
1867 int
1868 cancelWorldNet();
1869 
1876 void
1877 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1878 
1879 # ifdef __cplusplus
1880 }
1881 # endif
1882 
1883 
1884 #endif // ifndef __LIBIDT_VP3300_AJ_H___
1885 
void comm_registerV4Callback(v4Comm_callBack cBack)
void(* pRKI_callBack)(int, char *)
Definition: libIDT_VP3300_AJ.h:69
int ctls_removeConfigurationGroup(int group)
int ctls_removeApplicationData(IN BYTE *AID, IN int AIDLen)
void(* pWP_callBack)(char *, int, int)
Definition: libIDT_VP3300_AJ.h:103
void comm_registerHTTPCallback(httpComm_callBack cBack)
void device_setSDKWaitTime(int waitTime)
int emv_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
int emv_setApplicationDataTLV(IN BYTE *tlv, IN int tlvLen)
int ctls_removeAllApplicationData()
int emv_removeAllCAPK()
void(* pEMV_callBack)(int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int)
Definition: libIDT_VP3300_AJ.h:33
int executeTransaction_WorldNet(WorldNetData *data, pWN_callBack wnCallback, int requestOnly)
void emv_setAutoCompleteTransaction(IN int complete)
void ctls_registerCallBkp(pMSR_callBackp pCTLSf)
int device_getThreadStackSize()
void msr_registerCallBk(pMSR_callBack pMSRf)
int cancelWorldPay()
int emv_authenticateTransaction(IN BYTE *updatedTLV, IN int updatedTLVLen)
void device_getIDGStatusCodeString(IN int returnCode, OUT char *despcrition)
int device_setMerchantRecord(int index, int enabled, char *merchantID, char *merchantURL)
int device_getTransactionResults(IDTMSRData *cardData)
int emv_retrieveCRL(OUT BYTE *list, IN_OUT int *lssLen)
void device_setRKI_URL(IN char *rkiURL, IN int rkiURLLen)
int forwardTransaction(IN pWP_callBack wpCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing)
int emv_setApplicationData(IN BYTE *name, IN int nameLen, IN BYTE *tlv, IN int tlvLen)
int ctls_removeCAPK(IN BYTE *capk, IN int capkLen)
void(* v4Comm_callBack)(BYTE, BYTE, BYTE *, int)
Definition: libIDT_VP3300_AJ.h:97
int device_getSDKWaitTime()
void parseMSRData(IN BYTE *resData, IN int resLen, IN_OUT IDTMSRData *cardData)
int device_startRKI(IN const char *caPath, IN int isProduction)
int device_pingDevice()
int emv_activateTransaction(IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline)
int device_getMerchantRecord_Len(IN int index, OUT BYTE *record, IN_OUT int *recordLen)
int device_getRTCDateTime(IN BYTE *dateTime, IN_OUT int *dateTimeLen)
int emv_setTerminalMajorConfiguration(IN int configuration)
int ctls_getAllConfigurationGroups(OUT BYTE *tlv, IN_OUT int *tlvLen)
int ctls_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
int device_controlUserInterface(IN BYTE *values)
int device_setBurstMode(IN BYTE mode)
int icc_getICCReaderStatus(OUT BYTE *status)
int ctls_cancelTransaction()
void emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE *tags, IN int tagsLen)
int device_isAttached(int deviceType)
int emv_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
void ctls_registerCallBk(pMSR_callBack pCTLSf)
int ctls_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 ctls_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
int emv_removeCAPK(IN BYTE *capk, IN int capkLen)
int emv_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
int emv_removeCRL(IN BYTE *list, IN int lsLen)
int icc_powerOffICC()
void(* pCMR_callBack)(int, IDTCMRData *)
Definition: libIDT_VP3300_AJ.h:57
int emv_getAutoAuthenticateTransaction()
int device_close()
void emv_allowFallback(IN int allow)
int device_isConnected()
int device_cancelTransaction()
void(* pCSFS_callBack)(BYTE status)
Definition: libIDT_VP3300_AJ.h:63
int device_enablePassThrough(int enablePassThrough)
int device_setCurrentDevice(int deviceType)
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)
int emv_setCRL(IN BYTE *list, IN int lsLen)
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 device_getCurrentDeviceType()
void emv_registerCallBk(pEMV_callBack pEMVf)
int device_getMerchantRecord(IN int index, OUT BYTE *record)
void(* pMSR_callBack)(int, IDTMSRData)
Definition: libIDT_VP3300_AJ.h:39
int emv_cancelTransaction()
#define IN
void device_registerRKICallBk(pRKI_callBack pRKIf)
int ctls_setTerminalData(IN BYTE *tlv, IN int tlvLen)
void(* pMessageHotplug)(int, int)
Definition: libIDT_VP3300_AJ.h:15
int ctls_setApplicationData(IN BYTE *tlv, IN int tlvLen)
int emv_removeAllApplicationData()
int device_activateTransaction(IN const int _timeout, IN BYTE *tags, IN int tagsLen)
int ctls_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, 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 msr_registerCallBkp(pMSR_callBackp pMSRf)
int icc_powerOnICC(OUT BYTE *ATR, IN_OUT int *inLen)
int icc_exchangeAPDU(IN BYTE *c_APDU, IN int cLen, OUT BYTE *reData, IN_OUT int *reLen)
int emv_setTerminalData(IN BYTE *tlv, IN int tlvLen)
int ctls_setCAPK(IN BYTE *capk, IN int capkLen)
int emv_removeApplicationData(IN BYTE *AID, IN int AIDLen)
int ctls_removeAllCAPK()
void(* ftpComm_callBack)(int, int, int)
Definition: libIDT_VP3300_AJ.h:83
int emv_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
int msr_startMSRSwipe(IN int _timeout)
int emv_getAutoCompleteTransaction()
void device_registerCardStatusFrontSwitchCallBk(pCSFS_callBack pCSFSf)
int device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen)
int device_init()
void(* pReadDataLog)(BYTE *, int)
Definition: libIDT_VP3300_AJ.h:27
int emv_setCAPK(IN BYTE *capk, IN int capkLen)
void(* pPIN_callBack)(int, IDTPINData *)
Definition: libIDT_VP3300_AJ.h:51
char * SDK_Version()
int executeTransaction(WorldPayData *data, pWP_callBack wpCallback, int requestOnly)
int ctls_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
void registerHotplugCallBk(pMessageHotplug pMsgHotplug)
void(* pMSR_callBackp)(int, IDTMSRData *)
Definition: libIDT_VP3300_AJ.h:45
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 device_getFirmwareVersion_Len(OUT char *firmwareVersion, IN_OUT int *firmwareVersionLen)
int device_pollForToken(IN int timeout, OUT BYTE *respData, IN_OUT int *respDataLen)
void(* pWN_callBack)(char *, int, int)
Definition: libIDT_VP3300_AJ.h:111
void(* pSendDataLog)(BYTE *, int)
Definition: libIDT_VP3300_AJ.h:21
int device_setPollMode(IN BYTE mode)
int cancelWorldNet()
void device_setTransactionExponent(int exponent)
void device_registerCameraCallBk(pCMR_callBack pCMRf)
int msr_cancelMSRSwipe()
void emv_setAutoAuthenticateTransaction(IN int authenticate)
int emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE *updatedTLV, IN int updatedTLVLen)
int ctls_setConfigurationGroup(IN BYTE *tlv, IN int tlvLen)
#define IN_OUT
void(* httpComm_callBack)(BYTE *, int)
Definition: libIDT_VP3300_AJ.h:89
int ctls_getConfigurationGroup(IN int group, OUT BYTE *tlv, OUT int *tlvLen)
int config_getSerialNumber_Len(OUT char *sNumber, IN_OUT int *sNumberLen)
void device_setThreadStackSize(int threadSize)
int device_getFirmwareVersion(OUT char *firmwareVersion)
#define OUT
void pin_registerCallBk(pPIN_callBack pPINf)
int ctls_activateTransaction(IN const int _timeout, IN BYTE *tags, IN int tagsLen)
int config_getSerialNumber(OUT char *sNumber)
int setAbsoluteLibraryPath(const char *absoluteLibraryPath)
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_setRTCDateTime(IN BYTE *dateTime, IN int dateTimeLen)
void registerLogCallBk(pSendDataLog pFSend, pReadDataLog pFRead)