IDTech Universal SDK  1.0.35.036
API reference for C++
libIDT_UniPayI_V.h
Go to the documentation of this file.
1 #ifndef __LIBIDT_UNIPAYI_V_H___
2 # define __LIBIDT_UNIPAYI_V_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 
76 typedef void (* ftpComm_callBack)(int, int, int);
77 
82 typedef void (* httpComm_callBack)(BYTE *, int);
83 
90 typedef void (* v4Comm_callBack)(BYTE, BYTE, BYTE *, int);
91 
92 
93 # ifdef __cplusplus
94 extern "C" {
95 # endif
96 
100 void
102 
106 void
108 
112 void
114 
118 void
120 
124 void
126 
130 void
132 
136 void
138 
142 void
144 
150 void
152 
158 void
160 
165 char *
166 SDK_Version();
167 
176 int
177 setAbsoluteLibraryPath(const char * absoluteLibraryPath);
178 
186 int
187 device_init();
188 
231 int
232 device_setCurrentDevice(int deviceType);
233 
239 int
240 device_close();
241 
242 
302 void
303 device_getIDGStatusCodeString(IN int returnCode, OUT char * despcrition);
304 
305 
310 int
312 
319 int
320 device_isAttached(int deviceType);
321 
332 int
333 device_getFirmwareVersion(OUT char * firmwareVersion);
334 
344 int
345 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
346 
355 int
357 
363 int
365 
367 // * Send a Command to device
368 // *
369 // * Sends a command to the device .
370 // *
371 // * @param cmd buffer of command to execute.
372 // * @param cmdLen, the length of the buffer cmd.
373 // *
374 // * @param data buffer of IDG command data.
375 // * @param dataLen, the length of the buffer data.
376 // *
377 // * @param response Response data
378 // * @param respLen, the length of Response data
379 //
380 // * @return RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()
381 // */
382 //
383 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, IN BYTE* data, IN int dataLen, OUT BYTE* response, IN_OUT int *respLen);
384 
401 int
402 device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE * data, IN int dataLen, OUT BYTE * response,
403  IN_OUT int * respLen);
404 
415 int
416 device_enablePassThrough(int enablePassThrough);
417 
431 int
432 device_setMerchantRecord(int index, int enabled, char * merchantID, char * merchantURL);
433 
455 int
456 device_getMerchantRecord(IN int index,
457  OUT BYTE * record);
458 
479 int
481  OUT BYTE * record, IN_OUT int * recordLen);
482 
491 int
493 
503 void
504 device_setSDKWaitTime(int waitTime);
505 
514 int
516 
524 void
525 device_setThreadStackSize(int threadSize);
526 
537 int
538 config_getSerialNumber(OUT char * sNumber);
539 
549 int
550 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
551 
556 void
557 emv_allowFallback(IN int allow);
558 
564 void
565 emv_setAutoAuthenticateTransaction(IN int authenticate);
566 
572 void
573 emv_setAutoCompleteTransaction(IN int complete);
574 
579 int
581 
586 int
588 
610 int
611 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
612  IN int tagsLen, IN int forceOnline);
613 
614 
633 int
634 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
635 
652 int
653 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
654 
672 int
673 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
674 
694 int
695 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
696  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
697 
704 int
706 
719 int
720 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
721 
734 int
735 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
736 
749 int
750 emv_setApplicationDataTLV(IN BYTE * tlv, IN int tlvLen);
751 
761 int
762 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
763 
773 int
775 
787 int
788 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
789 
803 int
804 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
805 
820 int
821 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
822 
836 int
837 emv_setTerminalMajorConfiguration(IN int configuration);
838 
860 int
861 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
862 
881 int
882 emv_setCAPK(IN BYTE * capk, IN int capkLen);
883 
894 int
895 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
896 
905 int
907 
918 int
919 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
920 
931 int
932 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
933 
946 int
947 emv_setCRL(IN BYTE * list, IN int lsLen);
948 
959 int
960 emv_removeCRL(IN BYTE * list, IN int lsLen);
961 
971 int
973 
984 int
985 icc_getICCReaderStatus(OUT BYTE * status);
986 
996 int
997 icc_powerOnICC(OUT BYTE * ATR,
998  IN_OUT int * inLen);
999 
1010 int
1011 icc_powerOffICC();
1012 
1027 int
1028 icc_exchangeAPDU(IN BYTE * c_APDU,
1029  IN int cLen,
1030  OUT BYTE * reData,
1031  IN_OUT int * reLen);
1032 
1033 
1039 int
1041 
1049 int
1050 msr_startMSRSwipe(IN int _timeout);
1051 
1052 
1059 void
1060 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1061 
1062 # ifdef __cplusplus
1063 }
1064 # endif
1065 
1066 
1067 #endif // ifndef __LIBIDT_UNIPAYI_V_H___
1068 
int emv_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
int emv_setTerminalMajorConfiguration(IN int configuration)
void(* pEMV_callBack)(int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int)
Definition: libIDT_UniPayI_V.h:33
void registerLogCallBk(pSendDataLog pFSend, pReadDataLog pFRead)
int icc_powerOnICC(OUT BYTE *ATR, IN_OUT int *inLen)
int device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen)
int emv_setApplicationData(IN BYTE *name, IN int nameLen, IN BYTE *tlv, IN int tlvLen)
int device_getThreadStackSize()
void registerHotplugCallBk(pMessageHotplug pMsgHotplug)
int emv_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
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 msr_cancelMSRSwipe()
void emv_registerCallBk(pEMV_callBack pEMVf)
void emv_allowFallback(IN int allow)
int device_getSDKWaitTime()
int emv_setTerminalData(IN BYTE *tlv, IN int tlvLen)
int device_init()
#define IN
int emv_removeApplicationData(IN BYTE *AID, IN int AIDLen)
void(* pMessageHotplug)(int, int)
Definition: libIDT_UniPayI_V.h:15
#define IN_OUT
void pin_registerCallBk(pPIN_callBack pPINf)
int icc_powerOffICC()
void(* ftpComm_callBack)(int, int, int)
Definition: libIDT_UniPayI_V.h:76
int device_getCurrentDeviceType()
void device_registerCameraCallBk(pCMR_callBack pCMRf)
int config_getSerialNumber_Len(OUT char *sNumber, IN_OUT int *sNumberLen)
void device_setThreadStackSize(int threadSize)
void(* pCMR_callBack)(int, IDTCMRData *)
Definition: libIDT_UniPayI_V.h:57
int emv_authenticateTransaction(IN BYTE *updatedTLV, IN int updatedTLVLen)
int emv_removeAllCAPK()
int emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE *updatedTLV, IN int updatedTLVLen)
int emv_removeAllApplicationData()
int emv_removeAllCRL()
void comm_registerHTTPCallback(httpComm_callBack cBack)
void(* pSendDataLog)(BYTE *, int)
Definition: libIDT_UniPayI_V.h:21
int device_isConnected()
int emv_getAutoCompleteTransaction()
void(* httpComm_callBack)(BYTE *, int)
Definition: libIDT_UniPayI_V.h:82
void emv_setAutoCompleteTransaction(IN int complete)
char * SDK_Version()
void device_setSDKWaitTime(int waitTime)
#define OUT
int device_isAttached(int deviceType)
int device_getMerchantRecord_Len(IN int index, OUT BYTE *record, IN_OUT int *recordLen)
int device_setMerchantRecord(int index, int enabled, char *merchantID, char *merchantURL)
int emv_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
int device_getFirmwareVersion(OUT char *firmwareVersion)
void(* pPIN_callBack)(int, IDTPINData *)
Definition: libIDT_UniPayI_V.h:51
int device_pingDevice()
int emv_setCAPK(IN BYTE *capk, IN int capkLen)
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 device_getFirmwareVersion_Len(OUT char *firmwareVersion, IN_OUT int *firmwareVersionLen)
int emv_retrieveCRL(OUT BYTE *list, IN_OUT int *lssLen)
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)
void device_registerCardStatusFrontSwitchCallBk(pCSFS_callBack pCSFSf)
int config_getSerialNumber(OUT char *sNumber)
int emv_getAutoAuthenticateTransaction()
void(* pMSR_callBackp)(int, IDTMSRData *)
Definition: libIDT_UniPayI_V.h:45
void device_getIDGStatusCodeString(IN int returnCode, OUT char *despcrition)
int icc_getICCReaderStatus(OUT BYTE *status)
void(* v4Comm_callBack)(BYTE, BYTE, BYTE *, int)
Definition: libIDT_UniPayI_V.h:90
void parseMSRData(IN BYTE *resData, IN int resLen, IN_OUT IDTMSRData *cardData)
void msr_registerCallBk(pMSR_callBack pMSRf)
int device_setCurrentDevice(int deviceType)
int emv_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
void emv_setAutoAuthenticateTransaction(IN int authenticate)
int setAbsoluteLibraryPath(const char *absoluteLibraryPath)
int msr_startMSRSwipe(IN int _timeout)
int emv_setCRL(IN BYTE *list, IN int lsLen)
void(* pMSR_callBack)(int, IDTMSRData)
Definition: libIDT_UniPayI_V.h:39
int emv_cancelTransaction()
int emv_removeCRL(IN BYTE *list, IN int lsLen)
int icc_exchangeAPDU(IN BYTE *c_APDU, IN int cLen, OUT BYTE *reData, IN_OUT int *reLen)
void comm_registerV4Callback(v4Comm_callBack cBack)
void(* pCSFS_callBack)(BYTE status)
Definition: libIDT_UniPayI_V.h:63
int device_getMerchantRecord(IN int index, OUT BYTE *record)
void msr_registerCallBkp(pMSR_callBackp pMSRf)
int device_enablePassThrough(int enablePassThrough)
int device_close()
void(* pReadDataLog)(BYTE *, int)
Definition: libIDT_UniPayI_V.h:27
int emv_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
int emv_removeCAPK(IN BYTE *capk, IN int capkLen)