IDTech Universal SDK  1.0.35.027
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 
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 
176 void
178 
184 void
186 
191 char *
192 SDK_Version();
193 
202 int
203 setAbsoluteLibraryPath(const char * absoluteLibraryPath);
204 
212 int
213 device_init();
214 
256 int
257 device_setCurrentDevice(int deviceType);
258 
265 int
266 device_isAttached(int deviceType);
267 
273 int
274 device_close();
275 
276 
336 void
337 device_getIDGStatusCodeString(IN int returnCode, OUT char * despcrition);
338 
339 
344 int
346 
357 int
358 device_getFirmwareVersion(OUT char * firmwareVersion);
359 
369 int
370 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
371 
380 int
382 
425 int
426 device_controlUserInterface(IN BYTE * values);
427 
433 int
435 
436 
438 // * Send a Command to device
439 // *
440 // * Sends a command to the device .
441 // *
442 // * @param cmd buffer of command to execute.
443 // * @param cmdLen, the length of the buffer cmd.
444 // *
445 // * @param data buffer of IDG command data.
446 // * @param dataLen, the length of the buffer data.
447 // *
448 // * @param response Response data
449 // * @param respLen, the length of Response data
450 //
451 // * @return RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()
452 // */
453 //
454 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, IN BYTE* data, IN int dataLen, OUT BYTE* response, IN_OUT int *respLen);
455 
472 int
473 device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE * data, IN int dataLen, OUT BYTE * response,
474  IN_OUT int * respLen);
475 
486 int
487 device_enablePassThrough(int enablePassThrough);
488 
499 int
500 device_setBurstMode(IN BYTE mode);
501 
511 int
512 device_setPollMode(IN BYTE mode);
513 
527 int
528 device_setMerchantRecord(int index, int enabled, char * merchantID, char * merchantURL);
529 
551 int
552 device_getMerchantRecord(IN int index,
553  OUT BYTE * record);
554 
575 int
577  OUT BYTE * record, IN_OUT int * recordLen);
578 
588 int
589 device_getTransactionResults(IDTMSRData * cardData);
590 
612 int
613 device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
614  IN int tagsLen);
615 
620 void
621 device_setTransactionExponent(int exponent);
622 
677 int
678 device_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
679 
680 
686 int
688 
703 int
704 device_getRTCDateTime(IN BYTE * dateTime, IN_OUT int * dateTimeLen);
705 
719 int
720 device_setRTCDateTime(IN BYTE * dateTime, IN int dateTimeLen);
721 
731 int
732 device_startRKI(const char * caPath, int isProduction);
733 
742 int
744 
754 void
755 device_setSDKWaitTime(int waitTime);
756 
765 int
767 
775 void
776 device_setThreadStackSize(int threadSize);
777 
788 int
789 config_getSerialNumber(OUT char * sNumber);
790 
800 int
801 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
802 
803 
861 int
862 ctls_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE * tags,
863  IN int tagsLen);
864 
865 
920 int
921 ctls_activateTransaction(IN const int _timeout, IN BYTE * tags, IN int tagsLen);
922 
923 
934 int
936 
937 
950 int
951 ctls_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
952 
968 int
969 ctls_setApplicationData(IN BYTE * tlv, IN int tlvLen);
970 
980 int
981 ctls_removeApplicationData(IN BYTE * AID, IN int AIDLen);
982 
992 int
994 
1006 int
1007 ctls_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1008 
1022 int
1023 ctls_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1024 
1039 int
1040 ctls_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1041 
1063 int
1064 ctls_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1065 
1084 int
1085 ctls_setCAPK(IN BYTE * capk, IN int capkLen);
1086 
1097 int
1098 ctls_removeCAPK(IN BYTE * capk, IN int capkLen);
1099 
1108 int
1110 
1121 int
1122 ctls_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1123 
1139 int
1140 ctls_setConfigurationGroup(IN BYTE * tlv, IN int tlvLen);
1141 
1156 int
1157 ctls_getConfigurationGroup(IN int group, OUT BYTE * tlv, OUT int * tlvLen);
1158 
1171 int
1172 ctls_getAllConfigurationGroups(OUT BYTE * tlv, IN_OUT int * tlvLen);
1173 
1184 int
1186 
1187 
1192 void
1193 emv_allowFallback(IN int allow);
1194 
1200 void
1201 emv_setAutoAuthenticateTransaction(IN int authenticate);
1202 
1208 void
1209 emv_setAutoCompleteTransaction(IN int complete);
1210 
1215 int
1217 
1222 int
1224 
1243 void
1244 emv_setTransactionParameters(IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE * tags,
1245  IN int tagsLen);
1246 
1268 int
1269 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
1270  IN int tagsLen, IN int forceOnline);
1271 
1272 
1291 int
1292 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
1293 
1310 int
1311 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
1312 
1330 int
1331 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
1332 
1352 int
1353 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
1354  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
1355 
1362 int
1364 
1377 int
1378 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1379 
1392 int
1393 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
1394 
1407 int
1408 emv_setApplicationDataTLV(IN BYTE * tlv, IN int tlvLen);
1409 
1419 int
1420 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1421 
1431 int
1433 
1445 int
1446 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1447 
1461 int
1462 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1463 
1478 int
1479 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1480 
1494 int
1495 emv_setTerminalMajorConfiguration(IN int configuration);
1496 
1518 int
1519 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1520 
1539 int
1540 emv_setCAPK(IN BYTE * capk, IN int capkLen);
1541 
1552 int
1553 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
1554 
1563 int
1565 
1576 int
1577 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1578 
1589 int
1590 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
1591 
1604 int
1605 emv_setCRL(IN BYTE * list, IN int lsLen);
1606 
1617 int
1618 emv_removeCRL(IN BYTE * list, IN int lsLen);
1619 
1629 int
1631 
1642 int
1643 icc_getICCReaderStatus(OUT BYTE * status);
1644 
1654 int
1655 icc_powerOnICC(OUT BYTE * ATR,
1656  IN_OUT int * inLen);
1657 
1668 int
1669 icc_powerOffICC();
1670 
1685 int
1686 icc_exchangeAPDU(IN BYTE * c_APDU,
1687  IN int cLen,
1688  OUT BYTE * reData,
1689  IN_OUT int * reLen);
1690 
1696 int
1698 
1707 int
1708 msr_startMSRSwipe(IN int _timeout);
1709 
1723 int
1724 executeTransaction(WorldPayData * data, pWP_callBack wpCallback, int requestOnly);
1725 
1730 int
1731 cancelWorldPay();
1732 
1739 void
1740 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1741 
1742 # ifdef __cplusplus
1743 }
1744 # endif
1745 
1746 
1747 #endif // ifndef __LIBIDT_VP3300_COM_H___
1748 
#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(* pPIN_callBack)(int, IDTPINData *)
Definition: libIDT_VP3300_COM.h:51
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 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)
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()
void(* pWP_callBack)(char *, int, int)
Definition: libIDT_Device.h:53
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(const char *caPath, 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 device_getCurrentDeviceType()
int emv_removeAllApplicationData()
int device_isConnected()
int device_pingDevice()
int device_getRTCDateTime(IN BYTE *dateTime, IN_OUT int *dateTimeLen)
void comm_registerV4Callback(v4Comm_callBack cBack)
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)