IDTech Universal SDK  1.0.35.027
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 
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 
179 int
181 
191 void
192 device_setSDKWaitTime(int waitTime);
193 
202 int
204 
212 void
213 device_setThreadStackSize(int threadSize);
214 
220 void
222 
228 void
230 
235 char *
236 SDK_Version();
237 
246 int
247 setAbsoluteLibraryPath(const char * absoluteLibraryPath);
248 
256 int
257 device_init();
258 
300 int
301 device_setCurrentDevice(int deviceType);
302 
308 int
309 device_close();
310 
311 
371 void
372 device_getIDGStatusCodeString(IN int returnCode, OUT char * despcrition);
373 
374 
379 int
381 
388 int
389 device_isAttached(int deviceType);
390 
401 int
402 device_getFirmwareVersion(OUT char * firmwareVersion);
403 
413 int
414 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
415 
424 int
426 
469 int
470 device_controlUserInterface(IN BYTE * values);
471 
477 int
479 
480 
482 // * Send a Command to device
483 // *
484 // * Sends a command to the device .
485 // *
486 // * @param cmd buffer of command to execute.
487 // * @param cmdLen, the length of the buffer cmd.
488 // *
489 // * @param data buffer of IDG command data.
490 // * @param dataLen, the length of the buffer data.
491 // *
492 // * @param response Response data
493 // * @param respLen, the length of Response data
494 //
495 // * @return RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()
496 // */
497 //
498 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, IN BYTE* data, IN int dataLen, OUT BYTE* response, IN_OUT int *respLen);
499 
516 int
517 device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE * data, IN int dataLen, OUT BYTE * response,
518  IN_OUT int * respLen);
519 
530 int
531 device_enablePassThrough(int enablePassThrough);
532 
543 int
544 device_setBurstMode(IN BYTE mode);
545 
555 int
556 device_setPollMode(IN BYTE mode);
557 
571 int
572 device_setMerchantRecord(int index, int enabled, char * merchantID, char * merchantURL);
573 
595 int
596 device_getMerchantRecord(IN int index,
597  OUT BYTE * record);
598 
619 int
621  OUT BYTE * record, IN_OUT int * recordLen);
622 
632 int
633 device_getTransactionResults(IDTMSRData * cardData);
634 
692 int
693 device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
694  IN int tagsLen);
695 
700 void
701 device_setTransactionExponent(int exponent);
702 
757 int
758 device_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
759 
765 int
767 
782 int
783 device_getRTCDateTime(IN BYTE * dateTime, IN_OUT int * dateTimeLen);
784 
798 int
799 device_setRTCDateTime(IN BYTE * dateTime, IN int dateTimeLen);
800 
810 int
811 device_startRKI(const char * caPath, int isProduction);
812 
823 int
824 config_getSerialNumber(OUT char * sNumber);
825 
835 int
836 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
837 
838 
896 int
897 ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
898  IN int tagsLen);
899 
900 
955 int
956 ctls_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
957 
958 
969 int
971 
972 
985 int
986 ctls_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
987 
1003 int
1004 ctls_setApplicationData(IN BYTE * tlv, IN int tlvLen);
1005 
1015 int
1016 ctls_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1017 
1027 int
1029 
1041 int
1042 ctls_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1043 
1057 int
1058 ctls_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1059 
1074 int
1075 ctls_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1076 
1098 int
1099 ctls_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1100 
1119 int
1120 ctls_setCAPK(IN BYTE * capk, IN int capkLen);
1121 
1132 int
1133 ctls_removeCAPK(IN BYTE * capk, IN int capkLen);
1134 
1143 int
1145 
1156 int
1157 ctls_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1158 
1174 int
1175 ctls_setConfigurationGroup(IN BYTE * tlv, IN int tlvLen);
1176 
1191 int
1192 ctls_getConfigurationGroup(IN int group, OUT BYTE * tlv, OUT int * tlvLen);
1193 
1206 int
1207 ctls_getAllConfigurationGroups(OUT BYTE * tlv, IN_OUT int * tlvLen);
1208 
1219 int
1221 
1222 
1227 void
1228 emv_allowFallback(IN int allow);
1229 
1235 void
1236 emv_setAutoAuthenticateTransaction(IN int authenticate);
1237 
1243 void
1244 emv_setAutoCompleteTransaction(IN int complete);
1245 
1250 int
1252 
1257 int
1259 
1278 void
1279 emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE * tags,
1280  IN int tagsLen);
1281 
1303 int
1304 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
1305  IN int tagsLen, IN int forceOnline);
1306 
1307 
1326 int
1327 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
1328 
1345 int
1346 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
1347 
1365 int
1366 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
1367 
1387 int
1388 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
1389  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
1390 
1397 int
1399 
1412 int
1413 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1414 
1427 int
1428 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
1429 
1442 int
1443 emv_setApplicationDataTLV(IN BYTE * tlv, IN int tlvLen);
1444 
1454 int
1455 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1456 
1466 int
1468 
1480 int
1481 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1482 
1496 int
1497 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1498 
1513 int
1514 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1515 
1529 int
1530 emv_setTerminalMajorConfiguration(IN int configuration);
1531 
1553 int
1554 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1555 
1574 int
1575 emv_setCAPK(IN BYTE * capk, IN int capkLen);
1576 
1587 int
1588 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
1589 
1598 int
1600 
1611 int
1612 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1613 
1624 int
1625 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
1626 
1639 int
1640 emv_setCRL(IN BYTE * list, IN int lsLen);
1641 
1652 int
1653 emv_removeCRL(IN BYTE * list, IN int lsLen);
1654 
1664 int
1666 
1677 int
1678 icc_getICCReaderStatus(OUT BYTE * status);
1679 
1689 int
1690 icc_powerOnICC(OUT BYTE * ATR,
1691  IN_OUT int * inLen);
1692 
1703 int
1704 icc_powerOffICC();
1705 
1720 int
1721 icc_exchangeAPDU(IN BYTE * c_APDU,
1722  IN int cLen,
1723  OUT BYTE * reData,
1724  IN_OUT int * reLen);
1725 
1731 int
1733 
1741 int
1742 msr_startMSRSwipe(IN int _timeout);
1743 
1744 
1745 int
1746 msr_startMSRSwipe(IN int _timeout);
1747 
1748 
1762 int
1763 executeTransaction(WorldPayData * data, pWP_callBack wpCallback, int requestOnly);
1764 
1769 int
1770 cancelWorldPay();
1771 
1778 void
1779 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1780 
1781 # ifdef __cplusplus
1782 }
1783 # endif
1784 
1785 
1786 #endif // ifndef __LIBIDT_VP3300_AJ_H___
1787 
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 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
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)
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_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 device_startRKI(const char *caPath, int isProduction)
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)
void(* pWP_callBack)(char *, int, int)
Definition: libIDT_Device.h:53
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)
void(* pSendDataLog)(BYTE *, int)
Definition: libIDT_VP3300_AJ.h:21
int device_setPollMode(IN BYTE mode)
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 device_setRTCDateTime(IN BYTE *dateTime, IN int dateTimeLen)
void registerLogCallBk(pSendDataLog pFSend, pReadDataLog pFRead)