IDTech Universal SDK  1.0.35.027
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 
230 int
231 device_setCurrentDevice(int deviceType);
232 
238 int
239 device_close();
240 
241 
301 void
302 device_getIDGStatusCodeString(IN int returnCode, OUT char * despcrition);
303 
304 
309 int
311 
318 int
319 device_isAttached(int deviceType);
320 
331 int
332 device_getFirmwareVersion(OUT char * firmwareVersion);
333 
343 int
344 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
345 
354 int
356 
362 int
364 
366 // * Send a Command to device
367 // *
368 // * Sends a command to the device .
369 // *
370 // * @param cmd buffer of command to execute.
371 // * @param cmdLen, the length of the buffer cmd.
372 // *
373 // * @param data buffer of IDG command data.
374 // * @param dataLen, the length of the buffer data.
375 // *
376 // * @param response Response data
377 // * @param respLen, the length of Response data
378 //
379 // * @return RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()
380 // */
381 //
382 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, IN BYTE* data, IN int dataLen, OUT BYTE* response, IN_OUT int *respLen);
383 
400 int
401 device_SendDataCommandNEO(IN int cmd, IN int subCmd, IN BYTE * data, IN int dataLen, OUT BYTE * response,
402  IN_OUT int * respLen);
403 
414 int
415 device_enablePassThrough(int enablePassThrough);
416 
430 int
431 device_setMerchantRecord(int index, int enabled, char * merchantID, char * merchantURL);
432 
454 int
455 device_getMerchantRecord(IN int index,
456  OUT BYTE * record);
457 
478 int
480  OUT BYTE * record, IN_OUT int * recordLen);
481 
490 int
492 
502 void
503 device_setSDKWaitTime(int waitTime);
504 
513 int
515 
523 void
524 device_setThreadStackSize(int threadSize);
525 
536 int
537 config_getSerialNumber(OUT char * sNumber);
538 
548 int
549 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
550 
555 void
556 emv_allowFallback(IN int allow);
557 
563 void
564 emv_setAutoAuthenticateTransaction(IN int authenticate);
565 
571 void
572 emv_setAutoCompleteTransaction(IN int complete);
573 
578 int
580 
585 int
587 
609 int
610 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
611  IN int tagsLen, IN int forceOnline);
612 
613 
632 int
633 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
634 
651 int
652 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
653 
671 int
672 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
673 
693 int
694 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
695  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
696 
703 int
705 
718 int
719 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
720 
733 int
734 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
735 
748 int
749 emv_setApplicationDataTLV(IN BYTE * tlv, IN int tlvLen);
750 
760 int
761 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
762 
772 int
774 
786 int
787 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
788 
802 int
803 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
804 
819 int
820 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
821 
835 int
836 emv_setTerminalMajorConfiguration(IN int configuration);
837 
859 int
860 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
861 
880 int
881 emv_setCAPK(IN BYTE * capk, IN int capkLen);
882 
893 int
894 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
895 
904 int
906 
917 int
918 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
919 
930 int
931 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
932 
945 int
946 emv_setCRL(IN BYTE * list, IN int lsLen);
947 
958 int
959 emv_removeCRL(IN BYTE * list, IN int lsLen);
960 
970 int
972 
983 int
984 icc_getICCReaderStatus(OUT BYTE * status);
985 
995 int
996 icc_powerOnICC(OUT BYTE * ATR,
997  IN_OUT int * inLen);
998 
1009 int
1010 icc_powerOffICC();
1011 
1026 int
1027 icc_exchangeAPDU(IN BYTE * c_APDU,
1028  IN int cLen,
1029  OUT BYTE * reData,
1030  IN_OUT int * reLen);
1031 
1032 
1038 int
1040 
1048 int
1049 msr_startMSRSwipe(IN int _timeout);
1050 
1051 
1058 void
1059 parseMSRData(IN BYTE * resData, IN int resLen, IN_OUT IDTMSRData * cardData);
1060 
1061 # ifdef __cplusplus
1062 }
1063 # endif
1064 
1065 
1066 #endif // ifndef __LIBIDT_UNIPAYI_V_H___
1067 
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)