IDTech Universal SDK  1.0.35.036
API reference for C++
libIDT_MiniSmartII.h
Go to the documentation of this file.
1 #ifndef __LIBIDT_AUGUSTA_H___
2 # define __LIBIDT_AUGUSTA_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 
239 int
240 rs232_device_init(int deviceType, int port_number, int brate);
241 
242 
285 int
286 device_setCurrentDevice(int deviceType);
287 
288 
294 int
295 device_close();
296 
655 void
656 device_getResponseCodeString(IN int returnCode, OUT char * despcrition);
657 
662 int
664 
671 int
672 device_isAttached(int deviceType);
673 
684 int
685 device_getFirmwareVersion(OUT char * firmwareVersion);
686 
696 int
697 device_getFirmwareVersion_Len(OUT char * firmwareVersion, IN_OUT int * firmwareVersionLen);
698 
704 int
706 
724 // int device_SendDataCommand(IN BYTE* cmd, IN int cmdLen, OUT BYTE* response, IN_OUT int *respLen);
725 int
726 device_SendDataCommand(IN BYTE * cmd, IN int cmdLen, IN BYTE * data, IN int dataLen, OUT BYTE * response,
727  IN_OUT int * respLen);
728 
754 int
755 device_updateFirmware(IN BYTE * firmwareData, IN int firmwareDataLen, IN char * firmwareName, IN int encryptionType,
756  IN BYTE * keyBlob, IN int keyBlobLen);
757 
767 int
769 
792 // intervalOn = 500, int intervalOff = 500
793 int
794 device_controlLED(byte indexLED, byte control, int intervalOn, int intervalOff);
795 
796 
810 int
811 device_controlLED_ICC(int controlMode, int interval);
812 
833 // int intervalOn = 500, int intervalOff = 500)
834 
835 int
836 device_controlLED_MSR(byte control, int intervalOn, int intervalOff);
837 
851 int
852 device_controlBeep(int index, int frequency, int duration);
853 
918 int
919 device_getKeyStatus(int * newFormat, BYTE * status, int * statusLen);
920 
929 int
931 
941 void
942 device_setSDKWaitTime(int waitTime);
943 
952 int
954 
962 void
963 device_setThreadStackSize(int threadSize);
964 
975 int
976 config_getModelNumber(OUT char * sNumber);
977 
987 int
988 config_getModelNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
989 
1000 int
1001 config_getSerialNumber(OUT char * sNumber);
1002 
1012 int
1013 config_getSerialNumber_Len(OUT char * sNumber, IN_OUT int * sNumberLen);
1014 
1029 int
1030 config_setLEDController(int firmwareControlMSRLED, int firmwareControlICCLED);
1031 
1045 int
1046 config_getLEDController(int * firmwareControlMSRLED, int * firmwareControlICCLED);
1047 
1057 int
1058 config_setBeeperController(int firmwareControlBeeper);
1059 
1068 int
1069 config_getBeeperController(int * firmwareControlBeeper);
1070 
1090 int
1091 config_setEncryptionControl(int msr, int icc);
1092 
1112 int
1113 config_getEncryptionControl(int * msr, int * icc);
1114 
1125 int
1126 icc_enable(IN int withNotification);
1127 
1133 int
1134 icc_disable();
1135 
1145 int
1146 icc_powerOnICC(OUT BYTE * ATR, IN_OUT int * inLen);
1147 
1158 int
1159 icc_powerOffICC();
1160 
1174 int
1175 icc_exchangeAPDU(IN BYTE * c_APDU, IN int cLen, OUT BYTE * reData, IN_OUT int * reLen);
1176 
1209 int
1210 icc_exchangeEncryptedAPDU(IN BYTE * c_APDU, IN int cLen, OUT BYTE * reData, IN_OUT int * reLen);
1211 
1222 int
1223 icc_getAPDU_KSN(OUT BYTE * KSN, IN_OUT int * inLen);
1224 
1236 int
1237 icc_getFunctionStatus(OUT int * enabled, OUT int * withNotification);
1238 
1249 int
1250 icc_getICCReaderStatus(OUT BYTE * status);
1251 
1263 int
1264 icc_getKeyFormatForICCDUKPT(OUT BYTE * format);
1265 
1278 int
1279 icc_getKeyTypeForICCDUKPT(OUT BYTE * type);
1280 
1291 int
1292 emv_getEMVKernelVersion(OUT char * version);
1293 
1304 int
1305 emv_getEMVKernelVersion_Len(OUT char * version, IN_OUT int * versionLen);
1306 
1316 int
1317 emv_getEMVKernelCheckValue(OUT BYTE * checkValue, IN_OUT int * checkValueLen);
1318 
1327 int
1328 emv_getEMVConfigurationCheckValue(OUT BYTE * checkValue, IN_OUT int * checkValueLen);
1329 
1335 void
1336 emv_setAutoAuthenticateTransaction(IN int authenticate);
1337 
1343 void
1344 emv_setAutoCompleteTransaction(IN int complete);
1345 
1350 int
1352 
1357 int
1359 
1364 void
1365 emv_allowFallback(IN int allow);
1366 
1388 int
1389 emv_startTransaction(IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE * tags,
1390  IN int tagsLen, IN int forceOnline);
1391 
1396 void
1397 device_setTransactionExponent(int exponent);
1398 
1426 int
1427 device_startTransaction(IN double amount,
1428  IN double amtOther,
1429  IN int type,
1430  IN const int _timeout,
1431  IN BYTE * tags,
1432  IN int tagsLen);
1433 
1452 int
1453 emv_activateTransaction(IN int timeout, IN BYTE * tags, IN int tagsLen, IN int forceOnline);
1454 
1471 int
1472 emv_authenticateTransaction(IN BYTE * updatedTLV, IN int updatedTLVLen);
1473 
1491 int
1492 emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE * updatedTLV, IN int updatedTLVLen);
1493 
1513 int
1514 emv_completeTransaction(IN int commError, IN BYTE * authCode, IN int authCodeLen,
1515  IN BYTE * iad, IN int iadLen, IN BYTE * tlvScripts, IN int tlvScriptsLen, IN BYTE * tlv, IN int tlvLen);
1516 
1523 int
1525 
1530 int
1532 
1546 int
1547 emv_retrieveTransactionResult(IN BYTE * tags, IN int tagsLen, IDTTransactionData * cardData);
1548 
1564 int
1565 emv_callbackResponseLCD(IN int type, byte selection);
1566 
1578 int
1579 emv_callbackResponseMSR(IN BYTE * MSR, IN_OUT int MSRLen);
1580 
1593 int
1594 emv_retrieveApplicationData(IN BYTE * AID, IN int AIDLen, OUT BYTE * tlv, IN_OUT int * tlvLen);
1595 
1608 int
1609 emv_setApplicationData(IN BYTE * name, IN int nameLen, IN BYTE * tlv, IN int tlvLen);
1610 
1620 int
1621 emv_removeApplicationData(IN BYTE * AID, IN int AIDLen);
1622 
1632 int
1634 
1646 int
1647 emv_retrieveAIDList(OUT BYTE * AIDList, IN_OUT int * AIDListLen);
1648 
1660 int
1661 emv_retrieveTerminalData(OUT BYTE * tlv, IN_OUT int * tlvLen);
1662 
1674 int
1675 emv_setTerminalData(IN BYTE * tlv, IN int tlvLen);
1676 
1685 int
1687 
1708 int
1709 emv_retrieveCAPK(IN BYTE * capk, IN int capkLen, OUT BYTE * key, IN_OUT int * keyLen);
1710 
1729 int
1730 emv_setCAPK(IN BYTE * capk, IN int capkLen);
1731 
1742 int
1743 emv_removeCAPK(IN BYTE * capk, IN int capkLen);
1744 
1753 int
1755 
1766 int
1767 emv_retrieveCAPKList(OUT BYTE * keys, IN_OUT int * keysLen);
1768 
1777 int
1778 emv_retrieveTerminalID(OUT char * terminalID);
1779 
1788 int
1789 emv_retrieveTerminalID_Len(OUT char * terminalID, IN_OUT int * terminalIDLen);
1790 
1797 int
1798 emv_setTerminalID(IN char * terminalID);
1799 
1810 int
1811 emv_retrieveCRL(OUT BYTE * list, IN_OUT int * lssLen);
1812 
1825 int
1826 emv_setCRL(IN BYTE * list, IN int lsLen);
1827 
1838 int
1839 emv_removeCRL(IN BYTE * list, IN int lsLen);
1840 
1850 int
1852 
1853 # ifdef __cplusplus
1854 }
1855 # endif
1856 
1857 
1858 #endif // ifndef __LIBIDT_AUGUSTA_H___
1859 
void(* pMSR_callBackp)(int, IDTMSRData *)
Definition: libIDT_MiniSmartII.h:45
int icc_getAPDU_KSN(OUT BYTE *KSN, IN_OUT int *inLen)
int device_controlLED_ICC(int controlMode, int interval)
int emv_retrieveTerminalID_Len(OUT char *terminalID, IN_OUT int *terminalIDLen)
int device_getThreadStackSize()
int device_getCurrentDeviceType()
int emv_retrieveAIDList(OUT BYTE *AIDList, IN_OUT int *AIDListLen)
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_removeAllCAPK()
int emv_getAutoCompleteTransaction()
int icc_powerOffICC()
void(* ftpComm_callBack)(int, int, int)
Definition: libIDT_MiniSmartII.h:76
void device_setThreadStackSize(int threadSize)
int icc_powerOnICC(OUT BYTE *ATR, IN_OUT int *inLen)
int setAbsoluteLibraryPath(const char *absoluteLibraryPath)
int icc_exchangeEncryptedAPDU(IN BYTE *c_APDU, IN int cLen, OUT BYTE *reData, IN_OUT int *reLen)
int emv_retrieveCRL(OUT BYTE *list, IN_OUT int *lssLen)
int emv_retrieveTerminalData(OUT BYTE *tlv, IN_OUT int *tlvLen)
void(* pReadDataLog)(BYTE *, int)
Definition: libIDT_MiniSmartII.h:27
int rs232_device_init(int deviceType, int port_number, int brate)
void device_setTransactionExponent(int exponent)
void(* pEMV_callBack)(int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int)
Definition: libIDT_MiniSmartII.h:33
int device_rebootDevice()
int emv_getEMVKernelCheckValue(OUT BYTE *checkValue, IN_OUT int *checkValueLen)
int emv_getEMVConfigurationCheckValue(OUT BYTE *checkValue, IN_OUT int *checkValueLen)
void emv_registerCallBk(pEMV_callBack pEMVf)
void(* pCMR_callBack)(int, IDTCMRData *)
Definition: libIDT_MiniSmartII.h:57
int emv_removeTerminalData()
int icc_exchangeAPDU(IN BYTE *c_APDU, IN int cLen, OUT BYTE *reData, IN_OUT int *reLen)
int emv_removeCAPK(IN BYTE *capk, IN int capkLen)
int emv_activateTransaction(IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline)
void(* pMessageHotplug)(int, int)
Definition: libIDT_MiniSmartII.h:15
#define IN_OUT
void comm_registerV4Callback(v4Comm_callBack cBack)
int config_getSerialNumber_Len(OUT char *sNumber, IN_OUT int *sNumberLen)
int emv_setCRL(IN BYTE *list, IN int lsLen)
int emv_setCAPK(IN BYTE *capk, IN int capkLen)
int icc_disable()
int device_getKeyStatus(int *newFormat, BYTE *status, int *statusLen)
void(* pSendDataLog)(BYTE *, int)
Definition: libIDT_MiniSmartII.h:21
int device_close()
int emv_retrieveTransactionResult(IN BYTE *tags, IN int tagsLen, IDTTransactionData *cardData)
#define IN
int device_controlLED_MSR(byte control, int intervalOn, int intervalOff)
void(* v4Comm_callBack)(BYTE, BYTE, BYTE *, int)
Definition: libIDT_MiniSmartII.h:90
void device_registerCameraCallBk(pCMR_callBack pCMRf)
void(* httpComm_callBack)(BYTE *, int)
Definition: libIDT_MiniSmartII.h:82
int emv_removeApplicationData(IN BYTE *AID, IN int AIDLen)
int device_controlLED(byte indexLED, byte control, int intervalOn, int intervalOff)
void pin_registerCallBk(pPIN_callBack pPINf)
int icc_getKeyFormatForICCDUKPT(OUT BYTE *format)
int emv_retrieveApplicationData(IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen)
int device_startTransaction(IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen)
int emv_authenticateTransaction(IN BYTE *updatedTLV, IN int updatedTLVLen)
int device_controlBeep(int index, int frequency, int duration)
void emv_setAutoAuthenticateTransaction(IN int authenticate)
void msr_registerCallBkp(pMSR_callBackp pMSRf)
int device_getFirmwareVersion_Len(OUT char *firmwareVersion, IN_OUT int *firmwareVersionLen)
int config_setBeeperController(int firmwareControlBeeper)
int emv_setTerminalData(IN BYTE *tlv, IN int tlvLen)
void device_setSDKWaitTime(int waitTime)
int emv_removeCRL(IN BYTE *list, IN int lsLen)
int emv_removeAllCRL()
int icc_getFunctionStatus(OUT int *enabled, OUT int *withNotification)
int emv_setApplicationData(IN BYTE *name, IN int nameLen, IN BYTE *tlv, IN int tlvLen)
void registerHotplugCallBk(pMessageHotplug pMsgHotplug)
int emv_authenticateTransactionWithTimeout(IN int timeout, IN BYTE *updatedTLV, IN int updatedTLVLen)
int emv_callbackResponseMSR(IN BYTE *MSR, IN_OUT int MSRLen)
void msr_registerCallBk(pMSR_callBack pMSRf)
int emv_setTerminalID(IN char *terminalID)
void device_registerCardStatusFrontSwitchCallBk(pCSFS_callBack pCSFSf)
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 emv_getAutoAuthenticateTransaction()
int config_setEncryptionControl(int msr, int icc)
int emv_retrieveCAPKList(OUT BYTE *keys, IN_OUT int *keysLen)
int config_setLEDController(int firmwareControlMSRLED, int firmwareControlICCLED)
void device_getResponseCodeString(IN int returnCode, OUT char *despcrition)
int config_getSerialNumber(OUT char *sNumber)
int config_getLEDController(int *firmwareControlMSRLED, int *firmwareControlICCLED)
int icc_getKeyTypeForICCDUKPT(OUT BYTE *type)
int config_getModelNumber(OUT char *sNumber)
char * SDK_Version()
int emv_getEMVKernelVersion_Len(OUT char *version, IN_OUT int *versionLen)
int config_getEncryptionControl(int *msr, int *icc)
#define OUT
int device_getFirmwareVersion(OUT char *firmwareVersion)
int emv_retrieveCAPK(IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen)
int emv_cancelTransaction()
int device_setCurrentDevice(int deviceType)
int device_getSDKWaitTime()
int emv_getEMVKernelVersion(OUT char *version)
void emv_setAutoCompleteTransaction(IN int complete)
int device_SendDataCommand(IN BYTE *cmd, IN int cmdLen, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen)
int device_isAttached(int deviceType)
int device_cancelTransaction()
void(* pCSFS_callBack)(BYTE status)
Definition: libIDT_MiniSmartII.h:63
void comm_registerHTTPCallback(httpComm_callBack cBack)
int device_isConnected()
void registerLogCallBk(pSendDataLog pFSend, pReadDataLog pFRead)
int icc_getICCReaderStatus(OUT BYTE *status)
int device_init()
void(* pPIN_callBack)(int, IDTPINData *)
Definition: libIDT_MiniSmartII.h:51
void(* pMSR_callBack)(int, IDTMSRData)
Definition: libIDT_MiniSmartII.h:39
void emv_allowFallback(IN int allow)
int emv_retrieveTerminalID(OUT char *terminalID)
int config_getModelNumber_Len(OUT char *sNumber, IN_OUT int *sNumberLen)
int emv_callbackResponseLCD(IN int type, byte selection)
int device_updateFirmware(IN BYTE *firmwareData, IN int firmwareDataLen, IN char *firmwareName, IN int encryptionType, IN BYTE *keyBlob, IN int keyBlobLen)
int emv_removeAllApplicationData()
int config_getBeeperController(int *firmwareControlBeeper)
int icc_enable(IN int withNotification)