![]() |
IDTech Universal SDK
1.0.35.036
API reference for C++
|
Windows C++ API. More...
#include "IDTDef.h"
Go to the source code of this file.
Macros | |
#define | IN |
#define | OUT |
#define | IN_OUT |
Typedefs | |
typedef void(* | pMessageHotplug) (int, int) |
typedef void(* | pSendDataLog) (BYTE *, int) |
typedef void(* | pReadDataLog) (BYTE *, int) |
typedef void(* | pEMV_callBack) (int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int) |
typedef void(* | pWP_callBack) (char *, int, int) |
typedef void(* | pWN_callBack) (char *, int, int) |
typedef void(* | pMSR_callBack) (int, IDTMSRData) |
typedef void(* | pMSR_callBackp) (int, IDTMSRData *) |
typedef void(* | pPIN_callBack) (int, IDTPINData *) |
typedef void(* | pLCD_callBack) (int, IDTLCDItem *) |
typedef void(* | pCMR_callBack) (int, IDTCMRData *) |
typedef void(* | pCSFS_callBack) (BYTE status) |
typedef void(* | pFW_callBack) (int, int, int, int, int) |
typedef void(* | pRKI_callBack) (int, char *) |
typedef void(* | httpComm_callBack) (BYTE *, int) |
typedef void(* | v4Comm_callBack) (BYTE, BYTE, BYTE *, int) |
typedef void(* | ftpComm_callBack) (int, int, int) |
typedef void(* | pLog_callback) (BYTE, char *) |
Functions | |
void | registerHotplugCallBk (pMessageHotplug pMsgHotplug) |
void | registerLogCallBk (pSendDataLog pFSend, pReadDataLog pFRead) |
void | emv_registerCallBk (pEMV_callBack pEMVf) |
void | loyalty_registerCallBk (pEMV_callBack pEMVf) |
void | msr_registerCallBk (pMSR_callBack pMSRf) |
void | msr_registerCallBkp (pMSR_callBackp pMSRf) |
void | ctls_registerCallBkp (pMSR_callBackp pMSRf) |
void | pin_registerCallBk (pPIN_callBack pPINf) |
void | lcd_registerCallBk (pLCD_callBack pLCDf) |
void | device_registerCameraCallBk (pCMR_callBack pCMRf) |
void | device_registerCardStatusFrontSwitchCallBk (pCSFS_callBack pCSFSf) |
void | device_registerFWCallBk (pFW_callBack pFWf) |
void | device_registerRKICallBk (pRKI_callBack pRKIf) |
char * | SDK_Version () |
int | setAbsoluteLibraryPath (const char *absoluteLibraryPath) |
int | device_setConfigPath (const char *path) |
int | device_setNEO2DevicesConfigs (IN const char *configs, IN int len) |
int | device_init () |
void | device_setNEOGen (int gen) |
void | device_setNEOAltDevice (int alt) |
int | device_getNEOAltDevice () |
int | rs232_device_init (int deviceType, int port_number, int brate) |
void | set_open_com_port_timeout (int timeout) |
int | device_setCurrentDevice (int deviceType) |
int | device_close () |
void | device_getResponseCodeString (IN int returnCode, OUT char *despcrition) |
void | device_getIDGStatusCodeString (IN int returnCode, OUT char *despcrition) |
int | device_isConnected () |
int | device_isAttached (int deviceType) |
int | device_startTransaction (IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen) |
int | loyalty_startTransaction (IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen, IN const int cardType, IN const int iccReadType) |
void | device_setTransactionExponent (int exponent) |
int | device_activateTransaction (IN const int _timeout, IN BYTE *tags, IN int tagsLen) |
int | device_cancelTransaction () |
int | loyalty_cancelTransaction () |
int | device_setCancelTransactionMode (int mode) |
int | device_cancelTransactionSilent (int enable) |
int | loyalty_cancelTransactionSilent (int enable) |
int | device_getDriveFreeSpace (OUT int *free, OUT int *used) |
int | device_listDirectory (IN char *directoryName, IN int directoryNameLen, IN int recursive, IN int onSD, OUT char *directory, IN_OUT int *directoryLen) |
int | device_createDirectory (IN char *directoryName, IN int directoryNameLen) |
int | device_deleteDirectory (IN char *dirName, IN int dirNameLen) |
int | device_transferFile (IN char *fileName, IN int fileNameLen, IN BYTE *file, IN int fileLen) |
int | device_deleteFile (IN char *fileName, IN int fileNameLen) |
int | device_queryFile (IN char *directoryName, IN int directoryNameLen, IN char *fileName, IN int fileNameLen, OUT int *isExist, OUT BYTE *timeStamp, IN_OUT int *timeStampLen, OUT char *fileSize, IN_OUT int *fileSizeLen) |
int | device_readFileFromSD (IN char *directoryName, IN int directoryNameLen, IN char *fileName, IN int fileNameLen, IN int startingOffset, IN int numBytes, OUT BYTE *fileData, IN_OUT int *fileDataLen) |
int | device_startListenNotifications () |
int | device_stopListenNotifications () |
int | device_getFirmwareVersion (OUT char *firmwareVersion) |
int | device_getFirmwareVersion_Len (OUT char *firmwareVersion, IN_OUT int *firmwareVersionLen) |
int | device_getDeviceTreeVersion (OUT char *deviceTreeVersion, IN_OUT int *deviceTreeVersionLen) |
int | device_getDateTime (OUT BYTE *dateTime) |
int | device_getDateTime_Len (OUT BYTE *dateTime, IN_OUT int *dateTimeLen) |
int | device_controlLED (byte indexLED, byte control, int intervalOn, int intervalOff) |
int | device_controlLED_ICC (int controlMode, int interval) |
int | device_controlLED_MSR (byte control, int intervalOn, int intervalOff) |
int | device_controlBeep (int index, int frequency, int duration) |
int | device_getDRS (BYTE *codeDRS, int *codeDRSLen) |
int | device_setCoreDumpLogFile (IN char *filename, IN int filenameLen) |
int | device_outputLog (IN char *filename, IN int filenameLen) |
int | device_getKeyStatus (int *newFormat, BYTE *status, int *statusLen) |
int | device_enterStopMode () |
int | device_setSleepModeTime (int time) |
int | device_verifyBackdoorKey () |
int | device_selfCheck () |
int | device_pingDevice () |
int | device_controlUserInterface (IN BYTE *values) |
int | device_controlIndicator (IN int indicator, IN int enable) |
int | device_getCurrentDeviceType () |
int | device_SendDataCommandNEO (IN int cmd, IN int subCmd, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen) |
int | device_SendDataCommand (IN BYTE *cmd, IN int cmdLen, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen) |
int | device_SendDataCommandITP (IN BYTE *cmd, IN int cmdLen, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen) |
int | device_rebootDevice () |
int | device_updateFirmware (IN BYTE *firmwareData, IN int firmwareDataLen, IN char *firmwareName, IN int encryptionType, IN BYTE *keyBlob, IN int keyBlobLen) |
int | device_getDeviceMemoryUsageInfo (OUT int *freeHeapSize, OUT int *notFreedBlockCnt, OUT int *minEverFreeHeapSize) |
int | device_loadCertCA (IN BYTE CertType, IN BYTE *CACertData, IN int CACertDataLen) |
int | device_rrcDownloadApp (IN char *zipFileName, IN int zipFileNameLen, IN char *appName, IN int appNameLen) |
int | device_rrcUninstallApp (IN char *appName, IN int appNameLen) |
int | device_rrcInstallApp (IN char *appName, IN int appNameLen) |
int | device_rrcRunApp (IN char *appName, IN int appNameLen) |
int | device_rrcConnect () |
int | device_rrcDisconnect () |
int | felica_authentication (IN BYTE *key, IN int keyLen) |
int | felica_readWithMac (IN int blockCnt, IN BYTE *blockList, IN int blockListLen, OUT BYTE *blockData, OUT int *blockDataLen) |
int | felica_writeWithMac (IN BYTE blockNum, IN BYTE *blockData, IN int blockDataLen) |
int | felica_read (IN BYTE *serviceCodeList, IN int serviceCodeListLen, IN int blockCnt, IN BYTE *blockList, IN int blockListLen, OUT BYTE *blockData, OUT int *blockDataLen) |
int | felica_write (IN BYTE *serviceCodeList, IN int serviceCodeListLen, IN int blockCnt, IN BYTE *blockList, IN int blockListLen, IN BYTE *blockData, IN int blockDataLen, OUT BYTE *statusFlag, OUT int *statusFlagLen) |
int | felica_poll (IN BYTE *systemCode, IN int systemCodeLen, OUT BYTE *respData, OUT int *respDataLen) |
int | felica_SendCommand (IN BYTE *command, IN int commandLen, OUT BYTE *respData, OUT int *respDataLen) |
int | felica_requestService (IN BYTE *nodeCode, IN int nodeCodeLen, OUT BYTE *respData, OUT int *respDataLen) |
int | felica_getCode () |
int | felica_cancelCodeEntry () |
int | config_getModelNumber (OUT char *sNumber) |
int | config_getModelNumber_Len (OUT char *sNumber, IN_OUT int *sNumberLen) |
int | device_setSystemLanguage (char *language) |
int | config_getSerialNumber (OUT char *sNumber) |
int | config_getSerialNumber_Len (OUT char *sNumber, IN_OUT int *sNumberLen) |
int | config_setCmdTimeOutDuration (IN int millisecond) |
int | config_setLEDController (int firmwareControlMSRLED, int firmwareControlICCLED) |
int | config_getLEDController (int *firmwareControlMSRLED, int *firmwareControlICCLED) |
int | config_setBeeperController (int firmwareControlBeeper) |
int | config_getBeeperController (int *firmwareControlBeeper) |
int | config_setEncryptionControl (int msr, int icc) |
int | config_getEncryptionControl (int *msr, int *icc) |
int | device_startRKI (IN const char *caPath, IN int isProduction) |
void | device_setRKI_URL (IN char *rkiURL, IN int rkiURLLen) |
int | device_enablePassThrough (int enablePassThrough) |
int | device_enableL80PassThrough (int enableL80PassThrough) |
int | device_enableL100PassThrough (int enableL100PassThrough) |
int | device_getL80PassThroughMode () |
int | device_getL100PassThroughMode () |
int | device_enhancedPassthrough (IN BYTE *data, IN int dataLen) |
int | device_setBurstMode (IN BYTE mode) |
int | device_setPollMode (IN BYTE mode) |
int | device_pollForToken (IN int timeout, OUT BYTE *respData, IN_OUT int *respDataLen) |
int | device_setMerchantRecord (int index, int enabled, char *merchantID, char *merchantURL) |
int | device_getMerchantRecord (IN int index, OUT BYTE *record) |
int | device_getMerchantRecord_Len (IN int index, OUT BYTE *record, IN_OUT int *recordLen) |
int | device_pollCardReader (OUT BYTE *status) |
int | device_pollCardReader_Len (OUT BYTE *status, IN_OUT int *statusLen) |
int | device_getSpectrumProKSN (IN int type, OUT BYTE *KSN) |
int | device_getSpectrumProKSN_Len (IN int type, OUT BYTE *KSN, IN_OUT int *KSNLen) |
int | device_calibrateParameters (BYTE delta) |
int | device_getRTCDateTime (IN BYTE *dateTime, IN_OUT int *dateTimeLen) |
int | device_setRTCDateTime (IN BYTE *dateTime, IN int dateTimeLen) |
int | device_configureButtons (IN BYTE done, IN BYTE swipe, IN BYTE delay) |
int | device_getButtonConfiguration (OUT BYTE *done, OUT BYTE *swipe, OUT BYTE *delay) |
int | device_disableBlueLED () |
int | device_enableBlueLED (IN BYTE *data, IN int dataLen) |
int | device_lcdDisplayClear () |
int | device_enableExternalLCDMessages (IN int enableExtLCDMsg) |
int | device_enableRFAntenna (IN int enableAntenna) |
int | device_turnOffYellowLED () |
int | device_turnOnYellowLED () |
int | device_buzzerOnOff () |
int | device_lcdDisplayLine1Message (IN BYTE *message, IN int messageLen) |
int | device_lcdDisplayLine2Message (IN BYTE *message, IN int messageLen) |
int | device_startQRCodeScan (IN int _timeout) |
int | device_startQRCodeScanWithDisplayWindowInfo (IN int _timeout, IN int x, IN int y, IN int width, IN int height) |
int | device_stopQRCodeScan () |
int | device_startTakingPhoto (IN int _timeout) |
int | device_stopTakingPhoto () |
int | device_stopAudio () |
int | device_playAudio (IN char *fileName, IN int fileNameLen, IN int onSD) |
int | device_getAudioVolume (OUT BYTE *volume) |
int | device_setAudioVolume (IN BYTE volume) |
int | device_getCameraParameters (OUT BYTE *isAutoFocus, OUT BYTE *focalLength) |
int | device_setCameraParameters (IN BYTE isAutoFocus, IN BYTE focalLength) |
int | device_getSDKWaitTime () |
void | device_setSDKWaitTime (int waitTime) |
int | device_getThreadStackSize () |
void | device_setThreadStackSize (int threadSize) |
void | device_toSDCard (int forSDCard) |
int | device_getTamperStatus (OUT int *isTampered) |
int | icc_enable (IN int withNotification) |
int | icc_disable () |
int | icc_powerOnICC (OUT BYTE *ATR, IN_OUT int *inLen) |
int | icc_powerOffICC () |
int | icc_exchangeAPDU (IN BYTE *c_APDU, IN int cLen, OUT BYTE *reData, IN_OUT int *reLen) |
int | icc_exchangeEncryptedAPDU (IN BYTE *c_APDU, IN int cLen, OUT BYTE *reData, IN_OUT int *reLen) |
int | icc_getAPDU_KSN (OUT BYTE *KSN, IN_OUT int *inLen) |
int | icc_getFunctionStatus (OUT int *enabled, OUT int *withNotification) |
int | icc_getICCReaderStatus (OUT BYTE *status) |
int | icc_getKeyFormatForICCDUKPT (OUT BYTE *format) |
int | icc_getKeyTypeForICCDUKPT (OUT BYTE *type) |
int | icc_setKeyFormatForICCDUKPT (IN BYTE format) |
int | icc_setKeyTypeForICCDUKPT (IN BYTE type) |
int | iso8583_get1987Handler (OUT DL_ISO8583_HANDLER *ISOHandler) |
int | iso8583_get1993Handler (OUT DL_ISO8583_HANDLER *ISOHandler) |
int | iso8583_get2003Handler (OUT DL_ISO8583_HANDLER *ISOHandler) |
int | iso8583_getField (IN DL_UINT16 dataField, IN DL_ISO8583_HANDLER *ISOHandler, OUT DL_ISO8583_FIELD_DEF *field) |
int | iso8583_initializeMessage (OUT DL_ISO8583_MSG *ISOMessage) |
int | iso8583_getMessageField (IN DL_UINT16 dataField, IN DL_ISO8583_MSG *ISOMessage, OUT DL_ISO8583_MSG_FIELD *messageField) |
int | iso8583_setMessageField (IN DL_UINT16 dataField, IN const DL_UINT8 *data, OUT DL_ISO8583_MSG *ISOMessage) |
int | iso8583_removeMessageField (IN DL_UINT16 dataField, OUT DL_ISO8583_MSG *ISOMessage) |
int | iso8583_packMessage (IN const DL_ISO8583_HANDLER *ISOHandler, IN const DL_ISO8583_MSG *ISOMessage, OUT DL_UINT8 *packedData, OUT DL_UINT16 *packedDataLength) |
int | iso8583_unpackMessage (IN const DL_ISO8583_HANDLER *ISOHandler, IN const DL_UINT8 *packedData, IN DL_UINT16 packedDataLength, OUT DL_ISO8583_MSG *ISOMessage) |
int | iso8583_freeMessage (IN DL_ISO8583_MSG *ISOMessage) |
int | iso8583_serializeToXML (IN DL_ISO8583_HANDLER *ISOHandler, IN DL_ISO8583_MSG *ISOMessage, OUT BYTE *serializedMessage, OUT int *serializedMessageLength) |
int | iso8583_deserializeFromXML (IN BYTE *serializedMessage, IN int serializedMessageLength, OUT DL_ISO8583_HANDLER *ISOHandler, OUT DL_ISO8583_MSG *ISOMessage) |
int | iso8583_displayMessage (IN DL_ISO8583_HANDLER *ISOHandler, IN DL_ISO8583_MSG *ISOMessage) |
int | lcd_resetInitialState () |
int | lcd_customDisplayMode (IN int enable) |
int | lcd_setForeBackColor (IN BYTE *foreRGB, IN int foreRGBLen, IN BYTE *backRGB, IN int backRGBLen) |
int | lcd_clearDisplay (IN BYTE control) |
int | lcd_captureSignature (IN int timeout) |
int | lcd_startSlideShow (IN char *files, IN int filesLen, IN int posX, IN int posY, IN int posMode, IN int touchEnable, IN int recursion, IN int touchTerminate, IN int delay, IN int loops, IN int clearScreen) |
int | lcd_cancelSlideShow (OUT BYTE *statusCode, IN_OUT int *statusCodeLen) |
int | lcd_setDisplayImage (IN char *file, IN int fileLen, IN int posX, IN int posY, IN int posMode, IN int touchEnable, IN int clearScreen) |
int | lcd_setBackgroundImage (IN char *file, IN int fileLen, IN int enable) |
int | lcd_displayText (IN int posX, IN int posY, IN int displayWidth, IN int displayHeight, IN int fontDesignation, IN int fontID, IN int screenPosition, IN char *displayText, OUT BYTE *graphicsID) |
int | lcd_displayText_Len (IN int posX, IN int posY, IN int displayWidth, IN int displayHeight, IN int fontDesignation, IN int fontID, IN int screenPosition, IN char *displayText, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen) |
int | lcd_displayParagraph (IN int posX, IN int posY, IN int displayWidth, IN int displayHeight, IN int fontDesignation, IN int fontID, IN int displayProperties, IN char *displayText) |
int | lcd_displayButton (IN int posX, IN int posY, IN int buttonWidth, IN int buttonHeight, IN int fontDesignation, IN int fontID, IN int displayPosition, IN char *buttonLabel, IN int buttonTextColorR, IN int buttonTextColorG, IN int buttonTextColorB, IN int buttonBackgroundColorR, IN int buttonBackgroundColorG, IN int buttonBackgroundColorB, OUT BYTE *graphicsID) |
int | lcd_displayButton_Len (IN int posX, IN int posY, IN int buttonWidth, IN int buttonHeight, IN int fontDesignation, IN int fontID, IN int displayPosition, IN char *buttonLabel, IN int buttonTextColorR, IN int buttonTextColorG, IN int buttonTextColorB, IN int buttonBackgroundColorR, IN int buttonBackgroundColorG, IN int buttonBackgroundColorB, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen) |
int | lcd_createList (IN int posX, IN int posY, IN int numOfColumns, IN int numOfRows, IN int fontDesignation, IN int fontID, IN int verticalScrollArrowsVisible, IN int borderedListItems, IN int borderdScrollArrows, IN int touchSensitive, IN int automaticScrolling, OUT BYTE *graphicsID) |
int | lcd_createList_Len (IN int posX, IN int posY, IN int numOfColumns, IN int numOfRows, IN int fontDesignation, IN int fontID, IN int verticalScrollArrowsVisible, IN int borderedListItems, IN int borderdScrollArrows, IN int touchSensitive, IN int automaticScrolling, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen) |
int | lcd_addItemToList (IN BYTE *listGraphicsID, IN char *itemName, IN char *itemID, IN int selected) |
int | lcd_getSelectedListItem (IN BYTE *listGraphicsID, OUT char *itemID) |
int | lcd_getSelectedListItem_Len (IN BYTE *listGraphicsID, OUT char *itemID, IN_OUT int *itemIDLen) |
int | lcd_clearEventQueue () |
int | lcd_getInputEvent (IN int timeout, OUT int *dataReceived, OUT BYTE *eventType, OUT BYTE *graphicsID, OUT BYTE *eventData) |
int | lcd_getInputEvent_Len (IN int timeout, OUT int *dataReceived, OUT BYTE *eventType, IN_OUT int *eventTypeLen, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen, OUT BYTE *eventData, IN_OUT int *eventDataLen) |
int | lcd_createInputField (IN BYTE *specs, IN int specsLen, OUT BYTE *graphicId) |
int | lcd_createInputField_Len (IN BYTE *specs, IN int specsLen, OUT BYTE *graphicId, IN_OUT int *graphicIdLen) |
int | lcd_getInputFieldValue (IN BYTE *graphicId, OUT BYTE *retData, IN_OUT int *retDataLen) |
int | lcd_createScreen (IN char *screenName, IN int screenNameLen, OUT int *ScreenID) |
int | lcd_destroyScreen (IN char *screenName, IN int screenNameLen) |
int | lcd_getActiveScreen (OUT char *screenName, IN_OUT int *screenNameLen) |
int | lcd_showScreen (IN char *screenName, IN int screenNameLen) |
int | lcd_getButtonEvent (OUT int *screenID, OUT int *objectID, OUT char *screenName, IN_OUT int *screenNameLen, OUT char *objectName, IN_OUT int *objectNameLen, OUT int *isLongPress) |
int | lcd_addButton (IN char *screenName, IN int screenNameLen, IN char *buttonName, IN int buttonNameLen, IN BYTE type, IN BYTE alignment, IN int xCord, IN int yCord, IN char *label, IN int labelLen, OUT IDTLCDItem *returnItem) |
int | lcd_addEthernet (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen, IN BYTE alignment, IN int xCord, IN int yCord, OUT IDTLCDItem *returnItem) |
int | lcd_addLED (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen, IN BYTE alignment, IN int xCord, IN int yCord, OUT IDTLCDItem *returnItem, IN BYTE *LED, IN int LEDLen) |
int | lcd_addText (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen, IN BYTE alignment, IN int xCord, IN int yCord, IN int width, IN int height, IN BYTE fontID, IN BYTE *color, IN int colorLen, IN char *label, IN int labelLen, OUT IDTLCDItem *returnItem) |
int | lcd_addImage (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen, IN BYTE alignment, IN int xCord, IN int yCord, IN char *filename, IN int filenameLen, OUT IDTLCDItem *returnItem) |
int | lcd_addVideo (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen, IN BYTE alignment, IN int xCord, IN int yCord, IN char *filename, IN int filenameLen, OUT IDTLCDItem *returnItem) |
int | lcd_addExtVideo (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen, IN BYTE alignment, IN int xCord, IN int yCord, IN BYTE loop, IN BYTE numVideos, IN char *filenames, IN int filenamesLen, OUT IDTLCDItem *returnItem) |
int | lcd_cloneScreen (IN char *screenName, IN int screenNameLen, IN char *cloneName, IN int cloneNameLen, OUT int *cloneID) |
int | lcd_updateLabel (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen, IN char *label, IN int labelLen) |
int | lcd_updateColor (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen, IN BYTE *color, IN int colorLen) |
int | lcd_updatePosition (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen, IN BYTE alignment, IN int new_xCord, IN int new_yCord) |
int | lcd_removeItem (IN char *screenName, IN int screenNameLen, IN char *objectName, IN int objectNameLen) |
int | lcd_storeScreenInfo () |
int | lcd_loadScreenInfo () |
int | lcd_clearScreenInfo () |
int | lcd_getAllScreens (IN_OUT int *screenNumbers, OUT IDTScreenInfo *screenInfo) |
int | lcd_getAllObjects (IN char *screenName, IN int screenNameLen, IN_OUT int *objectNumbers, OUT IDTObjectInfo *objectInfo) |
int | lcd_queryScreenbyName (IN char *screenName, IN int screenNameLen, OUT int *result) |
int | lcd_linkUIWithTransactionMessageId (IN BYTE MessageId, IN char *screenName, IN int screenNameLen) |
int | lcd_queryObjectbyName (IN char *objectName, IN int objectNameLen, IN_OUT int *objectNumbers, OUT IDTScreenInfo *screenInfo) |
int | lcd_queryScreenbyID (IN int screenID, OUT int *result, OUT int *screenName, IN_OUT int *screenNameLen) |
int | lcd_queryObjectbyID (IN int objectID, OUT int *objectNumbers, OUT IDTScreenInfo *screenInfo) |
int | lcd_setBacklight (IN BYTE isBacklightOn, IN BYTE backlightVal) |
int | emv_getEMVKernelVersion (OUT char *version) |
int | emv_getEMVKernelVersion_Len (OUT char *version, IN_OUT int *versionLen) |
int | emv_getEMVKernelCheckValue (OUT BYTE *checkValue, IN_OUT int *checkValueLen) |
int | emv_getEMVConfigurationCheckValue (OUT BYTE *checkValue, IN_OUT int *checkValueLen) |
void | emv_setAutoAuthenticateTransaction (IN int authenticate) |
void | emv_setAutoCompleteTransaction (IN int complete) |
int | emv_getAutoAuthenticateTransaction () |
int | emv_getAutoCompleteTransaction () |
void | emv_allowFallback (IN int allow) |
void | emv_setTransactionParameters (IN double amount, IN double amtOther, IN int type, IN int timeout, IN BYTE *tags, IN int tagsLen) |
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_activateTransaction (IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline) |
int | emv_authenticateTransaction (IN BYTE *updatedTLV, IN int updatedTLVLen) |
int | emv_authenticateTransactionWithTimeout (IN int timeout, IN BYTE *updatedTLV, IN int updatedTLVLen) |
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_cancelTransaction () |
int | emv_retrieveTransactionResult (IN BYTE *tags, IN int tagsLen, IDTTransactionData *cardData) |
int | emv_callbackResponseLCD (IN int type, byte selection) |
int | emv_callbackResponseMSR (IN BYTE *MSR, IN_OUT int MSRLen) |
int | emv_retrieveApplicationData (IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | emv_setApplicationData (IN BYTE *name, IN int nameLen, IN BYTE *tlv, IN int tlvLen) |
int | emv_setApplicationDataTLV (IN BYTE *tlv, IN int tlvLen) |
int | emv_removeApplicationData (IN BYTE *AID, IN int AIDLen) |
int | emv_removeAllApplicationData () |
int | emv_retrieveAIDList (OUT BYTE *AIDList, IN_OUT int *AIDListLen) |
int | emv_retrieveTerminalData (OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | emv_setTerminalData (IN BYTE *tlv, IN int tlvLen) |
int | emv_setTerminalMajorConfiguration (IN int configuration) |
int | emv_removeTerminalData () |
int | emv_retrieveCAPK (IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen) |
int | emv_setCAPK (IN BYTE *capk, IN int capkLen) |
int | emv_removeCAPK (IN BYTE *capk, IN int capkLen) |
int | emv_removeAllCAPK () |
int | emv_retrieveCAPKList (OUT BYTE *keys, IN_OUT int *keysLen) |
int | emv_retrieveTerminalID (OUT char *terminalID) |
int | emv_retrieveTerminalID_Len (OUT char *terminalID, IN_OUT int *terminalIDLen) |
int | emv_setTerminalID (IN char *terminalID) |
int | emv_retrieveCRL (OUT BYTE *list, IN_OUT int *lssLen) |
int | emv_setCRL (IN BYTE *list, IN int lsLen) |
int | emv_removeCRL (IN BYTE *list, IN int lsLen) |
int | emv_removeAllCRL () |
int | msr_clearMSRData () |
int | msr_getMSRData (OUT BYTE *reData, IN_OUT int *reLen) |
int | msr_cancelMSRSwipe () |
int | msr_startMSRSwipe (IN int _timeout) |
int | executeTransaction (WorldPayData *data, pWP_callBack wpCallback, int requestOnly) |
int | forwardTransaction (IN pWP_callBack wpCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing) |
int | cancelWorldPay () |
int | executeTransaction_WorldNet (WorldNetData *data, pWN_callBack wnCallback, int requestOnly) |
int | forwardTransaction_WorldNet (IN char *apiKey, IN int apiKeyLen, IN pWN_callBack wnCallback, IN char *forwardID, IN int forwardIDLen, IN char *password, IN int passwordLen, IN int bypassProcessing) |
int | cancelWorldNet () |
void | printfChar (BYTE *data, int dataLen) |
void | parseMSRData (IN BYTE *resData, IN int resLen, IN_OUT IDTMSRData *cardData) |
int | msr_getKeyFormatForICCDUKPT (OUT BYTE *format) |
int | msr_getKeyTypeForICCDUKPT (OUT BYTE *type) |
int | msr_setKeyFormatForICCDUKPT (IN BYTE format) |
int | msr_setKeyTypeForICCDUKPT (IN BYTE type) |
int | msr_captureMode (int isBufferMode, int withNotification) |
int | msr_flushTrackData () |
int | msr_setExpirationMask (int mask) |
int | msr_getExpirationMask (BYTE *value) |
int | msr_setClearPANID (BYTE val) |
int | msr_getClearPANID (BYTE *value) |
int | msr_setSwipeForcedEncryptionOption (int track1, int track2, int track3, int track3card0) |
int | msr_getSwipeForcedEncryptionOption (BYTE *option) |
int | msr_setSwipeMaskOption (int track1, int track2, int track3) |
int | msr_getSwipeMaskOption (BYTE *option) |
int | msr_disable () |
int | msr_getFunctionStatus (int *enable, int *isBufferMode, int *withNotification) |
int | pin_getPIN (IN int mode, IN int PANSource, IN char *iccPAN, IN int iccPANLen, IN int startTimeout, IN int entryTimeout, IN char *language, IN int languageLen) |
int | pin_cancelPINEntry () |
int | pin_setKeyValues (int mode) |
int | pin_getEncryptedOnlinePIN (IN int keyType, IN int timeout) |
int | pin_getPAN (IN int getCSC, IN int timeout) |
int | pin_promptCreditDebit (IN char *currencySymbol, IN int currencySymbolLen, IN char *displayAmount, IN int displayAmountLen, IN int timeout, OUT BYTE *retData, IN_OUT int *retDataLen) |
int | pin_getEncryptedPIN (int keyType, char *PAN, int PANLen, char *message, int messageLen, int timeout) |
int | pin_promptForKeyInput (int messageID, int languageID, int maskInput, int minLen, int maxLen, int timeout) |
int | pin_promptForAmountInput (int messageID, int languageID, int minLen, int maxLen, int timeout) |
int | pin_getFunctionKey (int timeout) |
int | pin_sendBeep (int frequency, int duration) |
int | pin_capturePin (IN int timeout, IN int type, IN char *PAN, IN int PANLen, IN int minPIN, IN int maxPIN, IN char *message, IN int messageLen) |
int | pin_capturePinExt (IN int type, IN char *PAN, IN int PANLen, IN int minPIN, IN int maxPIN, IN char *message, IN int messageLen, IN char *verify, IN int verifyLen) |
int | pin_promptForNumericKeyWithSwipe (IN int timeout, IN BYTE function, IN int minLen, IN int maxLen, IN char *line1, IN int line1Len, IN char *line2, IN int line2Len, BYTE *signature, IN int signatureLen) |
int | pin_promptForNumericKey (IN int timeout, IN int maskInput, IN int minLen, IN int maxLen, IN char *message, IN int messageLen, BYTE *signature, IN int signatureLen) |
int | pin_inputFromPrompt (BYTE mask, BYTE preClearText, BYTE postClearText, int minLen, int maxLen, char *lang, BYTE promptID, char *defaultResponse, int defaultResponseLen, int timeout) |
int | pin_promptForAmount (IN int timeout, IN int minLen, IN int maxLen, IN char *message, IN int messageLen, BYTE *signature, IN int signatureLen) |
int | pin_getPanEntry (IN int csc, IN int expDate, IN int ADR, IN int ZIP, IN int mod10CK, IN int timeout, IN int encPANOnly) |
int | lcd_savePrompt (int promptNumber, char *prompt, int promptLen) |
int | lcd_displayPrompt (int promptNumber, int lineNumber) |
int | lcd_displayMessage (int lineNumber, char *message, int messageLen) |
int | lcd_enableBacklight (int enable) |
int | lcd_getBacklightStatus (int *enabled) |
int | ws_requestCSR (OUT RequestCSR *csr) |
int | ws_loadSSLCert (IN char *name, IN int nameLen, IN char *dataDER, IN int dataDERLen) |
int | ws_revokeSSLCert (IN char *name, IN int nameLen) |
int | ws_deleteSSLCert (IN char *name, IN int nameLen) |
int | ws_getCertChainType (OUT int *type) |
int | ws_updateRootCertificate (IN char *name, IN int nameLen, IN char *dataDER, IN int dataDERLen, IN char *signature, IN int signatureLen) |
int | ctls_startTransaction (IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen) |
int | ctls_activateTransaction (IN const int _timeout, IN BYTE *tags, IN int tagsLen) |
int | ctls_cancelTransaction () |
int | ctls_retrieveApplicationData (IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | ctls_setApplicationData (IN BYTE *tlv, IN int tlvLen) |
int | ctls_removeApplicationData (IN BYTE *AID, IN int AIDLen) |
int | ctls_removeAllApplicationData () |
int | ctls_retrieveAIDList (OUT BYTE *AIDList, IN_OUT int *AIDListLen) |
int | ctls_retrieveTerminalData (OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | ctls_setTerminalData (IN BYTE *tlv, IN int tlvLen) |
int | ctls_retrieveCAPK (IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen) |
int | ctls_setCAPK (IN BYTE *capk, IN int capkLen) |
int | ctls_removeCAPK (IN BYTE *capk, IN int capkLen) |
int | ctls_removeAllCAPK () |
int | ctls_retrieveCAPKList (OUT BYTE *keys, IN_OUT int *keysLen) |
int | ctls_setConfigurationGroup (IN BYTE *tlv, IN int tlvLen) |
int | ctls_getConfigurationGroup (IN int group, OUT BYTE *tlv, OUT int *tlvLen) |
int | ctls_getAllConfigurationGroups (OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | ctls_removeConfigurationGroup (int group) |
int | ctls_displayOnlineAuthResult (IN int statusCode, IN BYTE *TLV, IN int TLVLen) |
void | parsePINBlockData (IN BYTE *resData, IN int resLen, IN_OUT IDTPINData *cardData) |
void | parsePINData (IN BYTE *resData, IN int resLen, IN_OUT IDTPINData *cardData) |
Windows C++ API.
Windows C++ Global API methods.
#define IN |
INPUT parameter.
#define IN_OUT |
INPUT / OUTPUT PARAMETER.
#define OUT |
OUTPUT parameter.
typedef void(* ftpComm_callBack) (int, int, int) |
Define the comm callback function to get FTP file transfer status
It should be passed as a parameter in a FTP request, Signature (int, int, int) = response code, current block, total blocks RESPONSE CODES: 100 = FILE DOWNLOAD STARTED 101 = FILE BLOCK XX OF XX RECEIVED 102 = FILE DOWNLOAD COMPLETED 103 = FILE DOWNLOAD TERMINATED PREMATURELY
typedef void(* httpComm_callBack) (BYTE *, int) |
Define the comm callback function to get the async url data
It should be registered using the comm_registerHTTPCallback,
typedef void(* pCMR_callBack) (int, IDTCMRData *) |
Define the camera callback function to get the image data
It should be registered using the device_registerCameraCallBk,
typedef void(* pCSFS_callBack) (BYTE status) |
Define the card status and front switch callback function to get card and front switch status
It should be registered using the device_registerCardStatusFrontSwitchCallBk,
typedef void(* pEMV_callBack) (int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int) |
Define the EMV callback function to get the transaction message/data/result.
It should be registered using the emv_registerCallBk,
typedef void(* pFW_callBack) (int, int, int, int, int) |
Define the FW callback function to get the status of the firmware update
It should be registered using the device_registerFWCallBk,
typedef void(* pLCD_callBack) (int, IDTLCDItem *) |
Define the LCD callback function to get the input LCDItem
It should be registered using the lcd_registerCallBk,
typedef void(* pLog_callback) (BYTE, char *) |
Define the log callback function to receive log messages.
typedef void(* pMessageHotplug) (int, int) |
Define the USB hot-plug callback function to monitor the info when plug in/out the reader.
It should be registered using the registerHotplugCallBk, The first integer parameter is device type, and the second integer parameter is either 0: Device Plugged Out or 1: Device Plugged In
typedef void(* pMSR_callBack) (int, IDTMSRData) |
Define the MSR callback function to get the MSR card data
It should be registered using the msr_registerCallBk, this callback function is for backward compatibility
typedef void(* pMSR_callBackp) (int, IDTMSRData *) |
Define the MSR callback function to get pointer to the MSR card data
It should be registered using the msr_registerCallBk, this callback function is recommended instead of pMSR_callBack
typedef void(* pPIN_callBack) (int, IDTPINData *) |
Define the PINPad callback function to get the input PIN Pad data
It should be registered using the pin_registerCallBk,
typedef void(* pReadDataLog) (BYTE *, int) |
Define the read response callback function to monitor the reading response from the reader.
It should be registered using the registerLogCallBk,
typedef void(* pRKI_callBack) (int, char *) |
Define the RKI callback function to get the status of the RKI
It should be registered using the device_registerRKICallBk,
typedef void(* pSendDataLog) (BYTE *, int) |
Define the send command callback function to monitor the sending command into the reader.
It should be registered using the registerLogCallBk,
typedef void(* pWN_callBack) (char *, int, int) |
Define the Worldnet callback function to get the transaction message/data/result.
typedef void(* pWP_callBack) (char *, int, int) |
Define the Worldpay callback function to get the transaction message/data/result.
typedef void(* v4Comm_callBack) (BYTE, BYTE, BYTE *, int) |
Define the comm callback function to receive the V4 Protocol packets received by the device from an external source (IP/USB/RS-232) It should be registered using the comm_registerV4Callback, Data callback will contain command, sub-command, and data from V4 packet
int cancelWorldNet | ( | ) |
Cancels WorldNet transaction.
int cancelWorldPay | ( | ) |
Cancels WorldPay transaction.
int config_getBeeperController | ( | int * | firmwareControlBeeper | ) |
Get the Beeper Controller Status - AUGUSTA Set the Beeper controlled Status by software or firmware
firmwareControlBeeper | 1 means firmware control the beeper, 0 means software control beeper. |
int config_getEncryptionControl | ( | int * | msr, |
int * | icc | ||
) |
Get Encryption Control - AUGUSTA
Get Encryption Control to switch status between MSR and ICC/EMV function. Following Encryption status supported:
msr |
|
icc |
|
int config_getLEDController | ( | int * | firmwareControlMSRLED, |
int * | firmwareControlICCLED | ||
) |
Get the LED Controller Status - AUGUSTA Get the MSR / ICC LED controlled status by software or firmware NOTE: The ICC LED always controlled by software.
firmwareControlMSRLED |
|
firmwareControlICCLED |
|
int config_getModelNumber | ( | OUT char * | sNumber | ) |
DEPRECATED : please use config_getModelNumber_Len(OUT char* sNumber, IN_OUT int *sNumberLen)
Polls device for Model Number
sNumber | Returns Model Number; needs to have at least 64 bytes of memory |
Polls device for Model Number
sNumber | Returns Model Number |
sNumber | length of Model Number |
int config_getSerialNumber | ( | OUT char * | sNumber | ) |
DEPRECATED : please use config_getSerialNumber_Len(OUT char* sNumber, IN_OUT int *sNumberLen)
Polls device for Serial Number
sNumber | Returns Serial Number; needs to have at least 64 bytes of memory |
Polls device for Serial Number
sNumber | Returns Serial Number |
sNumberLen | Length of Serial Number |
int config_setBeeperController | ( | int | firmwareControlBeeper | ) |
Set the Beeper Controller - AUGUSTA Set the Beeper controlled by software or firmware
firmwareControlBeeper | 1 means firmware control the beeper, 0 means software control beeper. |
int config_setCmdTimeOutDuration | ( | IN int | millisecond | ) |
Set the timeout duration for regular commands The new timeout value will affect all the functions actually send (sync) commands that doesn’t need to wait for a callback function, such as device_getFirmwareVersion(), device_pingDevice(), device_SendDataCommandNEO(), device_enablePassThrough(), device_setBurstMode(), device_setPollMode(), device_updateFirmware() …etc.
millisecond | timeout value in milliseconds. Please consult the firmware team for the proper value. |
int config_setEncryptionControl | ( | int | msr, |
int | icc | ||
) |
Set Encryption Control - AUGUSTA
Set Encryption Control to switch status between MSR and ICC/EMV function. Following Encryption status supported:
msr |
|
icc |
|
int config_setLEDController | ( | int | firmwareControlMSRLED, |
int | firmwareControlICCLED | ||
) |
Set the LED Controller - AUGUSTA Set the MSR / ICC LED controlled by software or firmware NOTE: The ICC LED always controlled by software.
firmwareControlMSRLED |
|
firmwareControlICCLED |
|
Start CTLS Transaction Request
Authorizes the CTLS transaction for an ICC card
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
tags | The tags to be included in the request. Passed as TLV stream. Example, tag 9F02 with amount 0x000000000100 would be 0x9F0206000000000100 |
tagsLen | The length of tags data buffer. |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of ctls_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DF01. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
int ctls_cancelTransaction | ( | ) |
Cancel EMV Transaction
Cancels the currently executing EMV transaction.
Display Online Authorization Result Use this command to display the status of an online authorization request on the reader's display (OK or NOT OK). Use this command after the reader sends an online request to the issuer. The SDK timeout of the command is set to 7 seconds.
statusCode | 1 = OK, 0 = NOT OK, 2 = ARC response 89 for Interac |
TLV | Optional TLV for AOSA |
TLVLen | TLV Length |
Retrieve All Configuration Groups
Returns all the Configuration Groups installed on the terminal for CTLS
tlv | The TLV elements data |
tlvLen | the length of tlv data buffer. |
Get Configuration Group
Retrieves the Configuration for the specified Group.
group | Configuration Group |
tlv | return data |
tlvLen | the length of tlv data buffer |
void ctls_registerCallBkp | ( | pMSR_callBackp | pMSRf | ) |
To register the ctls callback function to get the CTLS card data pointer. It's the same as msr_registerCallBkp(). (Pass NULL to disable the callback.)
int ctls_removeAllApplicationData | ( | ) |
Remove All Application Data
Removes all the Application Data
int ctls_removeAllCAPK | ( | ) |
Remove All Certificate Authority Public Key
Removes all the CAPK
Remove Application Data by AID Removes the Application Data for CTLS as specified by the AID name passed as a parameter
AID | Name of ApplicationID Must be between 5 and 16 bytes |
AIDLen | the length of AID data buffer |
Remove Certificate Authority Public Key
Removes the CAPK as specified by the RID/Index
capk | 6 byte CAPK = 5 bytes RID + 1 byte INDEX |
capkLen | the length of capk data buffer |
int ctls_removeConfigurationGroup | ( | int | group | ) |
Remove Configuration Group
Removes the Configuration as specified by the Group. Must not by group 0
group | Configuration Group |
RETURN_CODE | Values can be parsed with device_getIDGStatusCodeString() |
Retrieve AID list
Returns all the AID names installed on the terminal for CTLS. .
AIDList | array of AID name byte arrays |
AIDListLen | the length of AIDList array buffer |
int ctls_retrieveApplicationData | ( | IN BYTE * | AID, |
IN int | AIDLen, | ||
OUT BYTE * | tlv, | ||
IN_OUT int * | tlvLen | ||
) |
Retrieve Application Data by AID
Retrieves the Application Data as specified by the AID name passed as a parameter.
AID | Name of ApplicationID. Must be between 5 and 16 bytes |
AIDLen | the length of AID data buffer. |
tlv | The TLV elements of the requested AID |
tlvLen | the length of tlv data buffer. |
Retrieve Certificate Authority Public Key
Retrieves the CAPK for CTLS as specified by the RID/Index passed as a parameter.
capk | 6 bytes CAPK = 5 bytes RID + 1 byte Index |
capkLen | the length of capk data buffer |
key | Response returned as a CAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm] [20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
|
keyLen | the length of key data buffer |
Retrieve the Certificate Authority Public Key list
Returns all the CAPK RID and Index installed on the terminal.
keys | [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index |
keysLen | the length of keys data buffer |
Retrieve Terminal Data
Retrieves the Terminal Data for CTLS. This is configuration group 0 (Tag FFEE - > FFEE0100). The terminal data can also be retrieved by ctls_getConfigurationGroup(0).
tlv | Response returned as a TLV |
tlvLen | the length of tlv data buffer |
Set Application Data by AID
Sets the Application Data for CTLS as specified by TLV data
tlv | Application data in TLV format The first tag of the TLV data must be the group number (FFE4). The second tag of the TLV data must be the AID (9F06) |
Example valid TLV, for Group #2, AID a0000000035010: "ffe401029f0607a0000000051010ffe10101ffe50110ffe30114ffe20106"
tlvLen | the length of tlv data buffer |
Set Certificate Authority Public Key
Sets the CAPK as specified by the CAKey structure
capk | CAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
|
capkLen | the length of capk data buffer |
Set Configuration Group
Sets the Configuration Group for CTLS as specified by the TLV data
tlv | Configuration Group Data in TLV format The first tag of the TLV data must be the group number (FFE4 or DFEE2D). A second tag must exist |
tlvLen | the length of tlv data buffer |
Set Terminal Data
Sets the Terminal Data for CTLS as specified by the TLV. The first TLV must be Configuration Group Number (Tag FFE4). The terminal global data is group 0, so the first TLV would be FFE40100. Other groups can be defined using this method (1 or greater), and those can be retrieved with ctls_getConfigurationGroup(int group), and deleted with ctls_removeConfigurationGroup(int group). You cannot delete group 0
tlv | TerminalData configuration file |
tlvLen | the length of tlv data buffer |
RETURN_CODE | Values can be parsed with device_getIDGStatusCodeString() |
int ctls_startTransaction | ( | IN double | amount, |
IN double | amtOther, | ||
IN int | type, | ||
IN const int | _timeout, | ||
IN BYTE * | tags, | ||
IN int | tagsLen | ||
) |
Start CTLS Transaction Request
Authorizes the CTLS transaction for an ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) - SEE IMPORTANT NOTE BELOW |
amtOther | Other amount value, if any (tag value 9F03) - SEE IMPORTANT NOTE BELOW |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as TLV stream. Example, tag 9F0C with amount 0x000000000100 would be 0x9F0C06000000000100 If tags 9F02 (amount), 9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. |
tagsLen | The length of tags data buffer. |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of ctls_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DF01. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
Start Transaction Request
Authorizes the transaction for an MSR/CTLS/ICC card
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
tags | The tags to be included in the request. Passed as a TLV. Example, tag 9F02 with amount 0x000000000100 would be 0x9F0206000000000100 Be sure to include 9F02 (amount)and9C (transaction type). |
tagsLen | The length of tags data buffer. |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of device_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DF01. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101
9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
int device_buzzerOnOff | ( | ) |
Use this function to make the buzzer beep once
int device_calibrateParameters | ( | BYTE | delta | ) |
Calibrate reference parameters
delta | Delta value (0x02 standard default value) |
int device_cancelTransaction | ( | ) |
Cancel Transaction
Cancels the currently executing transaction.
int device_cancelTransactionSilent | ( | int | enable | ) |
Cancel Transaction Silent
Cancel transaction with or without showing the LCD message
enable | 0: With LCD message 1: Without LCD message |
int device_close | ( | ) |
Close the device
Configures the buttons on the ViVOpay Vendi reader
done | 0x01: the Done switch is enabled 0x00: the Done switch is disabled |
swipe | 0x01: the Swipe Card switch is enabled 0x00: the Swipe Card switch is disabled |
delay | an unsigned delay value (<= 30) in seconds |
int device_controlBeep | ( | int | index, |
int | frequency, | ||
int | duration | ||
) |
Control Beep - AUGUSTA
Controls the Beeper
index | For Augusta, must be set to 1 (only one beeper) |
frequency | Frequency, range 1000-20000 (suggest minimum 3000) |
duration | Duration, in milliseconds (range 1 - 65525) |
Control Indicators
Control the reader. If connected, returns success. Otherwise, returns timeout.
indicator | description as follows:
|
enable | TRUE = ON, FALSE = OFF |
int device_controlLED | ( | byte | indexLED, |
byte | control, | ||
int | intervalOn, | ||
int | intervalOff | ||
) |
Control MSR LED - AUGUSTA
Controls the LED for the MSR
indexLED | For Augusta, must be set to 1 (MSR LED) |
control | LED Status:
|
intervalOn | Blink interval ON, in ms (Range 200 - 2000) |
intervalOff | Blink interval OFF, in ms (Range 200 - 2000) |
intervalOn = 500, int intervalOff = 500
int device_controlLED_ICC | ( | int | controlMode, |
int | interval | ||
) |
Control ICC LED - AUGUSTA
Controls the LED for the ICC card slot
controlMode | 0 = off, 1 = solid, 2 = blink |
interval | Blink interval, in ms (500 = 500 ms) |
int device_controlLED_MSR | ( | byte | control, |
int | intervalOn, | ||
int | intervalOff | ||
) |
Control the MSR LED - AUGUSTA
Controls the MSR / ICC LED This API not recommended to control ICC LED
control |
|
intervalOn | Blink interval on time last, in ms (500 = 500 ms, valid from 200 to 2000) |
intervalOff | Blink interval off time last, in ms (500 = 500 ms, valid from 200 to 2000) |
int intervalOn = 500, int intervalOff = 500)
int device_controlUserInterface | ( | IN BYTE * | values | ) |
Control User Interface - NEO only
Controls the User Interface: Display, Beep, LED
values | Four bytes to control the user interface Byte[0] = LCD Message Messages 00-07 are normally controlled by the reader.
|
Create Directory This command adds a subdirectory to the indicated path.
directoryName | Directory Name. The data for this command is ASCII string with the complete path and directory name you want to create. You do not need to specify the root directory. Indicate subdirectories with a forward slash (/). |
directoryNameLen | Directory Name Length. |
Delete Directory This command deletes an empty directory. For NEO 2 devices, it will delete the directory even the directory is not empty.
dirName | Complete path of the directory you want to delete. You do not need to specify the root directory. Indicate subdirectories with a forward slash (/). For NEO 2 devices, to delete the root directory, simply pass "" with 0 for dirNameLen. |
dirNameLen | Directory Name Length. |
Delete File This command deletes a file or group of files.
filename | Complete path and file name of the file you want to delete. You do not need to specify the root directory. Indicate subdirectories with a forward slash (/). |
filenameLen | File Name Length. |
int device_disableBlueLED | ( | ) |
Stops the blue LEDs on the ViVOpay Vendi reader from flashing in left to right sequence and turns the LEDs off, and contactless function is disable at the same time
Use this function to control the blue LED behavior on the Vendi reader
data | Sequence data Byte 0 (Cycle): 0 = Cycle once, 1 = Repeat Byte 1 (LEDs): LED State Bitmap Byte 2-3 (Duration): Given in multiples of 10 millisecond Byte 4 (LED): LED State Bitmap Byte 5-6 (Duration): Given in multiples of 10 millisecond Byte 7-24 (Additional LED/Durations): Define up to 8 LED and duration pairs |
LED State Bitmap: Bit 8: Left blue LED, 0 = off, 1 = on Bit 7: Center Blue LED, 0 = off, 1 = on Bit 6: Right Blue LED0 = off, 1 = on Bit 5: Yellow LED, 0 = off, 1 = on Bit 4: Reserved for future use Bit 3: Reserved for future use Bit 2: Reserved for future use Bit 1: Reserved for future use
dataLen | Length of the sequence data: 0 or 4 to 25 bytes |
int device_enableExternalLCDMessages | ( | IN int | enableExtLCDMsg | ) |
Enable or disable the external LCD message It will turn off the external LCD messages including EMV transactions. (For the users who only need MSR and/or CTLS transactions.) The function only works for VP5300
enableExtLCDMsg | 1 = ON, 0 = OFF |
int device_enableL100PassThrough | ( | int | enableL100PassThrough | ) |
Enable L100 Pass Through
Enables Pass Through Mode for direct communication to L100 hook up to NEO II device
enableL100PassThrough | 1 = pass through ON, 0 = pass through OFF |
int device_enableL80PassThrough | ( | int | enableL80PassThrough | ) |
Enable L80 Pass Through
Enables Pass Through Mode for direct communication to L80 hook up to NEO II device
enableL80PassThrough | 1 = pass through ON, 0 = pass through OFF |
int device_enablePassThrough | ( | int | enablePassThrough | ) |
Enable Pass Through - NEO
Enables Pass Through Mode for direct communication with L1 interface (power on icc, send apdu, etc).
enablePassThrough | 1 = pass through ON, 0 = pass through OFF |
int device_enableRFAntenna | ( | IN int | enableAntenna | ) |
Enable or disable the RF Antenna
enableAntenna | 1 = ON, 0 = OFF |
Enables pass through mode for ICC. Required when direct ICC commands are required (power on/off ICC, exchange APDU)
data | The data includes Poll Timeout, Flags, Contact Interface to Use, Beep Indicator, LED Status, and Display Strings. |
dataLen | length of data |
int device_enterStopMode | ( | ) |
Enter Stop Mode
Set device enter to stop mode. In stop mode, LCD display and backlight is off. Stop mode reduces power consumption to the lowest possible level. A unit in stop mode can only be woken up by a physical key press.
int device_getAudioVolume | ( | OUT BYTE * | volume | ) |
Get Audio Volume This command retrieves the reader’s audio volume.
volume | Value 0-20, where 0 is silent and 20 is full volume |
Reads the button configuration from the ViVOpay Vendi reader
done | 0x01: the Done switch is enabled 0x00: the Done switch is disabled |
swipe | 0x01: the Swipe Card switch is enabled 0x00: the Swipe Card switch is disabled |
delay | an unsigned delay value in seconds |
Get Camera Parameters This command is used to get the camera parameters (e.g., auto/fixed focal length as focus).
isAutoFocus | 0: fixed focus, 1: auto focus |
focalLength | focal length Value 0x00-0xFF, where 0x00 is the farthest, 0xFF is nearest. Not used for auto focus. |
int device_getCurrentDeviceType | ( | ) |
Get current active device type
int device_getDateTime | ( | OUT BYTE * | dateTime | ) |
DEPRECATED : please use device_getDateTime_Len(OUT BYTE* dateTime, IN_OUT int *dateTimeLen)
Polls device for Date and Time
dateTime | Response returned of Date and Time; needs to have at least 6 bytes of memory |
Polls device for Date and Time
dateTime | Response returned of Date and Time |
dateTime | Length of Date and Time |
int device_getDeviceMemoryUsageInfo | ( | OUT int * | freeHeapSize, |
OUT int * | notFreedBlockCnt, | ||
OUT int * | minEverFreeHeapSize | ||
) |
Update Firmware with zip file Updates the firmware of NEO 2 devices.
firmwareZipFilename | Firmware zip file name.
|
firmwareZipFilenameLen | Firmware zip file name length |
Firmware update status is returned in the callback with the following values: sender = device type state = DEVICE_FIRMWARE_UPDATE current block total blocks ResultCode:
freeHeapSize | Free Heap Size: Available heap size |
notFreedBlockCnt | Memory Not Freed Block Count: Memory in use block count |
minEverFreeHeapSize | Minimum Ever Free Heap Size: The lowest ever available heap size |
Polls device for Device Tree Version
deviceTreeVersion | Response returned of Device Tree Version |
deviceTreeVersionLen | Length of Device Tree Version |
Drive Free Space This command returns the free and used disk space on the flash drive.
free | Free bytes available on device |
used | Used bytes on on device |
int device_getDRS | ( | BYTE * | codeDRS, |
int * | codeDRSLen | ||
) |
Get DRS Status
Gets the status of DRS(Destructive Reset).
codeDRS | the data format is [DRS SourceBlk Number] [SourceBlk1] ... [SourceBlkN] [DRS SourceBlk Number] is 2 bytes, format is NumL NumH. It is Number of [SourceBlkX] [SourceBlkX] is n bytes, Format is [SourceID] [SourceLen] [SourceData] [SourceID] is 1 byte [SourceLen] is 1 byte, it is length of [SourceData] |
[SourceID] [SourceLen] [SourceData] 00 1 01 - Application Error 01 1 01 - Application Error 02 1 0x01 - EMV L2 Configuration Check Value Error 0x02 - Future Key Check Value Error 10 1 01 - Battery Error 11 1 Bit 0 - Tamper Switch 1 (0-No, 1-Error) Bit 1 - Tamper Switch 2 (0-No, 1-Error) Bit 2 - Tamper Switch 3 (0-No, 1-Error) Bit 3 - Tamper Switch 4 (0-No, 1-Error) Bit 4 - Tamper Switch 5 (0-No, 1-Error) Bit 5 - Tamper Switch 6 (0-No, 1-Error)
12 1 01 - TemperatureHigh or Low 13 1 01 - Voltage High or Low 1F 4 Reg31~24bits, Reg23~16bits, Reg15~8bits, Reg7~0bits
codeDRSLen | the length of codeDRS |
int device_getFirmwareVersion | ( | OUT char * | firmwareVersion | ) |
DEPRECATED : please use device_getFirmwareVersion_Len(OUT char* firmwareVersion, IN_OUT int *firmwareVersionLen)
Polls device for Firmware Version
firmwareVersion | Response returned of Firmware Version; needs to have at least 128 bytes of memory |
Polls device for Firmware Version
firmwareVersion | Response returned of Firmware Version |
firmwareVersionLen | Length of Firmware Version |
Review the return code description.
returnCode | the response result. |
description |
the | string for description of response result |
int device_getKeyStatus | ( | int * | newFormat, |
BYTE * | status, | ||
int * | statusLen | ||
) |
Get Key Status
Gets the status of loaded keys
status | newFormat for Augusta and miniSmartII only 1: new format of key status 0: reserved format for support previous device |
status | For L80, L100, Augusta and miniSmartII: When the newFormat is 0, data format as follows. For Augusta and miniSmartII: byte 0: PIN DUKPT Key, Does not support, always 0 byte 1: PIN Master Key, Does not support, always 0 byte 2: PIN Session Key, Does not support, always 0 byte 3: Account/MSR DUKPT Key, 1 Exists, 0 None, 0xFF STOP byte 4: Account/ICC DUKPT Key, 1 Exists, 0 None, 0xFF STOP byte 5: Admin DUKPT Key, 1 Exists, 0 None, 0xFF STOP For L80 and L100: byte 0: PIN DUKPT Key byte 1: PIN Master Key byte 2: Standard PIN Session Key byte 3: Desjardins PIN Session Key byte 4: Account/MSR DUKPT Key, 1 Exists, 0 None, 0xFF STOP, Does not support, always 0 byte 5: Account/ICC DUKPT Key, 1 Exists, 0 None, 0xFF STOP, Does not support, always 0 byte 6: Admin DUKPT Key, 1 Exists, 0 None, 0xFF STOP byte 7: Data DUKPT Key, 1 Exists, 0 None, 0xFF STOP byte 8: MAC DUKPT Key, 1 Exists, 0 None, 0xFF STOP |
when the newFormat is 1, data format as follows. [Block Length] [KeyStatusBlock1] [KeyStatusBlock2]...[KeyStatusBlockN] Where: [Block Length] is 2 bytes, format is Len_L Len_H, is KeyStatusBlock Number [KeyStatusBlockX> is 4 bytes, format is [Key Index and Key Name] [key slot] [key status]: [Key Index and Key Name] is 1 byte. Please refer to following table 0x14 LCL-KEK to Encrypt Other Keys 0x02 Data encryption Key to Encrypt ICC/MSR 0x05 MAC DUKPT Key for Host-Device - MAC Verification 0x05 MTK DUKPT Key for TTK Self-Test 0x0C RKI-KEK for Remote Key Injection [key slot] is 2 bytes. Range is 0 - 9999 the MTK DUKPT Key slot is 16, the others are all 0 [key status] is 1 byte. 0 - Not Exist 1 - Exist 0xFF - (Stop. Only Valid for DUKPT Key) For NEO2 and SREDKey2: Each unit of three bytes represents one key's parameters (index and slot). Key Name Index (1 byte): 0x14 - LCL-KEK 0x01 - Pin encryption Key (NEO2 only) 0x02 - Data encryption Key 0x05 - MAC DUKPT Key 0x0A - PCI Pairing Key (NEO2 only) Key Slot (2 bytes): Indicate different slots of a certain Key Name Example: slot =5 (0x00 0x05), slot=300 (0x01 0x2C) For BTPay380, slot is always 0 For example, 0x14 0x00 0x00 0x02 0x00 0x00 0x0A 0x00 0x00 will represent [KeyNameIndex=0x14,KeySlot=0x0000], [KeyNameIndex=0x02,KeySlot=0x0000] and [KeyNameIndex=0x0A,KeySlot=0x0000]
statusLen | the length of status |
int device_getL100PassThroughMode | ( | ) |
Get L100 Pass Through Mode
Get current Pass Through Mode for direct communication to L100 hook up to NEO II device
int device_getL80PassThroughMode | ( | ) |
Get L80 Pass Through Mode
Get current Pass Through Mode for direct communication to L80 hook up to NEO II device
DEPRECATED : please use device_getMerchantRecord_Len(IN int index, OUT BYTE * record, IN_OUT int *recordLen)
Get Merchant Record
Gets the merchant record for the device.
index | Merchant Record index, valid values 1-6 |
record; | needs to have at least 99 bytes of memory response data from reader. Merchant Record Index: 1 byte enabled: 1 byte Merchant ID: 32 bytes Length of Merchant URL: 1 byte Merchant URL: 64 bytes |
Get Merchant Record
Gets the merchant record for the device.
index | Merchant Record index, valid values 1-6 |
record | response data from reader. Merchant Record Index: 1 byte enabled: 1 byte Merchant ID: 32 bytes Length of Merchant URL: 1 byte Merchant URL: 64 bytes |
recordLen | Length of record |
int device_getNEOAltDevice | ( | ) |
Get the alternative device type for the NEO 2 or 3 readers
Review the return code description.
returnCode | the response result. |
description |
the | string for description of response result |
get RTC date and time of the device
dateTime | <dateTime data>=""> is: 6 byte data for YYMMDDHHMMSS in hex. For example 0x171003102547 stands for 2017 Oct 3rd 10:25:47 |
dateTimeLen | return 6 bytes if successful |
int device_getSDKWaitTime | ( | ) |
Get SDK Wait Time
Get the SDK wait time for transactions
DEPRECATED : please use device_getSpectrumProKSN_Len(IN int type, OUT BYTE * KSN, IN_OUT int *KSNLen)
Get DUKPT KSN
Returns the KSN for the provided key index
type | Key type:
|
KSN | Key Serial Number; needs to have at least 10 bytes of memory |
Get DUKPT KSN
Returns the KSN for the provided key index
type | Key type:
|
KSN | Key Serial Number |
KSNLen | Length of KSN |
int device_getTamperStatus | ( | OUT int * | isTampered | ) |
Get Tamper Status This command check the tamper status for NEO 2 readers.
isTampered | 1: the reader is tampered. 0: the reader is not tampered. |
int device_getThreadStackSize | ( | ) |
Get Thread Stack Size
Get the stack size setting for newly created threads
int device_init | ( | ) |
Initial the device by USB
It will detect the device and trying connect.
The connect status can be checked by device_isConnected().
Note: after the function returns success, the function device_setCurrentDevice() has to be called to set the device type.
int device_isAttached | ( | int | deviceType | ) |
Check if the device is attached to the USB port The function device_init() must be called before this function.
deviceType,the | device type of the USB device |
int device_isConnected | ( | ) |
Check the device conntected status
int device_lcdDisplayClear | ( | ) |
Use this function to clear the LCD display
Use this function to display text on the LCD display. On the Vendi reader the LCD is a 2-line character display.
message | Valid messages for the first line of text are between 1 and 16 printable characters long. If the text message is greater than 16 bytes but not more than 32 bytes, byte 17 and onward are displayed as a second row of text. All messages are left justified on the LCD display. |
messageLen | Length of the message: 1 to 32 bytes |
Use this function to display the message on line 2 of the LCD display. On the Vendi reader the LCD is a 2-line character display.
message | Valid messages are between 1 and 16 printable characters long. All messages are left justified on the LCD display. |
messageLen | Length of the message: 1 to 16 bytes |
int device_listDirectory | ( | IN char * | directoryName, |
IN int | directoryNameLen, | ||
IN int | recursive, | ||
IN int | onSD, | ||
OUT char * | directory, | ||
IN_OUT int * | directoryLen | ||
) |
List Directory This command retrieves a directory listing of user accessible files from the reader.
directoryName | Directory Name. If null, root directory is listed |
directoryNameLen | Directory Name Length. If null, root directory is listed |
recursive | Included sub-directories |
onSD | 0: use internal memory, 1: use SD card The returned directory information The returned directory information length |
Use this function to load CA Cert (Intermediate Certificate)
CertType | Application CA: 0x00 TLS CA: 0x01 |
CACertData | Multi bytes CA cert data |
CACertDataLen | Length of the CACertData |
Output Log
Save the log to a file
filename | the file name including the path |
filenameLen | the length of filename |
int device_pingDevice | ( | ) |
Ping Device - NEO only
Pings the reader. If connected, returns success. Otherwise, returns timeout.
Play Audio This command command plays an audio file loaded from the inserted SD card. The VP6800 supports 16bit PCM format .WAV files.
filename | Complete path and file name of the wav file you want to play. You do not need to specify the root directory. Indicate subdirectories with a forward slash (/). |
filenameLen | File Name Length. Maximum file name length is 30. |
onSD | 0: use internal memory (the Maximum audio file in Flash is 5M and only 2 audio file is supported), 1: use SD card |
int device_pollCardReader | ( | OUT BYTE * | status | ) |
DEPRECATED : please use device_pollCardReader_Len(OUT BYTE * status, IN_OUT int *statusLen)
Poll Card Reader
Provides information about the state of the Card Reader
status | Six bytes indicating card reader information Byte 0:
|
Byte 1:
Byte 2:
Byte 3:
Byte 4:
Byte 5:
Poll Card Reader
Provides information about the state of the Card Reader
status | Six bytes indicating card reader information Byte 0:
|
Byte 1:
Byte 2:
Byte 3:
Byte 4:
Byte 5:
statusLen | Length of status |
Poll for Token
Polls for a PICC
timeout | timeout in milliseconds, must be multiple of 10 milliseconds. 30, 120, 630, or 1150 for example. |
respData | Response data will be stored in respData. 1 byte of card type, and the Serial Number (or the UID) of the PICC if available. |
respDataLen | Length of systemCode. |
int device_queryFile | ( | IN char * | directoryName, |
IN int | directoryNameLen, | ||
IN char * | fileName, | ||
IN int | fileNameLen, | ||
OUT int * | isExist, | ||
OUT BYTE * | timeStamp, | ||
IN_OUT int * | timeStampLen, | ||
OUT char * | fileSize, | ||
IN_OUT int * | fileSizeLen | ||
) |
Query File This command checks if the specified file exists in NAND Flash..
directoryName | Directory name string. No longer than 32 bytes. ASCII string, terminated by 0x00. |
directoryNameLen | Directory Name Length. |
fileName | File name string. No longer than 32 bytes. ASCII string, terminated by 0x00. |
fileNameLen | File Name Length. |
isExist | File exists: 1, File not exists 0. |
timeStamp | Latest time stamp of the file. 6 bytes BCD code if the file exists. |
timeStampLen | Length of timeStamp. 6 if the file exists, 0 if the file does not exist. |
fileSize | Zero-terminated ASCII string of the file size. |
fileSizeLen | Length of filesSize. |
int device_readFileFromSD | ( | IN char * | directoryName, |
IN int | directoryNameLen, | ||
IN char * | fileName, | ||
IN int | fileNameLen, | ||
IN int | startingOffset, | ||
IN int | numBytes, | ||
OUT BYTE * | fileData, | ||
IN_OUT int * | fileDataLen | ||
) |
Read Out File from SD Card This command retrieves a file from the SD card of the reader.
directoryName | Directory name string. No longer than 32 bytes. ASCII string, terminated by 0x00. |
directoryNameLen | Directory Name Length. |
fileName | File name string. No longer than 32 bytes. ASCII string, terminated by 0x00. |
fileNameLen | File Name Length. |
startingOffset | Starting offset in the file to retrieve |
numBytes | Number of bytes of file data to retrieve |
fileData | the file data read from the SD card |
fileDataLen | Length of fileData. |
int device_rebootDevice | ( | ) |
Reboot Device - NGA Executes a command to restart the device.
void device_registerCameraCallBk | ( | pCMR_callBack | pCMRf | ) |
To register the camera callback function to get the image data. (Pass NULL to disable the callback.)
void device_registerCardStatusFrontSwitchCallBk | ( | pCSFS_callBack | pCSFSf | ) |
To register the card status and front switch callback function to get status. (Pass NULL to disable the callback.)
void device_registerFWCallBk | ( | pFW_callBack | pFWf | ) |
To register the firmware update callback function to get the firmware update status. (Pass NULL to disable the callback.)
void device_registerRKICallBk | ( | pRKI_callBack | pRKIf | ) |
To register the RKI callback function to get the RKI status. (Pass NULL to disable the callback.)
int device_rrcConnect | ( | ) |
Use this function to allow a host to establish an RRC connection to a reader
int device_rrcDisconnect | ( | ) |
Use this function to allow a host to terminate its existing RRC connection to a reader
int device_rrcDownloadApp | ( | IN char * | zipFileName, |
IN int | zipFileNameLen, | ||
IN char * | appName, | ||
IN int | appNameLen | ||
) |
Use this function to transfer a compressed application file from a host to the reader, extracts it, and performs signature verification on its contents.
zipFileName | The zip file name |
zipFileNameLen | Length of the zipFileName |
AppName | Application Name in ASCII |
AppNameLen | Length of Application Name between 2 to 128 |
Use this function to install an application on a reader device
AppName | Application Name in ASCII |
AppNameLen | Length of Application Name between 2 to 128 |
Use this function to run an application on a reader device
AppName | Application Name in ASCII |
AppNameLen | Length of Application Name between 2 to 128 |
Use this function to uninstall an application on a reader device
AppName | Application Name in ASCII |
AppNameLen | Length of Application Name between 2 to 128 |
int device_selfCheck | ( | ) |
Self check for TTK If Self-Test function Failed, then work into De-activation State. If device work into De-activation State, All Sensitive Data will be erased and it need be fixed in Manufacture.
int device_SendDataCommand | ( | IN BYTE * | cmd, |
IN int | cmdLen, | ||
IN BYTE * | data, | ||
IN int | dataLen, | ||
OUT BYTE * | response, | ||
IN_OUT int * | respLen | ||
) |
Send a Command to NGA device
Sends a command to the device .
cmd | buffer of command to execute. |
cmdLen,the | length of the buffer cmd. |
data | buffer of IDG command data. |
dataLen,the | length of the buffer data. |
response | Response data |
respLen,the | length of Response data |
int device_SendDataCommandITP | ( | IN BYTE * | cmd, |
IN int | cmdLen, | ||
IN BYTE * | data, | ||
IN int | dataLen, | ||
OUT BYTE * | response, | ||
IN_OUT int * | respLen | ||
) |
Send a Command to ITP device
Sends a command to the device .
cmd | buffer of command to execute. |
cmdLen,the | length of the buffer cmd. |
data | buffer of ITP command data. |
dataLen,the | length of the buffer data. |
response | Response data |
respLen,the | length of Response data |
int device_SendDataCommandNEO | ( | IN int | cmd, |
IN int | subCmd, | ||
IN BYTE * | data, | ||
IN int | dataLen, | ||
OUT BYTE * | response, | ||
IN_OUT int * | respLen | ||
) |
Send a Command to NEO device
Sends a command to the NEO device .
cmd | command to execute. |
subCmd,sub | command to execute. |
data | buffer of NEO command data. |
dataLen,the | length of the buffer data. |
response | Response data |
respLen,the | length of Response data |
int device_setAudioVolume | ( | IN BYTE | volume | ) |
Set Audio Volume This command sets the reader’s audio volume.
Value | 0-20, where 0 is silent and 20 is full volume |
int device_setBurstMode | ( | IN BYTE | mode | ) |
Send Burst Mode - NEO
Sets the burst mode for the device.
mode | 0 = OFF, 1 = Always On, 2 = Auto Exit |
Set Camera Parameters This command is used to set the camera parameters (e.g., auto/fixed focal length as focus).
isAutoFocus | 0: fixed focus, 1: auto focus |
focalLength | focal length Value 0x00-0xFF, where 0x00 is the farthest, 0xFF is nearest. Not used for auto focus. |
int device_setCancelTransactionMode | ( | int | mode | ) |
Set Cancel Transaction Mode
Set the cancel transaction mode to be with or without LCD message
mode | 0: With LCD message 1: Without LCD message |
int device_setConfigPath | ( | const char * | path | ) |
Set the path to the config xml file(s) if any
path | The path to the config xml files (such as "NEO2_Devices.xml" which contains the information of NEO2 devices). Only need to specify the path to the folder which contains the config files. File names are not needed. The maximum length of path is 200 characters including the '\0' at the end. |
Set the Core Dump Log File Name
Set the file name of the log file when the core dump occurs for the firmware
filename | the file name including the path |
filenameLen | the length of filename; the maximum length is 99 bytes not including the null character |
int device_setCurrentDevice | ( | int | deviceType | ) |
Sets the current device to talk to
The connect status can be checked by device_isConnected().
Note: the file "NEO2_Devices.xml" is required for NEO 2 readers
deviceType | Device to connect to enum DEVICE_TYPE { IDT_DEVICE_UNKNOWN=0, IDT_DEVICE_AUGUSTA_HID, IDT_DEVICE_AUGUSTA_KB, IDT_DEVICE_AUGUSTA_S_HID, IDT_DEVICE_AUGUSTA_S_KB, IDT_DEVICE_AUGUSTA_S_TTK_HID, IDT_DEVICE_SPECTRUM_PRO, IDT_DEVICE_MINISMART_II, IDT_DEVICE_L80, IDT_DEVICE_L100, IDT_DEVICE_UNIPAY, IDT_DEVICE_UNIPAY_I_V, IDT_DEVICE_VP3300_AJ, IDT_DEVICE_KIOSK_III, IDT_DEVICE_KIOSK_III_S, IDT_DEVICE_PIP_READER, IDT_DEVICE_VENDI, IDT_DEVICE_VP3300_USB, IDT_DEVICE_UNIPAY_I_V_TTK, IDT_DEVICE_VP3300_BT, IDT_DEVICE_VP8800, IDT_DEVICE_SREDKEY2_HID, IDT_DEVICE_SREDKEY2_KB, IDT_DEVICE_NEO2, IDT_DEVICE_MINISMART_II_COM = IDT_DEVICE_NEO2+5, IDT_DEVICE_SPECTRUM_PRO_COM, IDT_DEVICE_KIOSK_III_COM, IDT_DEVICE_KIOSK_III_S_COM, IDT_DEVICE_PIP_READER_COM, IDT_DEVICE_VP3300_COM, IDT_DEVICE_NEO2_COM, IDT_DEVICE_MAX_DEVICES = IDT_DEVICE_NEO2_COM+5 }; |
int device_setMerchantRecord | ( | int | index, |
int | enabled, | ||
char * | merchantID, | ||
char * | merchantURL | ||
) |
Set Merchant Record - NEO Sets the merchant record for ApplePay VAS
index | Merchant Record index, valid values 1-6 |
enabled | Merchant Enabled/Valid flag |
merchantID | Merchant unique identifer registered with Apple. Example com.idtechproducts.applePay |
merchantURL | Merchant URL, when applicable |
Pass the content of the config xml file ("NEO2_Devices.xml") as a string to the SDK instead of reading the config xml file by the SDK It needs to be called before device_init(), otherwise the SDK will try to read the config xml file.
configs | The content read from the config xml file ("NEO2_Devices.xml" which contains the information of NEO2 devices). |
len | The length of the string configs. The maximum length is 5000 bytes. |
void device_setNEOAltDevice | ( | int | alt | ) |
Set the alternative device type for the NEO 2 or 3 readers
alt | The alternative device type of the NEO 2/3 readers. |
void device_setNEOGen | ( | int | gen | ) |
Set the generation for the NEO 2 or 3 readers
gen | The generation of the NEO 2/3 readers. 2: NEO 2, 3: NEO 3 |
int device_setPollMode | ( | IN BYTE | mode | ) |
Set Poll Mode - NEO
Sets the poll mode forthe device. Auto Poll keeps reader active, Poll On Demand only polls when requested by terminal
mode | 0 = Auto Poll, 1 = Poll On Demand |
Set the URL for RKI
rkiURL | The URL for RKI (less than 100 characters). Pass NULL to reset to default URL |
rkiURLLen | The length of rkiURL. Pass 0 to reset to default URL |
set RTC date and time of the device
dateTime | <dateTime data>=""> is: 6 byte data for YYMMDDHHMMSS in hex. For example 0x171003102547 stands for 2017 Oct 3rd 10:25:47 |
dateTimeLen | should be always 6 bytes |
void device_setSDKWaitTime | ( | int | waitTime | ) |
Set SDK Wait Time
Set the SDK wait time for transactions
waitTime | The SDK wait time for transaction in seconds. The Maximum is 2147483 seconds. |
int device_setSleepModeTime | ( | int | time | ) |
Set Sleep Mode Timer
Set device enter to sleep mode after the given time. In sleep mode, LCD display and backlight is off. Sleep mode reduces power consumption to the lowest possible level. A unit in Sleep mode can only be woken up by a physical key press.
time | Enter sleep time value, in second. |
int device_setSystemLanguage | ( | char * | language | ) |
Set Model Number for the device
sNumber | Model Number |
language | 2-byte ASCII code, can be "EN" or "JP" |
void device_setThreadStackSize | ( | int | threadSize | ) |
Set Thread Stack Size
Set the stack size setting for newly created threads
void device_setTransactionExponent | ( | int | exponent | ) |
Sets the transaction exponent to be used with device_startTransaction. Default value is 2
exponent,The | exponent to use when calling device_startTransaction |
int device_startListenNotifications | ( | ) |
Start Listen Notifications This function enables Card Status and Front Switch notifications.
int device_startQRCodeScan | ( | IN int | _timeout | ) |
Start QR Code Scanning
Enables QR Code scanning with the default window, waiting for the QR code.
timeout | QR Code Scan Timeout Value. Between 30 and 65536 seconds. |
int device_startQRCodeScanWithDisplayWindowInfo | ( | IN int | _timeout, |
IN int | x, | ||
IN int | y, | ||
IN int | width, | ||
IN int | height | ||
) |
Start QR Code Scanning with Display Window Info
Enables QR Code scanning, waiting for the QR code.
timeout | QR Code Scan Timeout Value. Between 30 and 65536 seconds. |
x | the x-coordinate of the display window. |
y | the y-coordinate of the display window. |
width | the width of the display window. |
height | the height of the display window. |
Start remote key injection.
caPath | The path to ca-certificates.crt. It should be NULL, because the file is not used anymore. |
isProduction | 1: The reader is a production unit, 0: The reader is not a production unit |
int device_startTakingPhoto | ( | IN int | _timeout | ) |
Start Taking Photo
Enables the camera to take a photo.
timeout | Photo taking Timeout Value. Between 30 and 65536 seconds. |
int device_startTransaction | ( | IN double | amount, |
IN double | amtOther, | ||
IN int | type, | ||
IN const int | _timeout, | ||
IN BYTE * | tags, | ||
IN int | tagsLen | ||
) |
Start Transaction Request
Authorizes the transaction for an MSR/CTLS/ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02)
|
amtOther | Other amount value, if any (tag value 9F03)
|
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as TLV. Example, tag 9F02 with amount 0x000000000100 would be 0x9F0206000000000100. If tags 9F02 (amount), 9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. |
tagsLen | The length of tags data buffer. |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of device_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DF01. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
int device_stopAudio | ( | ) |
Stop Audio This command stops the audio the reader is playing.
int device_stopListenNotifications | ( | ) |
Stop Listen Notifications This function disables Card Status and Front Switch notifications.
int device_stopQRCodeScan | ( | ) |
Stop QR Code Scanning Cancels QR Code scanning request.
int device_stopTakingPhoto | ( | ) |
Stop Taking Photo Cancels Photo Taking request.
void device_toSDCard | ( | int | forSDCard | ) |
To SD Card
Set the destination of the file or directory function
forSDCard | 0: for internal memory, 1: for SD card |
Transfer File This command transfers a data file to the reader.
fileName | Filename. The data for this command is a ASCII string with the complete path and file name you want to create. You do not need to specify the root directory. Indicate subdirectories with a forward slash (/) |
filenameLen | File Name Length. |
file | The data file. |
fileLen | File Length. |
int device_turnOffYellowLED | ( | ) |
Use this function to turn off the ViVOpay Vendi reader yellow LED. This LED is located below the three blue LEDs
int device_turnOnYellowLED | ( | ) |
Use this function to turn on the ViVOpay Vendi reader yellow LED. This LED is located below the three blue LEDs
int device_updateFirmware | ( | IN BYTE * | firmwareData, |
IN int | firmwareDataLen, | ||
IN char * | firmwareName, | ||
IN int | encryptionType, | ||
IN BYTE * | keyBlob, | ||
IN int | keyBlobLen | ||
) |
Update Firmware - NGA Updates the firmware of the Spectrum Pro K21 HUB or Maxq1050.
firmwareData | Signed binary data of a firmware file provided by IDTech |
firmwareDataLen | Length of firmwareData |
firmwareName | Firmware name. Must be one of the following two strings (with appropriate version information)
|
encryptionType | Encryption type
|
keyBlob | Encrypted firmware session key blob, TR-31 Rev B, wrapped by FW Key (Optional, none if firmware is plaintext) |
keyBlobLen | Length of keyBlob |
Firmware update status is returned in the callback with the following values: sender = SPECTRUM_PRO state = DeviceState.FirmwareUpdate data = File Progress. Two bytes, with byte[0] = current block, and byte[1] = total blocks. 0x0310 = block 3 of 16 transactionResultCode:
int device_verifyBackdoorKey | ( | ) |
Verify Backdoor Key to Unlock Security
Note: The function is only for TTK devices.
Start EMV Transaction Request
Authorizes the EMV transaction for an ICC card
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
tags | Tags to be included in the request. Passed as a TLV stream. Example, tag 9F02 with amount 0x000000000100 would be 0x9F0206000000000100 |
tagsLen | Length of tags |
forceOnline | TRUE = do not allow offline approval, FALSE = allow ICC to approve offline if terminal capable Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F36959F37 |
void emv_allowFallback | ( | IN int | allow | ) |
Allow fallback for EMV transactions. Default is TRUE
allow | TRUE = allow fallback, FALSE = don't allow fallback |
Authenticate EMV Transaction Request
Authenticates the EMV transaction for an ICC card. Execute this after receiving response with result code 0x10 to emv_startTransaction
The tags will be returned in the callback routine.
updatedTLV | TLV stream that can be used to update the following values:
|
updatedTLVLen |
int emv_authenticateTransactionWithTimeout | ( | IN int | timeout, |
IN BYTE * | updatedTLV, | ||
IN int | updatedTLVLen | ||
) |
Authenticate EMV Transaction Request with Timeout
Authenticates the EMV transaction for an ICC card. Execute this after receiving response with result code 0x10 to emv_startTransaction
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
updatedTLV | TLV stream that can be used to update the following values:
|
updatedTLVLen |
int emv_callbackResponseLCD | ( | IN int | type, |
byte | selection | ||
) |
Callback Response LCD Display
Provides menu selection responses to the kernel after a callback was received with DeviceState.EMVCallback, and callbackType = EMV_CALLBACK_TYPE.EMV_CALLBACK_TYPE_LCD, and lcd_displayMode = EMV_LCD_DISPLAY_MODE_MENU, EMV_LCD_DISPLAY_MODE_PROMPT, or EMV_LCD_DISPLAY_MODE_LANGUAGE_SELECT
type | If Cancel key pressed during menu selection, then value is EMV_LCD_DISPLAY_MODE_CANCEL. Otherwise, value can be EMV_LCD_DISPLAY_MODE_MENU, EMV_LCD_DISPLAY_MODE_PROMPT, or EMV_LCD_DISPLAY_MODE_LANGUAGE_SELECT |
selection | If type = EMV_LCD_DISPLAY_MODE_MENU or EMV_LCD_DISPLAY_MODE_LANGUAGE_SELECT, provide the selection ID line number. Otherwise, if type = EMV_LCD_DISPLAY_MODE_PROMPT supply either 0x43 ('C') for Cancel, or 0x45 ('E') for Enter/accept |
Callback Response MSR Entry
Provides MSR information to kernel after a callback was received with DeviceState.EMVCallback, and callbackType = EMV_CALLBACK_MSR
MSR | Swiped track data |
MSRLen | the length of Swiped track data |
int emv_cancelTransaction | ( | ) |
Cancel EMV Transaction
Cancels the currently executing EMV transaction.
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 | ||
) |
Complete EMV Transaction Request
Completes the EMV transaction for an ICC card when online authorization request is received from emv_authenticateTransaction
The tags will be returned in the callback routine.
commError | Communication error with host. Set to TRUE(1) if host was unreachable, or FALSE(0) if host response received. If Communication error, authCode, iad, tlvScripts can be null. |
authCode | Authorization code from host. Two bytes. Example 0x3030. (Tag value 8A). Required |
authCodeLen | the length of authCode |
iad | Issuer Authentication Data, if any. Example 0x11223344556677883030 (tag value 91). |
iadLen | the length of iadLen |
tlvScripts | 71/72 scripts, if any |
tlvScriptsLen | the length of tlvScriptsLen |
tlv | Additional TLV data to return with transaction results (if any) |
tlvLen | the length of tlv |
int emv_getAutoAuthenticateTransaction | ( | ) |
Gets auto authenticate value for EMV transactions.
int emv_getAutoCompleteTransaction | ( | ) |
Gets auto complete value for EMV transactions.
Get EMV Kernel configuration check value info
checkValue | Response returned of Kernel configuration check value info |
checkValueLen | the length of checkValue |
Get EMV Kernel check value info
checkValue | Response returned of Kernel check value info |
checkValueLen | the length of checkValue |
int emv_getEMVKernelVersion | ( | OUT char * | version | ) |
DEPRECATED : please use emv_getEMVKernelVersion_Len(OUT char* version, IN_OUT int *versionLen)
Polls device for EMV Kernel Version
version | Response returned of Kernel Version; needs to have at least 128 bytes of memory. |
Polls device for EMV Kernel Version
version | Response returned of Kernel Version |
versionLen | Length of version |
void emv_registerCallBk | ( | pEMV_callBack | pEMVf | ) |
To register the emv callback function to get the EMV processing response. (Pass NULL to disable the callback.)
int emv_removeAllApplicationData | ( | ) |
Remove All Application Data
Removes all the Application Data
int emv_removeAllCAPK | ( | ) |
Remove All Certificate Authority Public Key
Removes all the CAPK
int emv_removeAllCRL | ( | ) |
Remove All Certificate Revocation List Entries
Removes all CRLEntry entries
Remove Application Data by AID
Removes the Application Data as specified by the AID name passed as a parameter
AID | Name of ApplicationID Must be between 5 and 16 bytes |
AIDLen | the length of AID data buffer |
Remove Certificate Authority Public Key
Removes the CAPK as specified by the RID/Index
capk | 6 byte CAPK = 5 bytes RID + 1 byte INDEX |
capkLen | the length of capk data buffer |
Retrieve the Certificate Revocation List
Returns the CRL entries on the terminal.
list | [CRL1][CRL2]...[CRLn], each CRL 9 bytes where CRL = 5 bytes RID + 1 byte index + 3 bytes serial number |
lsLen | the length of list data buffer |
int emv_removeTerminalData | ( | ) |
Remove Terminal Data
Removes the Terminal Data
Retrieve AID list
Returns all the AID names installed on the terminal.
AIDList | array of AID name byte arrays |
AIDListLen | the length of AIDList array buffer |
int emv_retrieveApplicationData | ( | IN BYTE * | AID, |
IN int | AIDLen, | ||
OUT BYTE * | tlv, | ||
IN_OUT int * | tlvLen | ||
) |
Retrieve Application Data by AID
Retrieves the Application Data as specified by the AID name passed as a parameter.
AID | Name of ApplicationID. Must be between 5 and 16 bytes |
AIDLen | the length of AID data buffer. |
tlv | The TLV elements of the requested AID |
tlvLen | the length of tlv data buffer. |
Retrieve Certificate Authority Public Key
Retrieves the CAPK as specified by the RID/Index passed as a parameter.
capk | 6 bytes CAPK = 5 bytes RID + 1 byte Index |
capkLen | the length of capk data buffer |
key | Response returned as a CAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm] [20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
|
keyLen | the length of key data buffer |
Retrieve the Certificate Authority Public Key list
Returns all the CAPK RID and Index installed on the terminal.
keys | [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index |
keysLen | the length of keys data buffer |
Retrieve the Certificate Revocation List
Returns the CRL entries on the terminal.
list | [CRL1][CRL2]...[CRLn], each CRL 9 bytes where CRL = 5 bytes RID + 1 byte index + 3 bytes serial number |
lssLen | the length of list data buffer |
Retrieve Terminal Data
Retrieves the Terminal Data.
tlv | Response returned as a TLV |
tlvLen | the length of tlv data buffer |
int emv_retrieveTerminalID | ( | OUT char * | terminalID | ) |
DEPRECATED : please use emv_retrieveTerminalID_Len(OUT char* terminalID, IN_OUT int *terminalIDLen)
Gets the terminal ID as printable characters .
terminalID | Terminal ID string; needs to have at least 30 bytes of memory |
Gets the terminal ID as printable characters .
terminalID | Terminal ID string |
terminalIDLen | Length of terminalID |
Retrieve Transaction Results
Retrieves specified EMV tags from the currently executing transaction.
tags | Tags to be retrieved. Example 0x9F028A will retrieve tags 9F02 and 8A |
tagsLen | Length of tag list |
cardData | All requested tags returned as unencrypted, encrypted and masked TLV data in IDTTransactionData object |
Set Application Data by AID
Sets the Application Data as specified by the application name and TLV data
name | Application name, 10-32 ASCII hex characters representing 5-16 bytes Example "a0000000031010" |
nameLen | the length of name data buffer of Application name, |
tlv | Application data in TLV format |
tlvLen | the length of tlv data buffer |
Set Application Data by TLV
Sets the Application Data as specified by the TLV data
tlv | Application data in TLV format The first tag of the TLV data must be the group number (DFEE2D). The second tag of the TLV data must be the AID (9F06) Example valid TLV, for Group #2, AID a0000000035010: "dfee2d01029f0607a0000000051010ffe10101ffe50110ffe30114ffe20106" |
tlvLen | the length of tlv data buffer |
void emv_setAutoAuthenticateTransaction | ( | IN int | authenticate | ) |
Enables authenticate for EMV transactions. If a emv_startTranaction results in code 0x0010 (start transaction success), then emv_authenticateTransaction can automatically execute if parameter is set to TRUE
authenticate | TRUE = auto authenticate, FALSE = manually authenticate |
void emv_setAutoCompleteTransaction | ( | IN int | complete | ) |
Enables complete for EMV transactions. If a emv_authenticateTranaction results in code 0x0004 (go online), then emv_completeTransaction can automatically execute if parameter is set to TRUE
complete | TRUE = auto complete, FALSE = manually complete |
Set Certificate Authority Public Key
Sets the CAPK as specified by the CAKey structure
capk | CAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
|
capkLen | the length of capk data buffer |
Set Certificate Revocation List
Sets the CRL
list | CRL Entries containing the RID, Index, and serial numbers to set [CRL1][CRL2]...[CRLn] where each [CRL] is 9 bytes: [5 bytes RID][1 byte CAPK Index][3 bytes serial number] |
lsLen | the length of list data buffer |
Set Terminal Data
Sets the Terminal Data as specified by the TerminalData structure passed as a parameter
tlv | TerminalData configuration file |
tlvLen | the length of tlv data buffer |
RETURN_CODE | Return codes listed as typedef enum in IDTCommon:RETURN_CODE. Values can be parsed with device_getResponseCodeString() |
int emv_setTerminalID | ( | IN char * | terminalID | ) |
Sets the terminal ID as printable characters .
terminalID | Terminal ID to set |
int emv_setTerminalMajorConfiguration | ( | IN int | configuration | ) |
Sets the terminal major configuration in ICS .
configuration | A configuration value, range 1-23
|
void emv_setTransactionParameters | ( | IN double | amount, |
IN double | amtOther, | ||
IN int | type, | ||
IN int | timeout, | ||
IN BYTE * | tags, | ||
IN int | tagsLen | ||
) |
Set EMV Transaction Parameters
Set the parameters to be used on EMV transactions for an ICC card when Auto Poll is on
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) |
amtOther | Other amount value, if any (tag value 9F03) |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request (Maximum Length = 500 bytes). Passed as a string. Example, tag 9F0C with amount 0x000000000100 would be "9F0C06000000000100" If tags 9F02 (amount), 9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F36959F37 |
tagsLen | the length of tags |
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 | ||
) |
Start EMV Transaction Request
Authorizes the EMV transaction for an ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) - SEE IMPORTANT NOTE BELOW |
amtOther | Other amount value, if any (tag value 9F03) - SEE IMPORTANT NOTE BELOW |
exponent | Number of characters after decimal point |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as a TLV stream. Example, tag 9F0C with amount 0x000000000100 would be 0x9F0C06000000000100 If tags 9F02 (amount), 9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. |
tagsLen | Length of tags |
forceOnline | TRUE = do not allow offline approval, FALSE = allow ICC to approve offline if terminal capable Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F36959F37 |
int executeTransaction | ( | WorldPayData * | data, |
pWP_callBack | wpCallback, | ||
int | requestOnly | ||
) |
executeTransaction Requests 3 sets of public keys: encrypting Keys, signing/validating keys, signing/validating 3rd party apps
data | WorldPay data object |
wpCallback | WorldPay callback |
requestOnly |
|
int executeTransaction_WorldNet | ( | WorldNetData * | data, |
pWN_callBack | wnCallback, | ||
int | requestOnly | ||
) |
executeTransaction_WorldNet Requests 3 sets of public keys: encrypting Keys, signing/validating keys, signing/validating 3rd party apps
data | WorldNet data object |
wnCallback | WorldNet callback |
requestOnly |
|
FeliCa Authentication Provides a key to be used in a follow up FeliCa Read with MAC (3 blocks max) or Write with MAC (1 block max). This command must be executed before each Read w/MAC or Write w/MAC command
key | 16-byte key used for MAC generation of Read or Write with MAC |
keyLen | length of key, must be 16 bytes |
int felica_cancelCodeEntry | ( | ) |
FeliCa Cancel Code Entry
Cancels FeliCa Get Code request
int felica_getCode | ( | ) |
FeliCa Get Code
Start the FeliCa get code process Since the firmware timeout is 180 seconds, the SDK timeout of the command is set to 181 seconds.
int felica_poll | ( | IN BYTE * | systemCode, |
IN int | systemCodeLen, | ||
OUT BYTE * | respData, | ||
OUT int * | respDataLen | ||
) |
FeliCa Poll for Card
Polls for a Felica Card
systemCode | System Code. |
systemCodeLen | Length of systemCode. Must be 2 bytes |
respData | response data will be stored in respData. Poll response as explained in FeliCA Lite-S User's Manual |
respDataLen | Length of systemCode. |
int felica_read | ( | IN BYTE * | serviceCodeList, |
IN int | serviceCodeListLen, | ||
IN int | blockCnt, | ||
IN BYTE * | blockList, | ||
IN int | blockListLen, | ||
OUT BYTE * | blockData, | ||
OUT int * | blockDataLen | ||
) |
FeliCa Read
Reads up to 4 blocks.
serviceCodeList | Service Code List. Each service code in Service Code List = 2 bytes of data |
serviceCodeListLen | Length of serviceCodeList |
blockCnt | Number of blocks in blockList. Maximum 4 block requests |
blockList | Block to read. Each block in blockList = 2 or 3 bytes of data. |
blockListLen | Length of blockList. |
blockData | Blocks read will be stored in blockData. Each block 16 bytes. |
blockDataLen | Length of blockData. |
int felica_readWithMac | ( | IN int | blockCnt, |
IN BYTE * | blockList, | ||
IN int | blockListLen, | ||
OUT BYTE * | blockData, | ||
OUT int * | blockDataLen | ||
) |
FeliCa Read with MAC Generation
Reads up to 3 blocks with MAC Generation. FeliCa Authentication must be performed first
blockCnt | Number of blocks in blockList. Maximum 3 block requests |
blockList | Block to read. Each block in blockList = 2 or 3 bytes of data. |
blockListLen | Length of blockList. |
blockData | Blocks read will be stored in blockData. Each block is 16 bytes. |
blockDataLen | Length of blockData. |
int felica_requestService | ( | IN BYTE * | nodeCode, |
IN int | nodeCodeLen, | ||
OUT BYTE * | respData, | ||
OUT int * | respDataLen | ||
) |
FeliCa Request Service
Request Service for a Felica Card
nodeCode | Node Code List. Each node 2 bytes |
nodeCodeLen | Length of nodeCode. |
respData | response data will be stored in respData. Response as explained in FeliCA Lite-S User's Manual |
respDataLen | Length of respData. |
int felica_SendCommand | ( | IN BYTE * | command, |
IN int | commandLen, | ||
OUT BYTE * | respData, | ||
OUT int * | respDataLen | ||
) |
FeliCa Send Command
Send a Felica Command
command | Command data from settlement center to be sent to felica card |
commandLen | Length of command data |
respData | Response data from felica card. |
respDataLen | Length of respData. |
int felica_write | ( | IN BYTE * | serviceCodeList, |
IN int | serviceCodeListLen, | ||
IN int | blockCnt, | ||
IN BYTE * | blockList, | ||
IN int | blockListLen, | ||
IN BYTE * | blockData, | ||
IN int | blockDataLen, | ||
OUT BYTE * | statusFlag, | ||
OUT int * | statusFlagLen | ||
) |
FeliCa Write
Writes a block
serviceCodeList | Service Code List. Each service code in Service Code List = 2 bytes of data |
serviceCodeListLen | Length of serviceCodeList |
blockCnt | Number of blocks in blockList. Currently only support 1 block. |
blockList | Block list. Each block in blockList = 2 or 3 bytes of data. |
blockListLen | Length of blockData. |
blockData | Block to write. |
blockDataLen | Length of blockData. Must be 16 bytes. |
respData | If successful, the Status Flag (2 bytes) is stored in respData.resData. Status flag response as explained in FeliCA Lite-S User's Manual, Section 4.5 |
FeliCa Write with MAC Generation
Writes a block with MAC Generation. FeliCa Authentication must be performed first
blockNum | Number of block |
blockData | Block to write. |
blockDataLen | Length of blockData. Must be 16 bytes. |
int forwardTransaction | ( | IN pWP_callBack | wpCallback, |
IN char * | forwardID, | ||
IN int | forwardIDLen, | ||
IN char * | password, | ||
IN int | passwordLen, | ||
IN int | bypassProcessing | ||
) |
forwardTransaction Send the saved data to WorldPay and complete the transaction.
wpCallback | WPCallback is the callback to send the results. Should the the same as executeTransaction callback. |
forwardID | = ID, which could be either unique ID or Memo. |
forwardIDLen | The length of forwardID. |
password | = password. If null/blank, no password. |
passwordLen | The length of passwordLen. |
bypassProcess | = true means read the file from disk, but don't send to WorldPay, then delete the transaction as if you did send to WorldPay. The purpose of this is to allow them to delete transactions from the storage without sending to WorldPay. |
int forwardTransaction_WorldNet | ( | IN char * | apiKey, |
IN int | apiKeyLen, | ||
IN pWN_callBack | wnCallback, | ||
IN char * | forwardID, | ||
IN int | forwardIDLen, | ||
IN char * | password, | ||
IN int | passwordLen, | ||
IN int | bypassProcessing | ||
) |
forwardTransaction_WorldNet Send the saved data to WorldNet and complete the transaction.
wnCallback | WNCallback is the callback to send the results. Should be the same as executeTransaction_WorldNet callback. |
forwardID | = ID, which could be either unique ID or Memo. |
forwardIDLen | The length of forwardID. |
password | = password. If null/blank, no password. |
passwordLen | The length of passwordLen. |
bypassProcess | = true means read the file from disk, but don't send to WorldPay, then delete the transaction as if you did send to WorldPay. The purpose of this is to allow them to delete transactions from the storage without sending to WorldPay. |
int icc_disable | ( | ) |
ICC Function enable/disable - AUGUSTA Disable ICC function
int icc_enable | ( | IN int | withNotification | ) |
ICC Function enable/disable - AUGUSTA Enable ICC function with or without seated notification
withNotification |
|
Exchange APDU with plain text - AUGUSTA For Non-SRED Augusta Only
Sends an APDU packet to the ICC. If successful, response is the APDU data in response parameter.
c_APDU | APDU data packet |
cLen | APDU data packet length |
reData | Unencrypted APDU response |
reLen | Unencrypted APDU response data length |
int icc_exchangeEncryptedAPDU | ( | IN BYTE * | c_APDU, |
IN int | cLen, | ||
OUT BYTE * | reData, | ||
IN_OUT int * | reLen | ||
) |
Exchange APDU with encrypted data - AUGUSTA For SRED Augusta Only
Sends an APDU packet to the ICC. If successful, response is the APDU data in response parameter.
c_APDU | KSN + encytpted APDU data packet, or no KSN (use last known KSN) + encrypted APDU data packet With KSN: [0A][KSN][Encrypted C-APDU] Without KSN: [00][Encrypted C-APDU] |
The format of Raw C-APDU Data Structure of [m-bytes Encrypted C-APDU] is below:
cLen | data packet length |
reData | response encrypted APDU response. Can be three options: |
[00] + [Plaintext R-APDU]
[01] + [00] + [n bytes Encrypted R-APDU without Status Bytes] + [2 bytes Status Bytes]
The KSN, when provided, will be 10 bytes. The KSN will only be provided when it has changed since the last provided KSN. Each card Power-On generates a new KSN. During a sequence of commands where the KSN is identical, the first response will have a KSN length set to [0x0A] followed by the KSN, while subsequent commands with the same KSN value will have a KSN length of [0x00] followed by the Encrypted R-APDU without Status Bytes.
reLen | encrypted APDU response data length |
Get APDU KSN - AUGUSTA
Retrieves the KSN used in ICC Encypted APDU usage
KSN | Returns the encrypted APDU packet KSN |
inLen | KSN data length |
Get ICC Function status - AUGUSTA Get ICC Function status about enable/disable and with or without seated notification
enabled |
|
withNotification | 1 means with notification when ICC seated status changed. 0 means without notification. |
int icc_getICCReaderStatus | ( | OUT BYTE * | status | ) |
Get Reader Status - AUGUSTA
Returns the reader status
status | Pointer that will return with the ICCReaderStatus results. bit 0: 0 = ICC Power Not Ready, 1 = ICC Powered bit 1: 0 = Card not seated, 1 = card seated |
int icc_getKeyFormatForICCDUKPT | ( | OUT BYTE * | format | ) |
Get Key Format For DUKPT - AUGUSTA
Specifies how data will be encrypted with Data Key or PIN key (if DUKPT key loaded). This applies to both MSR and ICC
format | Response returned from method:
|
int icc_getKeyTypeForICCDUKPT | ( | OUT BYTE * | type | ) |
Get Key Type for DUKPT - AUGUSTA
Specifies the key type used for ICC DUKPT encryption This applies to both MSR and ICC
type | Response returned from method:
|
int icc_powerOffICC | ( | ) |
Power Off ICC
Powers down the ICC
If Success, empty If Failure, ASCII encoded data of error string
Power On ICC
Power up the currently selected microprocessor card in the ICC reader
ATR,the | ATR data response when succeeded power on ICC, |
inLen,the | length of ATR data |
int icc_setKeyFormatForICCDUKPT | ( | IN BYTE | format | ) |
Set Key Format for DUKPT - AUGUSTA
Sets how data will be encrypted, with either TDES or AES (if DUKPT key loaded) This applies to both MSR and ICC
format | encryption Encryption Type
|
int icc_setKeyTypeForICCDUKPT | ( | IN BYTE | type | ) |
Set Key Type for DUKPT Key - AUGUSTA
Sets which key the data will be encrypted with, with either Data Key or PIN key (if DUKPT key loaded) This applies to both MSR and ICC
type | Encryption Type
|
int iso8583_deserializeFromXML | ( | IN BYTE * | serializedMessage, |
IN int | serializedMessageLength, | ||
OUT DL_ISO8583_HANDLER * | ISOHandler, | ||
OUT DL_ISO8583_MSG * | ISOMessage | ||
) |
Deserialize the XML-formatted ISO8583 message.
serializedMessage | - The XML-formatted message |
serializedMessageLength | - The length of the XML-formatted message |
ISOHandler | - A null ISO8583 handler |
ISOMessage | - The ISO8583 message structure |
Display the messages in a formatted manner on the screen for verifying results.
ISOHandler | - The ISO8583 handler |
ISOMessage | - The ISO8583 message structure |
int iso8583_freeMessage | ( | IN DL_ISO8583_MSG * | ISOMessage | ) |
Deallocate the ISO8583 message structure's memory.
ISOMessage | - The ISO8583 message structure |
int iso8583_get1987Handler | ( | OUT DL_ISO8583_HANDLER * | ISOHandler | ) |
Get the ISO8583 1987 version handler.
ISOHandler | A handler with knowledge of the ISO8583 1987 version fields |
int iso8583_get1993Handler | ( | OUT DL_ISO8583_HANDLER * | ISOHandler | ) |
Get the ISO8583 1993 version handler.
ISOHandler | A handler with knowledge of the ISO8583 1993 version fields |
int iso8583_get2003Handler | ( | OUT DL_ISO8583_HANDLER * | ISOHandler | ) |
Get the ISO8583 2003 version handler.
ISOHandler | A handler with knowledge of the ISO8583 2003 version fields |
int iso8583_getField | ( | IN DL_UINT16 | dataField, |
IN DL_ISO8583_HANDLER * | ISOHandler, | ||
OUT DL_ISO8583_FIELD_DEF * | field | ||
) |
Get the specified field's information using the data field.
dataField | - The data field number |
ISOHandler | - The ISO8583 handler |
field | - The requested field |
int iso8583_getMessageField | ( | IN DL_UINT16 | dataField, |
IN DL_ISO8583_MSG * | ISOMessage, | ||
OUT DL_ISO8583_MSG_FIELD * | messageField | ||
) |
Get the specified message field using the data field.
dataField | - The data field number |
ISOMessage | - The ISO8583 message structure |
messageField | - The requested message field |
int iso8583_initializeMessage | ( | OUT DL_ISO8583_MSG * | ISOMessage | ) |
Initialize the ISO8583 message structure.
ISOMessage | - The initialized ISO8583 message structure |
int iso8583_packMessage | ( | IN const DL_ISO8583_HANDLER * | ISOHandler, |
IN const DL_ISO8583_MSG * | ISOMessage, | ||
OUT DL_UINT8 * | packedData, | ||
OUT DL_UINT16 * | packedDataLength | ||
) |
Pack the message fields into an array.
ISOHandler | - The ISO8583 handler |
ISOMessage | - The ISO8583 message structure |
packedData | - The packaged data |
packedDataLength | - The packaged data's length |
Remove the specified message field.
dataField | - The data field number |
ISOMessage | - The ISO8583 message structure |
int iso8583_serializeToXML | ( | IN DL_ISO8583_HANDLER * | ISOHandler, |
IN DL_ISO8583_MSG * | ISOMessage, | ||
OUT BYTE * | serializedMessage, | ||
OUT int * | serializedMessageLength | ||
) |
Serialize the message fields into an XML format.
ISOHandler | - The ISO8583 handler |
ISOMessage | - The ISO8583 message structure |
serializedMessage | - The XML-formatted message |
serializedMessageLength | - The XML message's length |
int iso8583_setMessageField | ( | IN DL_UINT16 | dataField, |
IN const DL_UINT8 * | data, | ||
OUT DL_ISO8583_MSG * | ISOMessage | ||
) |
Set the specified message field.
dataField | - The data field number |
data | - The data to apply |
ISOMessage | - The ISO8583 message structure |
int iso8583_unpackMessage | ( | IN const DL_ISO8583_HANDLER * | ISOHandler, |
IN const DL_UINT8 * | packedData, | ||
IN DL_UINT16 | packedDataLength, | ||
OUT DL_ISO8583_MSG * | ISOMessage | ||
) |
Unpack the message field array into the ISO8583 message structure.
ISOHandler | - The ISO8583 handler |
packedData | - The packaged data |
packedDataLength | - The packaged data's length |
ISOMessage | - The ISO8583 message structure |
int lcd_addButton | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | buttonName, | ||
IN int | buttonNameLen, | ||
IN BYTE | type, | ||
IN BYTE | alignment, | ||
IN int | xCord, | ||
IN int | yCord, | ||
IN char * | label, | ||
IN int | labelLen, | ||
OUT IDTLCDItem * | returnItem | ||
) |
Add Button
Adds a button to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on. The SDK timeout of the command is set to 6 seconds.
screenName | Screen name that will be the target of add button |
screenNameLen | Length of screenName |
buttonName | Button name that will be the target of add button |
buttonNameLen | Length of buttonName |
type | Button Type
|
alignment | Position for Button
|
xCord | x-coordinate for Button, range 0-271 |
yCord | y-coordinate for Button, range 0-479 |
label | Label to show on the button. Required for Large/Medium buttons. Not used for Invisible buttons. |
labelLen | Length of label |
returnItem | The item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created button |
int lcd_addEthernet | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen, | ||
IN BYTE | alignment, | ||
IN int | xCord, | ||
IN int | yCord, | ||
OUT IDTLCDItem * | returnItem | ||
) |
Add Ethernet Settings
Adds an Ethernet settings to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on. The SDK timeout of the command is set to 6 seconds.
screenName | Screen name that will be the target of add widget |
screenNameLen | Length of screenName |
objectName | Object name that will be the target of add widget |
objectNameLen | Length of objectName |
alignment | Position for widget
|
xCord | x-coordinate for widget, range 0-271 |
yCord | y-coordinate for widget, range 0-479 |
returnItem | The item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created widget |
Item | Maximum can be created for each screen |
---|---|
Text Area | 20 |
Large Button | 8 |
Medium Button | 16 |
Invisible Button | 16 |
Numeric Entry | 1 |
Ethernet Setting | 1 |
Led widget | 1 |
image | 20 |
int lcd_addExtVideo | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen, | ||
IN BYTE | alignment, | ||
IN int | xCord, | ||
IN int | yCord, | ||
IN BYTE | loop, | ||
IN BYTE | numVideos, | ||
IN char * | filenames, | ||
IN int | filenamesLen, | ||
OUT IDTLCDItem * | returnItem | ||
) |
Add Extended Video
Adds a extended video to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on. The SDK timeout of the command is set to 6 seconds.
screenName | Screen name that will be the target of add video |
screenNameLen | Length of screenName |
objectName | Object name that will be the target of add video |
objectNameLen | Length of objectName |
alignment | Position for Video
|
xCord | x-coordinate for Video, range 0-271 |
yCord | y-coordinate for Video, range 0-479 |
loop | loop the videos when it's done. 0: Do not Loop 1: Loop |
numVideos | number of video files, range 1-4 |
filenames | Filenames of the videos separated by '\0'. Must be available in the sd card. |
filenamesLen | Length of filenames excluding the last NULL character. Should be less than 64. |
returnItem | The item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created video |
Item | Maximum can be created for each screen |
---|---|
Text Area | 20 |
Large Button | 8 |
Medium Button | 16 |
Invisible Button | 16 |
Numeric Entry | 1 |
Ethernet Setting | 1 |
Led widget | 1 |
image | 20 |
video | 1 |
int lcd_addImage | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen, | ||
IN BYTE | alignment, | ||
IN int | xCord, | ||
IN int | yCord, | ||
IN char * | filename, | ||
IN int | filenameLen, | ||
OUT IDTLCDItem * | returnItem | ||
) |
Add Image
Adds a image to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on. The SDK timeout of the command is set to 6 seconds.
screenName | Screen name that will be the target of add image |
screenNameLen | Length of screenName |
objectName | Object name that will be the target of add image |
objectNameLen | Length of objectName |
alignment | Position for Image
|
xCord | x-coordinate for Image, range 0-271 |
yCord | y-coordinate for Image, range 0-479 |
filename | Filename of the image. Must be available in device memory. |
filenameLen | Length of filename |
returnItem | The item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created image |
Item | Maximum can be created for each screen |
---|---|
Text Area | 20 |
Large Button | 8 |
Medium Button | 16 |
Invisible Button | 16 |
Numeric Entry | 1 |
Ethernet Setting | 1 |
Led widget | 1 |
image | 20 |
int lcd_addItemToList | ( | IN BYTE * | listGraphicsID, |
IN char * | itemName, | ||
IN char * | itemID, | ||
IN int | selected | ||
) |
Adds an item to an existing list.
Custom Display Mode must be enabled for custom text.
listGraphicsID | Existing list's graphics ID (4 byte array) that is provided during creation |
itemName | Item name (Maximum: 127 characters) |
itemID | Identifier for the item (Maximum: 31 characters) |
selected | If the item should be selected |
int lcd_addLED | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen, | ||
IN BYTE | alignment, | ||
IN int | xCord, | ||
IN int | yCord, | ||
OUT IDTLCDItem * | returnItem, | ||
IN BYTE * | LED, | ||
IN int | LEDLen | ||
) |
Add LED
Adds a LED widget to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on. The SDK timeout of the command is set to 6 seconds.
screenName | Screen name that will be the target of add LED |
screenNameLen | Length of screenName |
objectName | Object name that will be the target of add LED |
objectNameLen | Length of objectName |
alignment | Position for LED
|
xCord | x-coordinate for LED, range 0-271 |
yCord | y-coordinate for LED, range 0-479 |
returnItem | The item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created widget |
LED | Must be 4 bytes, LED 0 = byte 0, LED 1 = byte 1, LED 2 = byte 2, LED 3 = byte 3
|
LEDLen | Length of LED |
Item | Maximum can be created for each screen |
---|---|
Text Area | 20 |
Large Button | 8 |
Medium Button | 16 |
Invisible Button | 16 |
Numeric Entry | 1 |
Ethernet Setting | 1 |
Led widget | 1 |
image | 20 |
int lcd_addText | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen, | ||
IN BYTE | alignment, | ||
IN int | xCord, | ||
IN int | yCord, | ||
IN int | width, | ||
IN int | height, | ||
IN BYTE | fontID, | ||
IN BYTE * | color, | ||
IN int | colorLen, | ||
IN char * | label, | ||
IN int | labelLen, | ||
OUT IDTLCDItem * | returnItem | ||
) |
Add text
Adds a text component to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on. The SDK timeout of the command is set to 6 seconds.
screenName | Screen name that will be the target of add text |
screenNameLen | Length of screenName |
objectName | Object name that will be the target of add text |
objectNameLen | Length of objectName |
alignment | Position for Text
|
xCord | x-coordinate for Text, range 0-271 |
yCord | y-coordinate for Text, range 0-479 |
width | Width of text area |
height | Height of text area |
fontID | Font ID |
color | Four bytes for color, example, Blue = 0xFF000000, Black = 0x00000000
|
colorLen | Length of color |
label | Label to show on the text |
labelLen | Length of label |
returnItem | The item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created text area |
Font ID | Typography Name | Font | Size |
---|---|---|---|
0 | RoundBold_12 | RoundBold.ttf | 12 |
1 | RoundBold_18 | RoundBold.ttf | 18 |
2 | RoundBold_24 | RoundBold.ttf | 24 |
3 | RoundBold_36 | RoundBold.ttf | 36 |
4 | RoundBold_48 | RoundBold.ttf | 48 |
5 | RoundBold_60 | RoundBold.ttf | 60 |
6 | RoundBold_72 | RoundBold.ttf | 72 |
7 | RoundCondensedBold_12 | RoundCondensedBold.ttf | 12 |
8 | RoundCondensedBold_18 | RoundCondensedBold.ttf | 18 |
9 | RoundCondensedBold_24 | RoundCondensedBold.ttf | 24 |
10 | RoundCondensedBold_36 | RoundCondensedBold.ttf | 36 |
11 | RoundCondensedBold_48 | RoundCondensedBold.ttf | 48 |
12 | RoundCondensedBold_60 | RoundCondensedBold.ttf | 60 |
13 | RoundCondensedBold_72 | RoundCondensedBold.ttf | 72 |
14 | RoundCondensedMedium_12 | RoundCondensedMedium_0.ttf | 12 |
15 | RoundCondensedMedium_18 | RoundCondensedMedium_0.ttf | 18 |
16 | RoundCondensedMedium_24 | RoundCondensedMedium_0.ttf | 24 |
17 | RoundCondensedMedium_36 | RoundCondensedMedium_0.ttf | 36 |
18 | RoundCondensedMedium_48 | RoundCondensedMedium_0.ttf | 48 |
19 | RoundCondensedMedium_60 | RoundCondensedMedium_0.ttf | 60 |
20 | RoundCondensedMedium_72 | RoundCondensedMedium_0.ttf | 72 |
21 | RoundCondensedSemibold_12 | RoundCondensedSemibold.ttf | 12 |
22 | RoundCondensedSemibold_18 | RoundCondensedSemibold.ttf | 18 |
23 | RoundCondensedSemibold_24 | RoundCondensedSemibold.ttf | 24 |
24 | RoundCondensedSemibold_36 | RoundCondensedSemibold.ttf | 36 |
25 | RoundCondensedSemibold_48 | RoundCondensedSemibold.ttf | 48 |
26 | RoundCondensedSemibold_60 | RoundCondensedSemibold.ttf | 60 |
27 | RoundCondensedSemibold_72 | RoundCondensedSemibold.ttf | 72 |
28 | RoundMedium_12 | RoundMedium.ttf | 12 |
29 | RoundMedium_18 | RoundMedium.ttf | 18 |
30 | RoundMedium_24 | RoundMedium.ttf | 24 |
31 | RoundMedium_36 | RoundMedium.ttf | 36 |
32 | RoundMedium_48 | RoundMedium.ttf | 48 |
33 | RoundMedium_60 | RoundMedium.ttf | 60 |
34 | RoundMedium_72 | RoundMedium.ttf | 72 |
35 | RoundSemibold_12 | RoundSemibold.ttf | 12 |
36 | RoundSemibold_18 | RoundSemibold.ttf | 18 |
37 | RoundSemibold_24 | RoundSemibold.ttf | 24 |
38 | RoundSemibold_36 | RoundSemibold.ttf | 36 |
39 | RoundSemibold_48 | RoundSemibold.ttf | 48 |
40 | RoundSemibold_60 | RoundSemibold.ttf | 60 |
41 | RoundSemibold_72 | RoundSemibold.ttf | 72 |
Item | Maximum can be created for each screen |
---|---|
Text Area | 20 |
Large Button | 8 |
Medium Button | 16 |
Invisible Button | 16 |
Numeric Entry | 1 |
Ethernet Setting | 1 |
Led widget | 1 |
image | 20 |
int lcd_addVideo | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen, | ||
IN BYTE | alignment, | ||
IN int | xCord, | ||
IN int | yCord, | ||
IN char * | filename, | ||
IN int | filenameLen, | ||
OUT IDTLCDItem * | returnItem | ||
) |
Add Video
Adds a video to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on. The SDK timeout of the command is set to 6 seconds.
screenName | Screen name that will be the target of add video |
screenNameLen | Length of screenName |
objectName | Object name that will be the target of add video |
objectNameLen | Length of objectName |
alignment | Position for Video
|
xCord | x-coordinate for Video, range 0-271 |
yCord | y-coordinate for Video, range 0-479 |
filename | Filename of the video. Must be available in the sd card. |
filenameLen | Length of filename |
returnItem | The item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created video |
Item | Maximum can be created for each screen |
---|---|
Text Area | 20 |
Large Button | 8 |
Medium Button | 16 |
Invisible Button | 16 |
Numeric Entry | 1 |
Ethernet Setting | 1 |
Led widget | 1 |
image | 20 |
video | 1 |
Cancel slide show Cancel the slide show currently running
statusCode | If the return code is not Success (0), the kernel may return a four-byte Extended Status Code |
statusCodeLen | the length of the Extended Status Code (should be 4 bytes) |
int lcd_captureSignature | ( | IN int | timeout | ) |
Enables Signature Capture This command executes the signature capture screen. Once a signature is captured, it is sent to the callback with DeviceState.Signature, and the data will contain a .png of the signature
timeout | Timeout waiting for the signature capture |
int lcd_clearDisplay | ( | IN BYTE | control | ) |
Clear Display Command to clear the display screen on the reader. It returns the display to the currently defined background color and terminates all events
control | for L80 and L100 only. 0:First Line 1:Second Line 2:Third Line 3:Fourth Line 0xFF: All Screen |
int lcd_clearEventQueue | ( | ) |
Removes all entries from the event queue.
int lcd_clearScreenInfo | ( | ) |
Clear Screen Info
Clear all current screen information in RAM and flash. And then show'power-on screen'
int lcd_cloneScreen | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | cloneName, | ||
IN int | cloneNameLen, | ||
OUT int * | cloneID | ||
) |
Clone Screen
Clones an existing screen.
screenName | Screen name to clone. |
screenNameLen | Length of screenName. |
cloneName | Name of the cloned screen. |
cloneNameLen | Length of cloneName. |
cloneID | Screen ID of the cloned screen |
DEPRECATED : please use lcd_createInputField_Len(IN BYTE *specs, IN int specsLen, OUT BYTE *graphicId, IN_OUT int *graphicIdLen)
Create an input field on the screen.
specs | The specs of the input field: | Length (bytes) | Description | |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | X coordinate in pixels, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Y coordinate in pixels, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Width in pixels, zero terminated ASCII. Set to 0 (30h) for calculated width. |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Height in pixels, zero terminated ASCII. Set to 0 (30h) for calculated height. |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 | Font designation. Default font = 1, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 3 | Zero terminated ASCII Font ID |
| ---------------— | -----------------------------------------------------------------------------— |
| 3 | Zero terminated ASCII hexadecimal display option flag |
| | Bit 0 0 = No Border |
| | 1 = Show Border |
| | Bit 1 0 = Characters are first displayed on the leftmost area of the screen. |
| | 1 = The first character entered is displayed on the rightmost area of |
| | the screen, and, as further digits are entered, characters scroll |
| | from the right to the left. |
| | Bit 2 - 15 Reserved |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Foreground color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Background color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Border color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 - 65 | Prefill String, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 - 65 | Format String, zero terminated ASCII |
specsLen | The length of specs |
graphicsID | The graphicID of the event (required to be 4 bytes) |
int lcd_createInputField_Len | ( | IN BYTE * | specs, |
IN int | specsLen, | ||
OUT BYTE * | graphicId, | ||
IN_OUT int * | graphicIdLen | ||
) |
Create an input field on the screen.
specs | The specs of the input field: | Length (bytes) | Description | |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | X coordinate in pixels, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Y coordinate in pixels, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Width in pixels, zero terminated ASCII. Set to 0 (30h) for calculated width. |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Height in pixels, zero terminated ASCII. Set to 0 (30h) for calculated height. |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 | Font designation. Default font = 1, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 3 | Zero terminated ASCII Font ID |
| ---------------— | -----------------------------------------------------------------------------— |
| 3 | Zero terminated ASCII hexadecimal display option flag |
| | Bit 0 0 = No Border |
| | 1 = Show Border |
| | Bit 1 0 = Characters are first displayed on the leftmost area of the screen. |
| | 1 = The first character entered is displayed on the rightmost area of |
| | the screen, and, as further digits are entered, characters scroll |
| | from the right to the left. |
| | Bit 2 - 15 Reserved |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Foreground color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Background color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Border color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 - 65 | Prefill String, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 - 65 | Format String, zero terminated ASCII |
specsLen | The length of specs |
graphicsID | The graphicID of the event (required to be 4 bytes) |
graphicsIDLen | Length of graphicsID |
int lcd_createList | ( | IN int | posX, |
IN int | posY, | ||
IN int | numOfColumns, | ||
IN int | numOfRows, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | verticalScrollArrowsVisible, | ||
IN int | borderedListItems, | ||
IN int | borderdScrollArrows, | ||
IN int | touchSensitive, | ||
IN int | automaticScrolling, | ||
OUT BYTE * | graphicsID | ||
) |
DEPRECATED : please use lcd_createList_Len(IN int posX, IN int posY, IN int numOfColumns, IN int numOfRows, IN int fontDesignation, IN int fontID, IN int verticalScrollArrowsVisible, IN int borderedListItems, IN int borderdScrollArrows, IN int touchSensitive, IN int automaticScrolling, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen)
Creates a display list.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
numOfColumns | Number of columns to display |
numOfRows | Number of rows to display |
fontDesignation | Font Designation 1 - Default font |
fontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
verticalScrollArrowsVisible | Display vertical scroll arrows by default |
borederedListItems | Draw border around list items |
borederedScrollArrows | Draw border around scroll arrows (if visible) |
touchSensitive | List items are touch enabled |
automaticScrolling | Enable automatic scrolling of list when new items exceed display area |
graphicsID | A four byte array containing the ID of the created element (optional) if graphicsID is NULL, the SDK will not return graphicsID if graphicsID is not NULL, the SDK will return graphicsID, but it will need 4 bytes of memory |
int lcd_createList_Len | ( | IN int | posX, |
IN int | posY, | ||
IN int | numOfColumns, | ||
IN int | numOfRows, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | verticalScrollArrowsVisible, | ||
IN int | borderedListItems, | ||
IN int | borderdScrollArrows, | ||
IN int | touchSensitive, | ||
IN int | automaticScrolling, | ||
OUT BYTE * | graphicsID, | ||
IN_OUT int * | graphicsIDLen | ||
) |
Creates a display list.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
numOfColumns | Number of columns to display |
numOfRows | Number of rows to display |
fontDesignation | Font Designation 1 - Default font |
fontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
verticalScrollArrowsVisible | Display vertical scroll arrows by default |
borederedListItems | Draw border around list items |
borederedScrollArrows | Draw border around scroll arrows (if visible) |
touchSensitive | List items are touch enabled |
automaticScrolling | Enable automatic scrolling of list when new items exceed display area |
graphicsID | A four byte array containing the ID of the created element (optional) |
graphicsIDLen | Length of graphicsID (optional) |
Create Screen
Creates a new screen.
screenName | Screen name to use. |
screenNameLen | Length of screenName. |
screenID | Screen ID that was created. |
int lcd_customDisplayMode | ( | IN int | enable | ) |
Custom Display Mode Controls the LCD display mode to custom display. Keyboard entry is limited to the Cancel, Clear, Enter and the function keys, if present. PIN entry is not permitted while the reader is in Custom Display Mode
enable | TRUE = enabled, FALSE = disabled |
Destroy Screen
Destroys a previously created inactive screen. The screen cannot be active
screenName | Screen name to destroy. The screen number is assigned with lcd_createScreen. |
screenNameLen | Length of screenName. |
int lcd_displayButton | ( | IN int | posX, |
IN int | posY, | ||
IN int | buttonWidth, | ||
IN int | buttonHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | displayPosition, | ||
IN char * | buttonLabel, | ||
IN int | buttonTextColorR, | ||
IN int | buttonTextColorG, | ||
IN int | buttonTextColorB, | ||
IN int | buttonBackgroundColorR, | ||
IN int | buttonBackgroundColorG, | ||
IN int | buttonBackgroundColorB, | ||
OUT BYTE * | graphicsID | ||
) |
DEPRECATED : please use lcd_displayButton_Len(IN int posX, IN int posY, IN int buttonWidth, IN int buttonHeight, IN int fontDesignation, IN int fontID, IN int displayPosition, IN char *buttonLabel, IN int buttonTextColorR, IN int buttonTextColorG, IN int buttonTextColorB, IN int buttonBackgroundColorR, IN int buttonBackgroundColorG, IN int buttonBackgroundColorB, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen)
Displays an interactive button.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
buttonWidth | Width of the button |
buttonHeight | Height of the button |
fontDesignation | Font designation 1 - Default |
FontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
displayPosition | Button display position 0 - Center on line Y without clearing screen and without word wrap 1 - Center on line Y after clearing screen and without word wrap 2 - Display at (X, Y) without clearing screen and without word wrap 3 - Display at (X, Y) after clearing screen and without word wrap 4 - Center button on screen without clearing screen and without word wrap 5 - Center button on screen after clearing screen and without word wrap 64 - Center on line Y without clearing screen and with word wrap 65 - Center on line Y after clearing the screen and with word wrap 66 - Display at (X, Y) without clearing screen and with word wrap 67 - Display at (X, Y) after clearing screen and with word wrap 68 - Center button on screen without clearing screen and with word wrap 69 - Center button on screen after clearing screen and with word wrap |
buttonLabel | Button label text (Maximum: 31 characters) |
buttonTextColorR | - Red component for foreground color (0 - 255) |
buttonTextColorG | - Green component for foreground color (0 - 255) |
buttonTextColorB | - Blue component for foreground color (0 - 255) |
buttonBackgroundColorR | - Red component for background color (0 - 255) |
buttonBackgroundColorG | - Green component for background color (0 - 255) |
buttonBackgroundColorB | - Blue component for background color (0 - 255) |
graphicsID | A four byte array containing the ID of the created element (optional) if graphicsID is NULL, the SDK will not return graphicsID if graphicsID is not NULL, the SDK will return graphicsID, but it will need 4 bytes of memory |
int lcd_displayButton_Len | ( | IN int | posX, |
IN int | posY, | ||
IN int | buttonWidth, | ||
IN int | buttonHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | displayPosition, | ||
IN char * | buttonLabel, | ||
IN int | buttonTextColorR, | ||
IN int | buttonTextColorG, | ||
IN int | buttonTextColorB, | ||
IN int | buttonBackgroundColorR, | ||
IN int | buttonBackgroundColorG, | ||
IN int | buttonBackgroundColorB, | ||
OUT BYTE * | graphicsID, | ||
IN_OUT int * | graphicsIDLen | ||
) |
Displays an interactive button.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
buttonWidth | Width of the button |
buttonHeight | Height of the button |
fontDesignation | Font designation 1 - Default |
FontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
displayPosition | Button display position 0 - Center on line Y without clearing screen and without word wrap 1 - Center on line Y after clearing screen and without word wrap 2 - Display at (X, Y) without clearing screen and without word wrap 3 - Display at (X, Y) after clearing screen and without word wrap 4 - Center button on screen without clearing screen and without word wrap 5 - Center button on screen after clearing screen and without word wrap 64 - Center on line Y without clearing screen and with word wrap 65 - Center on line Y after clearing the screen and with word wrap 66 - Display at (X, Y) without clearing screen and with word wrap 67 - Display at (X, Y) after clearing screen and with word wrap 68 - Center button on screen without clearing screen and with word wrap 69 - Center button on screen after clearing screen and with word wrap |
buttonLabel | Button label text (Maximum: 31 characters) |
buttonTextColorR | - Red component for foreground color (0 - 255) |
buttonTextColorG | - Green component for foreground color (0 - 255) |
buttonTextColorB | - Blue component for foreground color (0 - 255) |
buttonBackgroundColorR | - Red component for background color (0 - 255) |
buttonBackgroundColorG | - Green component for background color (0 - 255) |
buttonBackgroundColorB | - Blue component for background color (0 - 255) |
graphicsID | A four byte array containing the ID of the created element (optional) |
graphicsIDLen | Length of graphicsID (optional) |
int lcd_displayMessage | ( | int | lineNumber, |
char * | message, | ||
int | messageLen | ||
) |
Display Message on Line
Displays a message on a display line. @param lineNumber Line number to display message on (1-4) @param message Message to display @param messageLen length of message
int lcd_displayParagraph | ( | IN int | posX, |
IN int | posY, | ||
IN int | displayWidth, | ||
IN int | displayHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | displayProperties, | ||
IN char * | displayText | ||
) |
Displays text with scroll feature.
Custom Display Mode must be enabled.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
displayWidth | Width of the display area in pixels (Minimum: 40px) 0 or NULL - Use the full width to display text |
displayHeight | Height of the display area in pixels (Minimum: 100px) 0 or NULL - Use the full height to display text |
fontDesignation | Font designation 1 - Default |
fontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
displayProperties | Display properties for the text 0 - Center on line Y without clearing screen 1 - Center on line Y after clearing screen 2 - Display at (X, Y) without clearing screen 3 - Display at (X, Y) after clearing screen 4 - Center on screen without clearing screen 5 - Center on screen after clearing screen |
displayText | Display text (Maximum: 3999 characters) |
int lcd_displayPrompt | ( | int | promptNumber, |
int | lineNumber | ||
) |
Display Prompt on Line
Displays a message prompt from L80 or L100 memory.
promptNumber | Prompt number (0-9) |
lineNumber | Line number to display message prompt (1-4) |
int lcd_displayText | ( | IN int | posX, |
IN int | posY, | ||
IN int | displayWidth, | ||
IN int | displayHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | screenPosition, | ||
IN char * | displayText, | ||
OUT BYTE * | graphicsID | ||
) |
DEPRECATED : please use lcd_displayText_Len(IN int posX, IN int posY, IN int displayWidth, IN int displayHeight, IN int fontDesignation, IN int fontID, IN int screenPosition, IN char *displayText, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen)
Displays text.
Custom Display Mode must be enabled for custom text. PIN pad entry is not allowed in Custom Display Mode but the Cancel, OK, and Clear keys remain active.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
displayWidth | Width of the display area in pixels (optional) |
displayHeight | Height of the display area in pixels (optional) |
fontDesignation | Font designation 1 - Default |
FontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
screenPosition | Display position 0 - Center on line Y without clearing screen 1 - Center on line Y after clearing screen 2 - Display at (X, Y) without clearing screen 3 - Display at (X, Y) after clearing screen 4 - Display at center of screen without clearing screen 5 - Display at center of screen after clearing screen 6 - Display text right-justified without clearing screen 7 - Display text right-justified after clearing screen |
displayText | Display text (Maximum: 1900 characters) |
graphicsID | A four byte array containing the ID of the created element (optional) if graphicsID is NULL, the SDK will not return graphicsID if graphicsID is not NULL, the SDK will return graphicsID, but it will need 4 bytes of memory |
int lcd_displayText_Len | ( | IN int | posX, |
IN int | posY, | ||
IN int | displayWidth, | ||
IN int | displayHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | screenPosition, | ||
IN char * | displayText, | ||
OUT BYTE * | graphicsID, | ||
IN_OUT int * | graphicsIDLen | ||
) |
Displays text.
Custom Display Mode must be enabled for custom text. PIN pad entry is not allowed in Custom Display Mode but the Cancel, OK, and Clear keys remain active.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
displayWidth | Width of the display area in pixels (optional) |
displayHeight | Height of the display area in pixels (optional) |
fontDesignation | Font designation 1 - Default |
FontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
screenPosition | Display position 0 - Center on line Y without clearing screen 1 - Center on line Y after clearing screen 2 - Display at (X, Y) without clearing screen 3 - Display at (X, Y) after clearing screen 4 - Display at center of screen without clearing screen 5 - Display at center of screen after clearing screen 6 - Display text right-justified without clearing screen 7 - Display text right-justified after clearing screen |
displayText | Display text (Maximum: 1900 characters) |
graphicsID | A four byte array containing the ID of the created element (optional) |
graphicsIDLen | Length of graphicsID (optional) |
int lcd_enableBacklight | ( | int | enable | ) |
Enable/Disable LCD Backlight Trns on/off the LCD back lighting.
enable | TRUE = turn ON backlight, FALSE = turn OFF backlight |
Get Active Screen
Returns the active screen ID.
screenName | Screen name this is active. |
screenNameLen | Length of screenName. |
int lcd_getAllObjects | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN_OUT int * | objectNumbers, | ||
OUT IDTObjectInfo * | objectInfo | ||
) |
Get All Objects on Screen
Get all created objects' name on certain screen
screenName | Screen name to get all objects |
screenNameLen | Length of screenName |
objectNumbers | Number of created objects |
returnObjects | Array of all created objects each element includes -objectID of a created object -objectName of a created object -objectNameLen of objectName |
Get All Screens
Get all created screens' name
screenNumbers | Number of created screens |
screenInfo | Array of all created screens each element includes -screenID of a created screen -screenName of a created screen -screenNameLen of screenName |
int lcd_getBacklightStatus | ( | int * | enabled | ) |
Get Backlight Status
Returns the status of the LCD back lighting.
enabled | 1 = Backlight is ON, 0 = Backlight is OFF |
int lcd_getButtonEvent | ( | OUT int * | screenID, |
OUT int * | objectID, | ||
OUT char * | screenName, | ||
IN_OUT int * | screenNameLen, | ||
OUT char * | objectName, | ||
IN_OUT int * | objectNameLen, | ||
OUT int * | isLongPress | ||
) |
Get Button Event
Reports back the ID of the button that encountered a click event after the last Get Button Event.
screenID | Screen ID of the last clicked button |
objectID | Button ID of the last clicked button |
screenName | Screen Name of the last clicked button |
screenNameLen | Length of screenName |
objectName | Button Name of the last clicked button |
objectNameLen | Length of objectName |
isLongPress | 1 = Long Press, 0 = Short Press |
int lcd_getInputEvent | ( | IN int | timeout, |
OUT int * | dataReceived, | ||
OUT BYTE * | eventType, | ||
OUT BYTE * | graphicsID, | ||
OUT BYTE * | eventData | ||
) |
DEPRECATED : please use lcd_getInputEvent_Len(IN int timeout, OUT int *dataReceived, OUT BYTE *eventType, IN_OUT int *eventTypeLen, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen, OUT BYTE *eventData, IN_OUT int *eventDataLen)
Requests input from the reader.
timeout | Timeout amount in seconds 0 - No timeout |
dataReceived | Indicates if an event occurred and data was received 0 - No data received 1 - Data received |
eventType | The event type (required to be at least 4 bytes), see table below |
graphicsID | The graphicID of the event (required to be at least 4 bytes) |
eventData | The event data, see table below (required to be at least 73 bytes) | Event Type | Value (4 bytes) | Event Specific Data | |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Button Event | 00030000h | Length = Variable |
| | | Byte 1: State (1 = Pressed, other values RFU) |
| | | Byte 2 - n: Null terminated caption |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Checkbox Event | 00030001h | Length = 1 byte |
| | | Byte 1: State (1 = Checked, 0 = Unchecked) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Line Item Event | 00030002h | Length = 5 bytes |
| | | Byte 1: State (1 = Item Selected, other values RFU) |
| | | Byte 2 - n: Caption of the selected item |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Keypad Event | 00030003h | Length - 3 bytes |
| | | Byte 1: State (1 = key pressed, 2 = key released, other values RFU) |
| | | Byte 2 - 3: Key pressed and Key release |
| | | 0030h - KEYPAD_KEY_0 |
| | | 0031h - KEYPAD_KEY_1 |
| | | 0032h - KEYPAD_KEY_2 |
| | | 0033h - KEYPAD_KEY_3 |
| | | 0034h - KEYPAD_KEY_4 |
| | | 0035h - KEYPAD_KEY_5 |
| | | 0036h - KEYPAD_KEY_6 |
| | | 0037h - KEYPAD_KEY_7 |
| | | 0038h - KEYPAD_KEY_8 |
| | | 0039h - KEYPAD_KEY_9 |
| | | Byte 2 - 3: Only Key pressed |
| | | 000Dh - KEYPAD_KEY_ENTER |
| | | 0008h - KEYPAD_KEY_CLEAR |
| | | 001Bh - KEYPAD_KEY_CANCEL |
| | | 0070h - FUNC_KEY_F1 (Vend III) |
| | | 0071h - FUNC_KEY_F2 (Vend III) |
| | | 0072h - FUNC_KEY_F3 (Vend III) |
| | | 0073h - FUNC_KEY_F4 (Vend III) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Touchscreen Event | 00030004h | Length = 1 - 33 bytes |
| | | Byte 1: State (not used) |
| | | Byte 2 - 33: Image name (zero terminated) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Slideshow Event | 00030005h | Length = 1 byte |
| | | Byte 1: State (not used) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Transaction Event | 00030006h | Length = 9 bytes |
| | | Byte 1: State (not used) |
| | | Byte 2 - 5: Card type (0 = unknown) |
| | | Byte 6 - 9: Status - A four byte, big-endian field |
| | | Byte 9 is used to store the 1-byte status code |
| | | 00 - SUCCESS |
| | | 08 - TIMEOUT |
| | | 0A - FAILED |
| | | This is not related to the extended status codes |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Radio Button Event | 00030007h | Length = 73 bytes |
| | | Byte 1: State (1 = Change ins selected button, other values RFU) |
| | | Byte 2 - 33: Null terminated group name |
| | | Byte 34 - 65: Radio button caption |
int lcd_getInputEvent_Len | ( | IN int | timeout, |
OUT int * | dataReceived, | ||
OUT BYTE * | eventType, | ||
IN_OUT int * | eventTypeLen, | ||
OUT BYTE * | graphicsID, | ||
IN_OUT int * | graphicsIDLen, | ||
OUT BYTE * | eventData, | ||
IN_OUT int * | eventDataLen | ||
) |
Requests input from the reader.
timeout | Timeout amount in seconds 0 - No timeout |
dataReceived | Indicates if an event occurred and data was received 0 - No data received 1 - Data received |
eventType | The event type (required to be at least 4 bytes), see table below |
eventTypeLen | Length of eventType |
graphicsID | The graphicID of the event (required to be at least 4 bytes) |
graphicsIDLen | length of graphicID |
eventData | The event data, see table below (required to be at least 73 bytes) | Event Type | Value (4 bytes) | Event Specific Data | |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Button Event | 00030000h | Length = Variable |
| | | Byte 1: State (1 = Pressed, other values RFU) |
| | | Byte 2 - n: Null terminated caption |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Checkbox Event | 00030001h | Length = 1 byte |
| | | Byte 1: State (1 = Checked, 0 = Unchecked) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Line Item Event | 00030002h | Length = 5 bytes |
| | | Byte 1: State (1 = Item Selected, other values RFU) |
| | | Byte 2 - n: Caption of the selected item |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Keypad Event | 00030003h | Length - 3 bytes |
| | | Byte 1: State (1 = key pressed, 2 = key released, other values RFU) |
| | | Byte 2 - 3: Key pressed and Key release |
| | | 0030h - KEYPAD_KEY_0 |
| | | 0031h - KEYPAD_KEY_1 |
| | | 0032h - KEYPAD_KEY_2 |
| | | 0033h - KEYPAD_KEY_3 |
| | | 0034h - KEYPAD_KEY_4 |
| | | 0035h - KEYPAD_KEY_5 |
| | | 0036h - KEYPAD_KEY_6 |
| | | 0037h - KEYPAD_KEY_7 |
| | | 0038h - KEYPAD_KEY_8 |
| | | 0039h - KEYPAD_KEY_9 |
| | | Byte 2 - 3: Only Key pressed |
| | | 000Dh - KEYPAD_KEY_ENTER |
| | | 0008h - KEYPAD_KEY_CLEAR |
| | | 001Bh - KEYPAD_KEY_CANCEL |
| | | 0070h - FUNC_KEY_F1 (Vend III) |
| | | 0071h - FUNC_KEY_F2 (Vend III) |
| | | 0072h - FUNC_KEY_F3 (Vend III) |
| | | 0073h - FUNC_KEY_F4 (Vend III) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Touchscreen Event | 00030004h | Length = 1 - 33 bytes |
| | | Byte 1: State (not used) |
| | | Byte 2 - 33: Image name (zero terminated) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Slideshow Event | 00030005h | Length = 1 byte |
| | | Byte 1: State (not used) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Transaction Event | 00030006h | Length = 9 bytes |
| | | Byte 1: State (not used) |
| | | Byte 2 - 5: Card type (0 = unknown) |
| | | Byte 6 - 9: Status - A four byte, big-endian field |
| | | Byte 9 is used to store the 1-byte status code |
| | | 00 - SUCCESS |
| | | 08 - TIMEOUT |
| | | 0A - FAILED |
| | | This is not related to the extended status codes |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Radio Button Event | 00030007h | Length = 73 bytes |
| | | Byte 1: State (1 = Change ins selected button, other values RFU) |
| | | Byte 2 - 33: Null terminated group name |
| | | Byte 34 - 65: Radio button caption |
eventDataLen | Length of eventData |
Get the keypad data that was entered into the specified Input Field.
graphicsID | The graphicID of the input field (required to be 4 bytes) |
retData | return keypad data |
retDataLen | The length of retData |
DEPRECATED : please use lcd_getSelectedListItem_Len(IN BYTE *listGraphicsID, OUT char *itemID, IN_OUT int *itemIDLen)
Retrieves the selected item's ID.
listGraphicsID | Existing list's graphics ID (4 byte array) that is provided during creation |
itemID | The selected item's ID (Maximum: 32 characters) Need 33 bytes of memory including '\0' |
int lcd_getSelectedListItem_Len | ( | IN BYTE * | listGraphicsID, |
OUT char * | itemID, | ||
IN_OUT int * | itemIDLen | ||
) |
Retrieves the selected item's ID.
listGraphicsID | Existing list's graphics ID (4 byte array) that is provided during creation |
itemID | The selected item's ID (Maximum: 32 characters) Need 33 bytes of memory including '\0' |
itemIDLen | Length of itemID |
int lcd_linkUIWithTransactionMessageId | ( | IN BYTE | MessageId, |
IN char * | screenName, | ||
IN int | screenNameLen | ||
) |
Link UI with Transaction Message ID
Link an existing Customer UI ID with a specified transaction message ID. During transaction, the linked System UI will be replaced by the linked Customer UI
MessageId | Transaction Message ID: Refer to Doc “EMV Display Message ID Assignment” Selection by Customer |
screenName | Name of the screen (No longer than 32 bytes including the NULL character) |
screenNameLen | Length of screenName |
int lcd_loadScreenInfo | ( | ) |
Load Screen Info
Load all current screen information from RAM to flash
int lcd_queryObjectbyID | ( | IN int | objectID, |
OUT int * | objectNumbers, | ||
OUT IDTScreenInfo * | screenInfo | ||
) |
Queery Object by ID
Check if the given object exists or not. If exists, return all screen names which contains the object of the given object ID
objectID | ID of the checked object |
objectNumbers | Number of the checked object |
screenInfo | screen names containing the item |
int lcd_queryObjectbyName | ( | IN char * | objectName, |
IN int | objectNameLen, | ||
IN_OUT int * | objectNumbers, | ||
OUT IDTScreenInfo * | screenInfo | ||
) |
Queery Object by Name
Check if the given object exists or not. If exists, return all screen names which contains the object of the given object name
objectName | Name of the checked object |
objectNameLen | Length of objectName |
objectNumbers | Number of the checked object |
screenInfo | Array of all the screen names that contain the object |
int lcd_queryScreenbyID | ( | IN int | screenID, |
OUT int * | result, | ||
OUT int * | screenName, | ||
IN_OUT int * | screenNameLen | ||
) |
Queery Screen by ID
Check if the given screen exists or not
screenID | ID of the checked screen |
result | the checking result |
screenName | Name of the checked screen |
screenNameLen | Length of screenName |
ip | Optional: IP address to execute command on (for IP connected devices) |
Queery Screen by Name
Check if the given screen exists or not
screenName | Name of the checked screen |
screenNameLen | Length of screenName |
result | the checking result |
void lcd_registerCallBk | ( | pLCD_callBack | pLCDf | ) |
To register the lcd callback function to get the LCDItem. (Pass NULL to disable the callback.)
int lcd_removeItem | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen | ||
) |
Removed Item
Removes a component.
screenName | Screen name where to remove the target from. |
screenNameLen | Length of screenName. |
objectName | Identifier of the component |
objectNameLen | Length of objectName. |
int lcd_resetInitialState | ( | ) |
Reset to Initial State. This command places the reader UI into the idle state and displays the appropriate idle display.
int lcd_savePrompt | ( | int | promptNumber, |
char * | prompt, | ||
int | promptLen | ||
) |
Save Prompt
Saves a message prompt to L80 or L100 memory.
promptNumber | Prompt number (0-9) |
prompt | Prompt string (up to 20 characters) |
promptLen | length of prompt |
Set Background Image You must send images to the reader?�驴?�s memory and send a Start Custom Mode command to the reader before it will respond to Image commands. Image files must be in .bmp or .png format.
file | Complete path and file name of the file you want to use. Example "file.png" will put in root directory, while "ss/file.png" will put in ss directory (which must exist) |
fileLen | Length of files |
enable | TRUE = Use Background Image, FALSE = Use Background Color |
Set Backlight
Set backlight percentage. If the percent > 100, it will be rejected. If 0 < percent < 10, backlight percent will be set to 10.
isBacklightOn | 0: backlight off 1: backlight on |
backlightVal | Backlight percent value to be sat |
int lcd_setDisplayImage | ( | IN char * | file, |
IN int | fileLen, | ||
IN int | posX, | ||
IN int | posY, | ||
IN int | posMode, | ||
IN int | touchEnable, | ||
IN int | clearScreen | ||
) |
Set Display Image You must send images to the reader's memory and send a Start Custom Mode command to the reader before it will respond to Image commands. Image files must be in .bmp or .png format.
file | Complete path and file name of the file you want to use. Example "file.png" will put in root directory, while "ss/file.png" will put in ss directory (which must exist) |
fileLen | Length of files |
posX | X coordinate in pixels, Range 0-271 |
posY | Y coordinate in pixels, Range 0-479 |
posMode | Position Mode
|
touchEnable | TRUE = Image is touch sensitive |
clearScreen | TRUE = Clear screen |
int lcd_setForeBackColor | ( | IN BYTE * | foreRGB, |
IN int | foreRGBLen, | ||
IN BYTE * | backRGB, | ||
IN int | backRGBLen | ||
) |
Set Foreground and Background Color This command sets the foreground and background colors of the LCD.
foreRGB | Foreground RGB. 000000 = black, FF0000 = red, 00FF00 = green, 0000FF = blue, FFFFFF = white |
Length | of foreRGB. Must be 3. |
backRGB | Background RGB. 000000 = black, FF0000 = red, 00FF00 = green, 0000FF = blue, FFFFFF = white |
Length | of backRGB. Must be 3. |
Show Screen
Displays and makes active a previously created screen.
screenName | Screen to display. The screen name is defined with lcd_createScreen. |
screenNameLen | Length of screenName. |
int lcd_startSlideShow | ( | IN char * | files, |
IN int | filesLen, | ||
IN int | posX, | ||
IN int | posY, | ||
IN int | posMode, | ||
IN int | touchEnable, | ||
IN int | recursion, | ||
IN int | touchTerminate, | ||
IN int | delay, | ||
IN int | loops, | ||
IN int | clearScreen | ||
) |
Start slide show You must send images to the reader's memory and send a Start Custom Mode command to the reader before it will respond to this commands. Image files must be in .bmp or .png format.
files | Complete paths and file names of the files you want to use, separated by commas. If a directory is specified, all files in the dirctory are displayed |
filesLen | Length of files |
posX | X coordinate in pixels, Range 0-271 |
posY | Y coordinate in pixels, Range 0-479 |
posMode | Position Mode
|
touchEnable | TRUE = Image is touch sensitive |
recursion | TRUE = Recursively follow directorys in list |
touchTerminate | TRUE = Terminate slideshow on touch (if touch enabled) |
delay | Number of seconds between image displays |
loops | Number of display loops. A zero indicates continuous display |
clearScreen | TRUE = Clear screen |
int lcd_storeScreenInfo | ( | ) |
Store Screen Info
Store all current screen information from RAM to flash
int lcd_updateColor | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen, | ||
IN BYTE * | color, | ||
IN int | colorLen | ||
) |
Update Color
Updates the component color, or updates the LED colors if specifying LCD component
screenName | Screen name that will be the target of update color |
screenNameLen | Length of screenName. |
objectName | Identifier of the component |
objectNameLen | Length of objectName. |
color | Non LCD Widget: Four bytes for color, example, Blue = 0xFF000000, Black = 0x00000000
|
colorLen | Length of color. |
int lcd_updateLabel | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen, | ||
IN char * | label, | ||
IN int | labelLen | ||
) |
Update Label
Updates the component label.
screenName | Screen name that will be the target of update label |
screenNameLen | Length of screenName. |
objectName | Identifier of the component |
objectNameLen | Length of objectName. |
label | Label to show on the component |
labelLen | Length of label. |
int lcd_updatePosition | ( | IN char * | screenName, |
IN int | screenNameLen, | ||
IN char * | objectName, | ||
IN int | objectNameLen, | ||
IN BYTE | alignment, | ||
IN int | new_xCord, | ||
IN int | new_yCord | ||
) |
Update Position
Updates the component position.
screenName | Screen Name that will be the target of update position |
screenNameLen | Length of screenName. |
objectName | Identifier of the component |
objectNameLen | Length of objectName. |
alignment | Alignment for the target
|
new_xCord | x-coordinate for Text, range 0-271 |
new_yCord | y-coordinate for Text, range 0-479 |
int loyalty_cancelTransaction | ( | ) |
Cancel Loyalty Transaction Only for VP6800
Cancels the currently executing transaction.
int loyalty_cancelTransactionSilent | ( | int | enable | ) |
Cancel Loyalty Transaction Silent Only for VP6800
Cancel transaction with or without showing the LCD message
enable | 0: With LCD message 1: Without LCD message |
void loyalty_registerCallBk | ( | pEMV_callBack | pEMVf | ) |
To register the loyalty callback function to get the EMV processing response. (Pass NULL to disable the callback.) Only for VP6800
int loyalty_startTransaction | ( | IN double | amount, |
IN double | amtOther, | ||
IN int | type, | ||
IN const int | _timeout, | ||
IN BYTE * | tags, | ||
IN int | tagsLen, | ||
IN const int | cardType, | ||
IN const int | iccReadType | ||
) |
Start Loyalty Transaction Request Only for VP6800
Authorizes the transaction for an MSR/ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02)
|
amtOther | Other amount value, if any (tag value 9F03)
|
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as TLV. Example, tag 9F02 with amount 0x000000000100 would be 0x9F0206000000000100. If tags 9F02 (amount), 9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. |
tagsLen | The length of tags data buffer. |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
cardType | Set available card to accept. 0 = MSR only. 1 = MSR and ICC. |
iccReadType | In case of ICC reading, this is how to behave. 0 = Same as device_startTransaction 1 = When reading ICC, read DF4F(JIS2EquivalentData) in ReadRecord. If the user swipes an IC card, the reader will ask for using ICC 3 = When reading ICC, read DF4F(JIS2EquivalentData) in ReadRecord. If the user swipes an IC card, the reader will not ask for using ICC and output MSR data directly |
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of device_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DF01. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
int msr_cancelMSRSwipe | ( | ) |
Disable MSR Swipe Cancels MSR swipe request.
int msr_captureMode | ( | int | isBufferMode, |
int | withNotification | ||
) |
Set MSR Capture Mode.
For Non-SRED Augusta Only
Switch between Auto mode and Buffer mode. Auto mode only available on KB interface
isBufferMode |
|
withNotification |
|
int msr_clearMSRData | ( | ) |
Clear MSR Data Clears the MSR Data buffer
int msr_disable | ( | ) |
Disable MSR Disable MSR functions.
int msr_flushTrackData | ( | ) |
Flush Track Data Clears any track data being retained in memory by future PIN Block request.
int msr_getClearPANID | ( | BYTE * | value | ) |
Get Clear PAN ID.
Returns the number of digits that begin the PAN that will be in the clear
value | 4901 <Setting value>="">. setting Value: Number of digits in clear. Values are char '0' - '6' |
int msr_getExpirationMask | ( | BYTE * | value | ) |
Get MSR expiration date mask.
value | 5001 <Setting value>="">. setting Value: '0' = masked, '1' = not-masked |
int msr_getFunctionStatus | ( | int * | enable, |
int * | isBufferMode, | ||
int * | withNotification | ||
) |
Get MSR Function Status.
Gets the MSR function status
enable | 1 = MSR enabled, 0 = MSR disabled |
isBufferMode | 1 = buffer mode, 0 = auto mode |
withNotification | 1 = with notification, 0 = without notification |
int msr_getKeyFormatForICCDUKPT | ( | OUT BYTE * | format | ) |
Get Key Format For DUKPT
Specifies how data will be encrypted with Data Key or PIN key (if DUKPT key loaded). This applies to both MSR and ICC
format | Response returned from method:
|
int msr_getKeyTypeForICCDUKPT | ( | OUT BYTE * | type | ) |
Get Key Type for DUKPT
Specifies the key type used for ICC DUKPT encryption. This applies to both MSR and ICC.
type | Response returned from method:
|
Get MSR Data Reads the MSR Data buffer
reData | Card data |
reLen | Card data length |
int msr_getSwipeForcedEncryptionOption | ( | BYTE * | option | ) |
Get MSR Swipe Forced Encryption Option.
option | 8401 <Setting value>="">. Setting Value Byte using lower four bits as flags. 0 = Force Encryption Off, 1 = Force Encryption On bit0 = Track 1 bit1 = Track 2 bit2 = Track 3 bit4 = Track 3 Card Option 0 |
int msr_getSwipeMaskOption | ( | BYTE * | option | ) |
Get MSR Swipe Mask Option.
Gets the swipe mask/clear data sending option
option | 8601 <Setting value>="">. Setting Value Byte using lower three bits as flags. 0 = Mask Option Off, 1 = Mask Option On bit0 = Track 1 bit1 = Track 2 bit2 = Track 3 Example: Response 0x03 = Track1/Track2 Masked Option ON, Track3 Masked Option Off |
void msr_registerCallBk | ( | pMSR_callBack | pMSRf | ) |
To register the msr callback function to get the MSR card data. (Pass NULL to disable the callback.)
void msr_registerCallBkp | ( | pMSR_callBackp | pMSRf | ) |
To register the msr callback function to get the MSR card data pointer. (Pass NULL to disable the callback.)
int msr_setClearPANID | ( | BYTE | val | ) |
Set Clear PAN ID.
val | Set Clear PAN ID to value: Number of digits to show in clear. Range 0-6. |
int msr_setExpirationMask | ( | int | mask | ) |
Set Expiration Masking
Sets the flag to mask the expiration date
mask | TRUE = mask expiration |
int msr_setKeyFormatForICCDUKPT | ( | IN BYTE | format | ) |
Set Key Format for DUKPT
Sets how data will be encrypted, with either TDES or AES (if DUKPT key loaded) This applies to both MSR and ICC
format | encryption Encryption Type
|
int msr_setKeyTypeForICCDUKPT | ( | IN BYTE | type | ) |
Set Key Type for DUKPT Key
Sets which key the data will be encrypted with, with either Data Key or PIN key (if DUKPT key loaded) This applies to both MSR and ICC
type | Encryption Type
|
int msr_setSwipeForcedEncryptionOption | ( | int | track1, |
int | track2, | ||
int | track3, | ||
int | track3card0 | ||
) |
Set MSR Swipe Forced Encryption Option.
tarck1 | Set track1 encryption to true or false. |
tarck2 | Set track2 encryption to true or false. |
tarck3 | Set track3 encryption to true or false. |
tarck3card0 | Set track3 card0 encryption to true or false. |
int msr_setSwipeMaskOption | ( | int | track1, |
int | track2, | ||
int | track3 | ||
) |
Set MSR Swipe Mask Option.
Sets the swipe mask/clear data sending option
tarck1 | Set track1 mask to true or false. |
tarck2 | Set track2 mask to true or false. |
tarck3 | Set track3 mask to true or false. |
int msr_startMSRSwipe | ( | IN int | _timeout | ) |
Start MSR Swipe Enables MSR, waiting for swipe to occur. Allows track selection. Returns IDTMSRData instance to MSR_callBack()
timeout | Swipe Timeout Value |
Parser the MSR data from the buffer into IDTMSTData structure
resData | MSR card data buffer |
resLen | the length of resData |
cardData | the parser result with IDTMSTData structure |
Parse the PIN block data from the buffer into IDTPINData structure
resData | PIN card data buffer |
resLen | the length of resData |
cardData | the parser result with IDTPINData structure |
Parse the PIN data from the buffer into IDTPINData structure
resData | PIN card data buffer |
resLen | the length of resData |
cardData | the parser result with IDTPINData structure |
int pin_cancelPINEntry | ( | ) |
Cancel PIN Entry
Cancels PIN entry request
int pin_capturePin | ( | IN int | timeout, |
IN int | type, | ||
IN char * | PAN, | ||
IN int | PANLen, | ||
IN int | minPIN, | ||
IN int | maxPIN, | ||
IN char * | message, | ||
IN int | messageLen | ||
) |
Capture PIN
timeout | Timeout, in seconds. Value of 0 will use system timeout, if any |
type | PAN and Key Type
|
PAN | Personal Account Number (if internal, value is 0) |
PANLen | Length of PAN |
minPIN | Minimum PIN Length |
maxPIN | Maximum PIN Length |
message | LCD Message |
messageLen | Length of message |
int pin_capturePinExt | ( | IN int | type, |
IN char * | PAN, | ||
IN int | PANLen, | ||
IN int | minPIN, | ||
IN int | maxPIN, | ||
IN char * | message, | ||
IN int | messageLen, | ||
IN char * | verify, | ||
IN int | verifyLen | ||
) |
type | PAN and Key Type
|
PAN | Personal Account Number (if internal, value is 0) |
PANLen | Length of PAN |
minPIN | Minimum PIN Length |
maxPIN | Maximum PIN Length |
message | LCD Message Up to 2 lines of text, each line 1-16, separated by 0x00 |
messageLen | Length of 1st scenario LCD message, valid in 00h~21h (0~33).If no LCD message input, length is 00h, and display default msg “PLEASE ENTER PIN” |
verify | LCD Message Up to 2 lines of text, each line 1-16, separated by 0x00 |
verifyLen | Length of 2nd Scenario LCD message.valid in 00h~21h (0~33).This field is present only when PAN and Key Type has Verify PIN.If no LCD message input, length is 00h, and display default msg “ ENTER PIN AGAIN” |
Get Encrypted DUKPT PIN
Requests PIN Entry for online authorization. PIN block and KSN returned in callback function DeviceState.TransactionData with cardData.pin_pinblock. A swipe must be captured first before this function can execute
keyType | PIN block key type. Valid values 0, 3 for TDES, 4 for AES |
timeout | PIN entry timout |
int pin_getEncryptedPIN | ( | int | keyType, |
char * | PAN, | ||
int | PANLen, | ||
char * | message, | ||
int | messageLen, | ||
int | timeout | ||
) |
Get Encrypted PIN
Requests PIN Entry
keyType |
|
PAN | Account Number |
PANLen | length of PAN |
message | Message to display |
messageLen | length of message |
timeout | PIN entry timeout |
int pin_getFunctionKey | ( | int | timeout | ) |
Get Function Key
Captures a function key
- Backspace = B - Cancel = C - Enter = E - * = * - # = # - Help = ? - Function Key 1 = F1 - Function Key 2 = F2 - Function Key 3 = F3 @param timeout Timeout, in seconds
Get PAN
Requests PAN Entry on pinpad
getCSC | Include Customer Service Code (also known as CVV, CVC) |
timeout | PAN entry timout |
int pin_getPanEntry | ( | IN int | csc, |
IN int | expDate, | ||
IN int | ADR, | ||
IN int | ZIP, | ||
IN int | mod10CK, | ||
IN int | timeout, | ||
IN int | encPANOnly | ||
) |
Get Pan
prompt the user to manually enter a card PAN and Expiry Date (and optionally CSC) from the keypad and return it to the POS.
csc | Request CSS |
expDate | Request Expiration Date |
ADR | Request Address |
ZIP | Request Zip |
mod10CK | Validate entered PAN passes MOD-10 checking before accepting |
timeout | Number of seconds that the reader waits for the data entry session to complete, stored as a big-endian number. 0 = no timeout |
encPANOnly | Output only encrypted PAN |
int pin_getPIN | ( | IN int | mode, |
IN int | PANSource, | ||
IN char * | iccPAN, | ||
IN int | iccPANLen, | ||
IN int | startTimeout, | ||
IN int | entryTimeout, | ||
IN char * | language, | ||
IN int | languageLen | ||
) |
Get Encrypted PIN
Requests PIN Entry
mode |
|
PANSource |
|
iccPAN | PAN captured from ICC. When PAN captured from MSR, this parameter will be ignored |
iccPANLen | the length of iccPAN |
startTimeout | The amount of time allowed to start PIN entry before timeout |
entryTimeout | The amount of time to enter the PIN after first digit selected before timeout |
language | Valid values "EN" for English, "ES" for Spanish, "ZH" for Chinese, "FR" for French |
languageLen | the length of language |
int pin_inputFromPrompt | ( | BYTE | mask, |
BYTE | preClearText, | ||
BYTE | postClearText, | ||
int | minLen, | ||
int | maxLen, | ||
char * | lang, | ||
BYTE | promptID, | ||
char * | defaultResponse, | ||
int | defaultResponseLen, | ||
int | timeout | ||
) |
Get PIN Input from Prompt Results returned to PIN Callback. If successful function key capture, data is returned as IDTPINData.keyString.
@param mask 0 = no masking, 1 = Display "*" for numeric key according to Pre-Cleartext and Post-Cleartext display @param preClearText Range 0-6 Characters to mask at start of text if masking is on; @param postClearText Range 0-6 Characters to mask at end of text if masking is on; @param minLen Minimum number of digits required to input @param maxLen Maximum number of digits allowed to be input @param lang Valid values; "EN" is English display message "JP" is Japanese display message "ES" is Spanish display message "FR" is French display message "ZH" is Chinese display message "PT" is Portuguese display message @param promptID Valid values: 0x00: Enter Phone Number 0x01: Enter IP Address 0x02: Enter Subnet Mask 0x03: Enter Default Gateway 0x04: Enter Odometer Reading/Mileage 0x05: Enter Employee ID 0x06: Enter Password for Default Factory Setting 0x07: Enter Email Address (Full keyboard) @param defaultResponse Default String on input field @param defaultResponseLen Length of defaultResponse @param timeout Timeout, in seconds
int pin_promptCreditDebit | ( | IN char * | currencySymbol, |
IN int | currencySymbolLen, | ||
IN char * | displayAmount, | ||
IN int | displayAmountLen, | ||
IN int | timeout, | ||
OUT BYTE * | retData, | ||
IN_OUT int * | retDataLen | ||
) |
Prompt for Credit or Debit
Requests prompt for Credit or Debit. Response returned in callback function as DeviceState.MenuItem with data MENU_SELECTION_CREDIT = 0, MENU_SELECTION_DEBIT = 1
currencySymbol | Allowed values are $ (0x24), ?�驴??(0xA5), ?�驴??(0xA3), ?�驴??(0xA4), or NULL |
currencySymbolLen | length of currencySymbol |
displayAmount | Amount to display (can be NULL) |
displayAmountLen | length of displayAmount |
timeout | Menu entry timout. Valid values 2-20 seconds |
retData | If successful, the return code is zero and the data is 1 byte (0: Credit 1: Debit). If the return code is not zero, it may be a four-byte Extended Status Code |
currencySymbolLen | length of currencySymbol |
int pin_promptForAmount | ( | IN int | timeout, |
IN int | minLen, | ||
IN int | maxLen, | ||
IN char * | message, | ||
IN int | messageLen, | ||
BYTE * | signature, | ||
IN int | signatureLen | ||
) |
Capture Amount
timeout | Timeout, in seconds. Value of 0 will use system timeout, if any |
minLen | Minimum input Length |
maxLen | Maximum input Length |
message | LCD Message |
messageLen | Length of message |
signature | Display message signed by Numeric Private Key using RSAPSS algorithm:
|
signatureLen | Length of signature |
int pin_promptForAmountInput | ( | int | messageID, |
int | languageID, | ||
int | minLen, | ||
int | maxLen, | ||
int | timeout | ||
) |
Prompt for Amount Input
Prompts for amount input using the secure message according to the following table
Msg Id | English Prompt | Portuguese Prompt | Spanish Prompt | French Prompt |
---|---|---|---|---|
1 | ENTER | ENTER | INGRESE | ENTREZ |
2 | REENTER | RE-INTRODUZIR | REINGRESE | RE-ENTREZ |
3 | ENTER YOUR | INTRODUZIR O SEU | INGRESE SU | ENTREZ VOTRE |
4 | REENTER YOUR | RE-INTRODUZIR O SEU | REINGRESE SU | RE-ENTREZ VOTRE |
5 | PLEASE ENTER | POR FAVOR DIGITE | POR FAVOR INGRESE | SVP ENTREZ |
6 | PLEASE REENTER | POR FAVO REENTRAR | POR FAVO REINGRESE | SVP RE-ENTREZ |
7 | PO NUMBER | N?�MERO PO | NUMERO PO | No COMMANDE |
8 | DRIVER ID | LICEN?�A | LICENCIA | ID CONDUCTEUR |
9 | ODOMETER | ODOMETER | ODOMETRO | ODOMETRE |
10 | ID NUMBER | N?�MERO ID | NUMERO ID | No IDENT |
11 | EQUIP CODE | EQUIP CODE | CODIGO EQUIP | CODE EQUIPEMENT |
12 | DRIVERS ID | DRIVER ID | ID CONDUCTOR | ID CONDUCTEUR |
13 | JOB NUMBER | EMP N?�MERO | NUMERO EMP | No TRAVAIL |
14 | WORK ORDER | TRABALHO ORDEM | ORDEN TRABAJO | FICHE TRAVAIL |
15 | VEHICLE ID | ID VE?�CULO | ID VEHICULO | ID VEHICULE |
16 | ENTER DRIVER | ENTER DRIVER | INGRESE CONDUCTOR | ENTR CONDUCTEUR |
17 | ENTER DEPT | ENTER DEPT | INGRESE DEPT | ENTR DEPARTEMNT |
18 | ENTER PHONE | ADICIONAR PHONE | INGRESE TELEFONO | ENTR No TELEPH |
19 | ENTER ROUTE | ROUTE ADD | INGRESE RUTA | ENTREZ ROUTE |
20 | ENTER FLEET | ENTER FROTA | INGRESE FLOTA | ENTREZ PARC AUTO |
21 | ENTER JOB ID | ENTER JOB ID | INGRESE ID TRABAJO | ENTR ID TRAVAIL |
22 | ROUTE NUMBER | N?�MERO PATH | RUTA NUMERO | No ROUTE |
23 | ENTER USER ID | ENTER USER ID | INGRESE ID USUARIO | ID UTILISATEUR |
24 | FLEET NUMBER | N?�MERO DE FROTA | FLOTA NUMERO | No PARC AUTO |
25 | ENTER PRODUCT | ADICIONAR PRODUTO | INGRESE PRODUCTO | ENTREZ PRODUIT |
26 | DRIVER NUMBER | N?�MERO DRIVER | CONDUCTOR NUMERO | No CONDUCTEUR |
27 | ENTER LICENSE | ENTER LICEN?�A | INGRESE LICENCIA | ENTREZ PERMIS |
28 | ENTER FLEET NO | ENTER NRO FROTA | INGRESE NRO FLOTA | ENT No PARC AUTO |
29 | ENTER CAR WASH | WASH ENTER | INGRESE LAVADO | ENTREZ LAVE-AUTO |
30 | ENTER VEHICLE | ENTER VE?�CULO | INGRESE VEHICULO | ENTREZ VEHICULE |
31 | ENTER TRAILER | TRAILER ENTER | INGRESE TRAILER | ENTREZ REMORQUE |
32 | ENTER ODOMETER | ENTER ODOMETER | INGRESE ODOMETRO | ENTREZ ODOMETRE |
33 | DRIVER LICENSE | CARTEIRA DE MOTORISTA | LICENCIA CONDUCTOR | PERMIS CONDUIRE |
34 | ENTER CUSTOMER | ENTER CLIENTE | INGRESE CLIENTE | ENTREZ CLIENT |
35 | VEHICLE NUMBER | N?�MERO DO VE?�CULO | VEHICULO NUMERO | No VEHICULE |
36 | ENTER CUST DATA | ENTER CLIENTE INFO | INGRESE INFO CLIENTE | INFO CLIENT |
37 | REENTER DRIVID | REENTRAR DRIVER ID | REINGRESE ID CHOFER | RE-ENTR ID COND |
38 | ENTER USER DATA | ENTER INFO USU?�RIO | INGRESE INFO USUARIO | INFO UTILISATEUR |
39 | ENTER CUST CODE | ENTER CODE. CLIENTE | INGRESE COD. CLIENTE | ENTR CODE CLIENT |
40 | ENTER EMPLOYEE | ENTER FUNCION?�RIO | INGRESE EMPLEADO | ENTREZ EMPLOYE |
41 | ENTER ID NUMBER | ENTER N?�MERO ID | INGRESE NUMERO ID | ENTREZ No ID |
42 | ENTER DRIVER ID | ENTER ID DRIVER | INGRESE ID CONDUCTOR | No CONDUCTEUR |
43 | ENTER FLEET PIN | ENTER PIN FROTA | INGRESE PIN DE FLOTA | NIP PARC AUTO |
44 | ODOMETER NUMBER | N?�MERO ODOMETER | ODOMETRO NUMERO | No ODOMETRE |
45 | ENTER DRIVER LIC | ENTER DRIVER LIC | INGRESE LIC CONDUCTOR | PERMIS CONDUIRE |
46 | ENTER TRAILER NO | NRO TRAILER ENTER | INGRESE NRO TRAILER | ENT No REMORQUE |
47 | REENTER VEHICLE | REENTRAR VE?�CULO | REINGRESE VEHICULO | RE-ENTR VEHICULE |
48 | ENTER VEHICLE ID | ENTER VE?�CULO ID | INGRESE ID VEHICULO | ENTR ID VEHICULE |
49 | ENTER BIRTH DATE | INSERIR DATA NAC | INGRESE FECHA NAC | ENT DT NAISSANCE |
50 | ENTER DOB MMDDYY | ENTER FDN MMDDYY | INGRESE FDN MMDDAA | NAISSANCE MMJJAA |
51 | ENTER FLEET DATA | ENTER FROTA INFO | INGRESE INFO DE FLOTA | INFO PARC AUTO |
52 | ENTER REFERENCE | ENTER REFER?�NCIA | INGRESE REFERENCIA | ENTREZ REFERENCE |
53 | ENTER AUTH NUMBR | ENTER N?�MERO AUT | INGRESE NUMERO AUT | No AUTORISATION |
54 | ENTER HUB NUMBER | ENTER HUB NRO | INGRESE NRO HUB | ENTREZ No NOYAU |
55 | ENTER HUBOMETER | MEDIDA PARA ENTRAR HUB | INGRESE MEDIDO DE HUB | COMPTEUR NOYAU |
56 | ENTER TRAILER ID | TRAILER ENTER ID | INGRESE ID TRAILER | ENT ID REMORQUE |
57 | ODOMETER READING | QUILOMETRAGEM | LECTURA ODOMETRO | LECTURE ODOMETRE |
58 | REENTER ODOMETER | REENTRAR ODOMETER | REINGRESE ODOMETRO | RE-ENT ODOMETRE |
59 | REENTER DRIV. ID | REENTRAR DRIVER ID | REINGRESE ID CHOFER | RE-ENT ID CONDUC |
60 | ENTER CUSTOMER ID | ENTER CLIENTE ID | INGRESE ID CLIENTE | ENTREZ ID CLIENT |
61 | ENTER CUST. ID | ENTER CLIENTE ID | INGRESE ID CLIENTE | ENTREZ ID CLIENT |
62 | ENTER ROUTE NUM | ENTER NUM ROUTE | INGRESE NUM RUTA | ENT No ROUTE |
63 | ENTER FLEET NUM | FROTA ENTER NUM | INGRESE NUM FLOTA | ENT No PARC AUTO |
64 | FLEET PIN | FROTA PIN | PIN DE FLOTA | NIP PARC AUTO |
65 | DRIVER # | DRIVER # | CONDUCTOR # | CONDUCTEUR |
66 | ENTER DRIVER # | ENTER DRIVER # | INGRESE CONDUCTOR # | ENT # CONDUCTEUR |
67 | VEHICLE # | VE?�CULO # | VEHICULO # | # VEHICULE |
68 | ENTER VEHICLE # | ENTER VE?�CULO # | INGRESE VEHICULO # | ENT # VEHICULE |
69 | JOB # | TRABALHO # | TRABAJO # | # TRAVAIL |
70 | ENTER JOB # | ENTER JOB # | INGRESE TRABAJO # | ENTREZ # TRAVAIL |
71 | DEPT NUMBER | N?�MERO DEPT | NUMERO DEPTO | No DEPARTEMENT |
72 | DEPARTMENT # | DEPARTAMENTO # | DEPARTAMENTO # | DEPARTEMENT |
73 | ENTER DEPT # | ENTER DEPT # | INGRESE DEPTO # | ENT# DEPARTEMENT |
74 | LICENSE NUMBER | N?�MERO DE LICEN?�A | NUMERO LICENCIA | No PERMIS |
75 | LICENSE # | LICEN?�A # | LICENCIA # | # PERMIS |
76 | ENTER LICENSE # | ENTER LICEN?�A # | INGRESE LICENCIA # | ENTREZ # PERMIS |
77 | DATA | INFO | INFO | INFO |
78 | ENTER DATA | ENTER INFO | INGRESE INFO | ENTREZ INFO |
79 | CUSTOMER DATA | CLIENTE INFO | INFO CLIENTE | INFO CLIENT |
80 | ID # | ID # | ID # | # ID |
81 | ENTER ID # | ENTER ID # | INGRESE ID # | ENTREZ # ID |
82 | USER ID | USER ID | ID USUARIO | ID UTILISATEUR |
83 | ROUTE # | ROUTE # | RUTA # | # ROUTE |
84 | ENTER ROUTE # | ADD ROUTE # | INGRESE RUTA # | ENTREZ # ROUTE |
85 | ENTER CARD NUM | ENTER N?�MERO DE CART?�O | INGRESE NUM TARJETA | ENTREZ NO CARTE |
86 | EXP DATE(YYMM) | VALIDADE VAL (AAMM) | FECHA EXP (AAMM) | DATE EXPIR(AAMM) |
87 | PHONE NUMBER | TELEFONE | NUMERO TELEFONO | NO TEL |
88 | CVV START DATE | CVV DATA DE IN?�CIO | CVV FECHA INICIO | CVV DATE DE DEBUT |
89 | ISSUE NUMBER | N?�MERO DE EMISS?�O | NUMERO DE EMISION | NO DEMISSION |
90 | START DATE (MMYY) | DATA DE IN?�CIO (AAMM) | FECHA INICIO (AAMM) | DATE DE DEBUT-AAMM |
@param messageID Message (1-90) @param languageID 0=English Prompt, 1=Portuguese Prompt, 2=Spanish Prompt, 3=French Prompt @param minLen Minimum input length. Cannot be less than 1 @param maxLen Maximum input length. Cannot be greater than 15 @param timeout Timout value, in seconds
int pin_promptForKeyInput | ( | int | messageID, |
int | languageID, | ||
int | maskInput, | ||
int | minLen, | ||
int | maxLen, | ||
int | timeout | ||
) |
Prompt for Key Input
Prompts for a numeric key using the secure message according to the following table
Msg Id | English Prompt | Portuguese Prompt | Spanish Prompt | French Prompt |
---|---|---|---|---|
1 | ENTER | ENTER | INGRESE | ENTREZ |
2 | REENTER | RE-INTRODUZIR | REINGRESE | RE-ENTREZ |
3 | ENTER YOUR | INTRODUZIR O SEU | INGRESE SU | ENTREZ VOTRE |
4 | REENTER YOUR | RE-INTRODUZIR O SEU | REINGRESE SU | RE-ENTREZ VOTRE |
5 | PLEASE ENTER | POR FAVOR DIGITE | POR FAVOR INGRESE | SVP ENTREZ |
6 | PLEASE REENTER | POR FAVO REENTRAR | POR FAVO REINGRESE | SVP RE-ENTREZ |
7 | PO NUMBER | N?�MERO PO | NUMERO PO | No COMMANDE |
8 | DRIVER ID | LICEN?�A | LICENCIA | ID CONDUCTEUR |
9 | ODOMETER | ODOMETER | ODOMETRO | ODOMETRE |
10 | ID NUMBER | N?�MERO ID | NUMERO ID | No IDENT |
11 | EQUIP CODE | EQUIP CODE | CODIGO EQUIP | CODE EQUIPEMENT |
12 | DRIVERS ID | DRIVER ID | ID CONDUCTOR | ID CONDUCTEUR |
13 | JOB NUMBER | EMP N?�MERO | NUMERO EMP | No TRAVAIL |
14 | WORK ORDER | TRABALHO ORDEM | ORDEN TRABAJO | FICHE TRAVAIL |
15 | VEHICLE ID | ID VE?�CULO | ID VEHICULO | ID VEHICULE |
16 | ENTER DRIVER | ENTER DRIVER | INGRESE CONDUCTOR | ENTR CONDUCTEUR |
17 | ENTER DEPT | ENTER DEPT | INGRESE DEPT | ENTR DEPARTEMNT |
18 | ENTER PHONE | ADICIONAR PHONE | INGRESE TELEFONO | ENTR No TELEPH |
19 | ENTER ROUTE | ROUTE ADD | INGRESE RUTA | ENTREZ ROUTE |
20 | ENTER FLEET | ENTER FROTA | INGRESE FLOTA | ENTREZ PARC AUTO |
21 | ENTER JOB ID | ENTER JOB ID | INGRESE ID TRABAJO | ENTR ID TRAVAIL |
22 | ROUTE NUMBER | N?�MERO PATH | RUTA NUMERO | No ROUTE |
23 | ENTER USER ID | ENTER USER ID | INGRESE ID USUARIO | ID UTILISATEUR |
24 | FLEET NUMBER | N?�MERO DE FROTA | FLOTA NUMERO | No PARC AUTO |
25 | ENTER PRODUCT | ADICIONAR PRODUTO | INGRESE PRODUCTO | ENTREZ PRODUIT |
26 | DRIVER NUMBER | N?�MERO DRIVER | CONDUCTOR NUMERO | No CONDUCTEUR |
27 | ENTER LICENSE | ENTER LICEN?�A | INGRESE LICENCIA | ENTREZ PERMIS |
28 | ENTER FLEET NO | ENTER NRO FROTA | INGRESE NRO FLOTA | ENT No PARC AUTO |
29 | ENTER CAR WASH | WASH ENTER | INGRESE LAVADO | ENTREZ LAVE-AUTO |
30 | ENTER VEHICLE | ENTER VE?�CULO | INGRESE VEHICULO | ENTREZ VEHICULE |
31 | ENTER TRAILER | TRAILER ENTER | INGRESE TRAILER | ENTREZ REMORQUE |
32 | ENTER ODOMETER | ENTER ODOMETER | INGRESE ODOMETRO | ENTREZ ODOMETRE |
33 | DRIVER LICENSE | CARTEIRA DE MOTORISTA | LICENCIA CONDUCTOR | PERMIS CONDUIRE |
34 | ENTER CUSTOMER | ENTER CLIENTE | INGRESE CLIENTE | ENTREZ CLIENT |
35 | VEHICLE NUMBER | N?�MERO DO VE?�CULO | VEHICULO NUMERO | No VEHICULE |
36 | ENTER CUST DATA | ENTER CLIENTE INFO | INGRESE INFO CLIENTE | INFO CLIENT |
37 | REENTER DRIVID | REENTRAR DRIVER ID | REINGRESE ID CHOFER | RE-ENTR ID COND |
38 | ENTER USER DATA | ENTER INFO USU?�RIO | INGRESE INFO USUARIO | INFO UTILISATEUR |
39 | ENTER CUST CODE | ENTER CODE. CLIENTE | INGRESE COD. CLIENTE | ENTR CODE CLIENT |
40 | ENTER EMPLOYEE | ENTER FUNCION?�RIO | INGRESE EMPLEADO | ENTREZ EMPLOYE |
41 | ENTER ID NUMBER | ENTER N?�MERO ID | INGRESE NUMERO ID | ENTREZ No ID |
42 | ENTER DRIVER ID | ENTER ID DRIVER | INGRESE ID CONDUCTOR | No CONDUCTEUR |
43 | ENTER FLEET PIN | ENTER PIN FROTA | INGRESE PIN DE FLOTA | NIP PARC AUTO |
44 | ODOMETER NUMBER | N?�MERO ODOMETER | ODOMETRO NUMERO | No ODOMETRE |
45 | ENTER DRIVER LIC | ENTER DRIVER LIC | INGRESE LIC CONDUCTOR | PERMIS CONDUIRE |
46 | ENTER TRAILER NO | NRO TRAILER ENTER | INGRESE NRO TRAILER | ENT No REMORQUE |
47 | REENTER VEHICLE | REENTRAR VE?�CULO | REINGRESE VEHICULO | RE-ENTR VEHICULE |
48 | ENTER VEHICLE ID | ENTER VE?�CULO ID | INGRESE ID VEHICULO | ENTR ID VEHICULE |
49 | ENTER BIRTH DATE | INSERIR DATA NAC | INGRESE FECHA NAC | ENT DT NAISSANCE |
50 | ENTER DOB MMDDYY | ENTER FDN MMDDYY | INGRESE FDN MMDDAA | NAISSANCE MMJJAA |
51 | ENTER FLEET DATA | ENTER FROTA INFO | INGRESE INFO DE FLOTA | INFO PARC AUTO |
52 | ENTER REFERENCE | ENTER REFER?�NCIA | INGRESE REFERENCIA | ENTREZ REFERENCE |
53 | ENTER AUTH NUMBR | ENTER N?�MERO AUT | INGRESE NUMERO AUT | No AUTORISATION |
54 | ENTER HUB NUMBER | ENTER HUB NRO | INGRESE NRO HUB | ENTREZ No NOYAU |
55 | ENTER HUBOMETER | MEDIDA PARA ENTRAR HUB | INGRESE MEDIDO DE HUB | COMPTEUR NOYAU |
56 | ENTER TRAILER ID | TRAILER ENTER ID | INGRESE ID TRAILER | ENT ID REMORQUE |
57 | ODOMETER READING | QUILOMETRAGEM | LECTURA ODOMETRO | LECTURE ODOMETRE |
58 | REENTER ODOMETER | REENTRAR ODOMETER | REINGRESE ODOMETRO | RE-ENT ODOMETRE |
59 | REENTER DRIV. ID | REENTRAR DRIVER ID | REINGRESE ID CHOFER | RE-ENT ID CONDUC |
60 | ENTER CUSTOMER ID | ENTER CLIENTE ID | INGRESE ID CLIENTE | ENTREZ ID CLIENT |
61 | ENTER CUST. ID | ENTER CLIENTE ID | INGRESE ID CLIENTE | ENTREZ ID CLIENT |
62 | ENTER ROUTE NUM | ENTER NUM ROUTE | INGRESE NUM RUTA | ENT No ROUTE |
63 | ENTER FLEET NUM | FROTA ENTER NUM | INGRESE NUM FLOTA | ENT No PARC AUTO |
64 | FLEET PIN | FROTA PIN | PIN DE FLOTA | NIP PARC AUTO |
65 | DRIVER # | DRIVER # | CONDUCTOR # | CONDUCTEUR |
66 | ENTER DRIVER # | ENTER DRIVER # | INGRESE CONDUCTOR # | ENT # CONDUCTEUR |
67 | VEHICLE # | VE?�CULO # | VEHICULO # | # VEHICULE |
68 | ENTER VEHICLE # | ENTER VE?�CULO # | INGRESE VEHICULO # | ENT # VEHICULE |
69 | JOB # | TRABALHO # | TRABAJO # | # TRAVAIL |
70 | ENTER JOB # | ENTER JOB # | INGRESE TRABAJO # | ENTREZ # TRAVAIL |
71 | DEPT NUMBER | N?�MERO DEPT | NUMERO DEPTO | No DEPARTEMENT |
72 | DEPARTMENT # | DEPARTAMENTO # | DEPARTAMENTO # | DEPARTEMENT |
73 | ENTER DEPT # | ENTER DEPT # | INGRESE DEPTO # | ENT# DEPARTEMENT |
74 | LICENSE NUMBER | N?�MERO DE LICEN?�A | NUMERO LICENCIA | No PERMIS |
75 | LICENSE # | LICEN?�A # | LICENCIA # | # PERMIS |
76 | ENTER LICENSE # | ENTER LICEN?�A # | INGRESE LICENCIA # | ENTREZ # PERMIS |
77 | DATA | INFO | INFO | INFO |
78 | ENTER DATA | ENTER INFO | INGRESE INFO | ENTREZ INFO |
79 | CUSTOMER DATA | CLIENTE INFO | INFO CLIENTE | INFO CLIENT |
80 | ID # | ID # | ID # | # ID |
81 | ENTER ID # | ENTER ID # | INGRESE ID # | ENTREZ # ID |
82 | USER ID | USER ID | ID USUARIO | ID UTILISATEUR |
83 | ROUTE # | ROUTE # | RUTA # | # ROUTE |
84 | ENTER ROUTE # | ADD ROUTE # | INGRESE RUTA # | ENTREZ # ROUTE |
85 | ENTER CARD NUM | ENTER N?�MERO DE CART?�O | INGRESE NUM TARJETA | ENTREZ NO CARTE |
86 | EXP DATE(YYMM) | VALIDADE VAL (AAMM) | FECHA EXP (AAMM) | DATE EXPIR(AAMM) |
87 | PHONE NUMBER | TELEFONE | NUMERO TELEFONO | NO TEL |
88 | CVV START DATE | CVV DATA DE IN?�CIO | CVV FECHA INICIO | CVV DATE DE DEBUT |
89 | ISSUE NUMBER | N?�MERO DE EMISS?�O | NUMERO DE EMISION | NO DEMISSION |
90 | START DATE (MMYY) | DATA DE IN?�CIO (AAMM) | FECHA INICIO (AAMM) | DATE DE DEBUT-AAMM |
@param messageID Message (1-90) @param languageID 0=English Prompt, 1=Portuguese Prompt, 2=Spanish Prompt, 3=French Prompt @param maskInput 1 = entry is masked with '*', 0 = entry is displayed on keypad @param minLen Minimum input length. Cannot be less than 1 @param maxLen Maximum input length. Cannot be greater than 16 @param timeout Timout value, in seconds
int pin_promptForNumericKey | ( | IN int | timeout, |
IN int | maskInput, | ||
IN int | minLen, | ||
IN int | maxLen, | ||
IN char * | message, | ||
IN int | messageLen, | ||
BYTE * | signature, | ||
IN int | signatureLen | ||
) |
Capture Numeric Input
timeout | Timeout, in seconds. Value of 0 will use system timeout, if any |
maskInput |
|
minLen | Minimum input Length |
maxLen | Maximum input Length |
message | Plaintext Display Message. - 16 chars max |
messageLen | Length of message |
signature | Display message signed by Numeric Private Key using RSAPSS algorithm:
|
signatureLen | Length of signature |
int pin_promptForNumericKeyWithSwipe | ( | IN int | timeout, |
IN BYTE | function, | ||
IN int | minLen, | ||
IN int | maxLen, | ||
IN char * | line1, | ||
IN int | line1Len, | ||
IN char * | line2, | ||
IN int | line2Len, | ||
BYTE * | signature, | ||
IN int | signatureLen | ||
) |
Capture Numeric Input
timeout | Timeout, in seconds. Value of 0 will use system timeout, if any |
function |
|
minLen | Minimum input Length |
maxLen | Maximum input Length |
line1 | Line 1 of LCD Message - 16 chars max |
line1Len | Length of line1 |
line2 | Line 2 of LCD Message - 16 chars max |
line2Len | Length of line2 |
signature | Display message signed by Numeric Private Key using RSAPSS algorithm:
|
signatureLen | Length of signature |
void pin_registerCallBk | ( | pPIN_callBack | pPINf | ) |
*To register the loyalty MSR callback function to get the MSR card data. (Pass NULL to disable the callback.) *To register the loyalty MSR callback function to get the MSR card data pointer. (Pass NULL to disable the callback.) To register the pin callback function to get the PINPad data. (Pass NULL to disable the callback.)
int pin_sendBeep | ( | int | frequency, |
int | duration | ||
) |
Send Beep
Executes a beep request.
frequency | Frequency, range 200-20000Hz Not used for NEO 2 devices |
duration | Duration, range 16-65535ms Not used for NEO 2 devices |
int pin_setKeyValues | ( | int | mode | ) |
Set Key Values
Set return key values on or off
mode | On: 1, Off: 0 |
void registerHotplugCallBk | ( | pMessageHotplug | pMsgHotplug | ) |
To register the USB HID hot-plug callback function which implemented in the application to monitor the hotplug message from the SDK.
void registerLogCallBk | ( | pSendDataLog | pFSend, |
pReadDataLog | pFRead | ||
) |
To register the log callback function which implemented in the application to monitor sending/reading data between application and reader.
int rs232_device_init | ( | int | deviceType, |
int | port_number, | ||
int | brate | ||
) |
Initial the device by RS232
It will try to connect to the device with provided deviceType, port_number, and brate.
deviceType | Device to connect to |
port_number | Port number of the device Port nr. | Linux | Windows |
| 0 | ttyS0 | COM1 |
| 1 | ttyS1 | COM2 |
| 2 | ttyS2 | COM3 |
| 3 | ttyS3 | COM4 |
| 4 | ttyS4 | COM5 |
| 5 | ttyS5 | COM6 |
| 6 | ttyS6 | COM7 |
| 7 | ttyS7 | COM8 |
| 8 | ttyS8 | COM9 |
| 9 | ttyS9 | COM10 |
| 10 | ttyS10 | COM11 |
| 11 | ttyS11 | COM12 |
| 12 | ttyS12 | COM13 |
| 13 | ttyS13 | COM14 |
| 14 | ttyS14 | COM15 |
| 15 | ttyS15 | COM16 |
| 16 | ttyUSB0 | n.a. |
| 17 | ttyUSB1 | n.a. |
| 18 | ttyUSB2 | n.a. |
| 19 | ttyUSB3 | n.a. |
| 20 | ttyUSB4 | n.a. |
| 21 | ttyUSB5 | n.a. |
| 22 | ttyAMA0 | n.a. |
| 23 | ttyAMA1 | n.a. |
| 24 | ttyACM0 | n.a. |
| 25 | ttyACM1 | n.a. |
| 26 | rfcomm0 | n.a. |
| 27 | rfcomm1 | n.a. |
| 28 | ircomm0 | n.a. |
| 29 | ircomm1 | n.a. |
| 30 | cuau0 | n.a. |
| 31 | cuau1 | n.a. |
| 32 | cuau2 | n.a. |
| 33 | cuau3 | n.a. |
| 34 | cuaU0 | n.a. |
| 35 | cuaU1 | n.a. |
| 36 | cuaU2 | n.a. |
| 37 | cuaU3 | n.a. |
brate | Bitrate of the device |
char* SDK_Version | ( | ) |
To Get SDK version
void set_open_com_port_timeout | ( | int | timeout | ) |
Set the timeout value for opening the com port
timeout | should be set to greater than 0 in seconds, otherwise there will be no timeout for opening the com port |
int setAbsoluteLibraryPath | ( | const char * | absoluteLibraryPath | ) |
Set the path to use when searching for ID TECH's libraries. If this is not set, the libraries will be searched for with the system's default procedures.
absoluteLibraryPath | The absolute path to ID TECH's libraries. |
Delete SSL Certificate Deletes a SSL Certificate by name
name | Name of certificate to delete |
nameLen | Certificate Name Length |
int ws_getCertChainType | ( | OUT int * | type | ) |
Get Certificate Chain Type Returns indicator for using test/production certificate chain
type | 0 = test certificate chain, 1 = production certificate chain |
Load SSL Certificate Loads a SSL certificate
name | Certificate Name |
nameLen | Certificate Name Length |
dataDER | DER encoded certificate data |
dataDERLen | DER encoded certificate data length |
int ws_requestCSR | ( | OUT RequestCSR * | csr | ) |
Request CSR Requests 3 sets of public keys: encrypting Keys, signing/validating keys, signing/validating 3rd party apps
csr | RequestCSR structure to return the data |
Revoke SSL Certificate Revokes a SSL Certificate by name
name | Name of certificate to revoke |
nameLen | Certificate Name Length |
int ws_updateRootCertificate | ( | IN char * | name, |
IN int | nameLen, | ||
IN char * | dataDER, | ||
IN int | dataDERLen, | ||
IN char * | signature, | ||
IN int | signatureLen | ||
) |
Update Root Certificate Updates the root certificate
name | Certificate Name |
nameLen | Certificate Name Length |
dataDER | DER encoded certificate data |
dataDERLen | DER encoded certificate data length |
signature | Future Root CA signed (RSASSA PSS SHA256) by current Root CA |
signature | length |