///////////////////////////////////////////////////////////////////////////////// /// /// /// Error code definitions for the Device adapter API functions /// /// /// /// Copyright (c) 2017 China Merchants Bank, all rights reserved. /// /// /// ///////////////////////////////////////////////////////////////////////////////// #ifndef __DEVICE_ERROR_CODE_H__ #define __DEVICE_ERROR_CODE_H__ #pragma once // @Version 2 // @date:2020-4-30 // @Designed:Gifur // @Cause: upper module 's capacity for indicating vendor is thirsty. // // Values are 16 bit values laid out as follows: // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // // V - used for upper module to represent Vendor // R - are one reserved bits, current time is zero. // DeviceID - used for identifiying device category, 0x00 is reserved // Code - is the device status code // #define CAPACITY_FOR_MEC_DEVAPI 127 /*once defined, should not changed !!!!*/ #ifndef HAVE_DECRESULT #define HAVE_DECRESULT typedef short DECRESULT; /*splist device code from dwErrMsgLen macro*/ #define MAKE_DEC_RESULT(ml) \ ( (DECRESULT)(((DWORD)(ml) >> 16) & 0x0000FFFF) ) /*judge whether if it's device error code which vendor has responsibility. */ #define IS_VENDOR_DUTY(ec) ( !!( (WORD)((((DWORD)ec) & 0x3FFF) >> 9) & 0x1F) ) #endif //HAVE_DECRESULT // // DeviceID[0~31] * (1 << 9) + Code[0~511] // // Note: // -- DeviceID = 0 reserved for module // // Define the Device error codes. // /////////////////////////////////////////////////// // // Start of Common device error codes // /////////////////////////////////////////////////// #define DEC_SUCCESS 0 // // 错误端口。 // #define DEC_INVALID_PORT 1 // // 错误波特率。 // #define DEC_INVALID_BAUDRATE 2 // // 错误参数。 // #define DEC_INVALID_PARAMETER 3 // // 创建设备适配器对象失败。 // #define DEC_DEV_OBJECT_CREATE_FAILED 4 // // 无效数据。 // #define DEC_INVALID_DATA 5 // // 无效标识。 // #define DEC_INVALID_ID 6 // // 无效长度。 // #define DEC_INVALID_LENGTH 7 // // 无效格式。 // #define DEC_INVALID_FORMAT 8 // // 无效模式。 // #define DEC_INVALID_MODE 9 // // 指针为空。 // #define DEC_NULL_POINTER 10 // // 分配内存失败。 // #define DEC_ALLOC_DENY 11 // // 尝试申请的缓存区超出最大的长度。 // #define DEC_BUFFER_LIMIT_EXCEEDED 12 // // 数据超过最大长度。 // #define DEC_LENGTH_LIMIT_EXCEEDED 13 // // 设备响应超时。 // #define DEC_TIMEOUT 14 // // 设备硬件错误。 // #define DEC_HARDWARE 15 // // 设备不存在。 // #define DEC_DEV_NOT_FOUND 16 // // 指定的设备未打开。 // #define DEC_DEV_NOT_OPENED 17 // // 连接设备失败。 // #define DEC_DEV_CONNECT_FAILED 18 // // 设备断开连接。 // #define DEC_DEV_DISCONNECTED 19 // // 指定的依赖库未找到或不存在。 // #define DEC_DLL_NOT_FOUND 20 // // 指定的文件未找到或不存在。 // #define DEC_FILE_NOT_FOUND 21 // // 文件已存在 或 重复执行的操作。 // #define DEC_ALREADY_EXIST 22 // // 函数接口不匹配。 // #define DEC_FUNCTION_MISMATCH 23 // // 指令不支持。 // #define DEC_COMMAND_UNSUPPORTED 24 // // 无效指令分隔符。 // #define DEC_INVALID_COMMAND_DELIMITER 25 // // 约定的算法不支持。 // #define DEC_ALGORITHM_UNSUPPORTED 26 // // 不支持的协议或无效的协议。 // #define DEC_PROTOCOL_UNSUPPORTED 27 // // 通讯失败。 // #define DEC_COMMUNICATION_FAILED 28 // // 重置设备失败。 // #define DEC_RESET_FAILED 29 // // 网络错误。 // #define DEC_NETBROKEN 30 // // 取消操作。 // #define DEC_CANCEL 31 // // 未知状况。 // #define DEC_UNEXPECTED 32 // // 出现异常。 // #define DEC_EXCEPTION 33 // // 出乎意料的返回结果。 // #define DEC_UNEXPECTED_RET_VALUE 34 // // 未定义错误码类型。 // #define DEC_ERROR_CODE_UNRECOGNIZABLE 35 // // Key didn't loaded, please prefer to use DEC_KEY_NOT_EXIST defined below. // #define DEC_KEY_NOT_LOADED 50 // // Key value had loaded. // #define DEC_KEY_LOADED_ALREADY 51 // // Key was locked. // #define DEC_KEY_LOCKED 52 // // // #define DEC_KEY_NOT_RELEASED 53 // // // #define DEC_KEY_NOT_ACTIVED 54 // // // #define DEC_KEY_UNSUPPORTED 55 // //Key use violation. // #define DEC_KEY_VIOLATION 56 // // // #define DEC_KEY_NOT_EXIST 57 // // Invalid key ID. // #define DEC_INVALID_KEY_ID 58 // // // #define DEC_INVALID_KEY_VALUE 59 // // // #define DEC_INVALID_KEY_LEN 60 // // // #define DEC_INVALID_KEY_ATTR 61 // //Account length error. // #define DEC_INVALID_ACCOUNT_LEN 62 // // // #define DEC_INVALID_PASSWORD 63 // //Password length error. // #define DEC_INVALID_PASSWORD_LEN 64 // //Encryptor not initialized or not ready // #define DEC_ENCRYPTOR_NOT_READY 65 // // // #define DEC_ENCRYPT_SUSPENDED 66 // // Ramdom data error. // #define DEC_E_RAMDON_DATA 67 // //Invalid signature length & type. // #define DEC_INVALID_SIGNATURE 68 // // // #define DEC_E_SIGNATURE_VERIFICATION 69 // // 获取设备系统信息失败。 // #define MEC_FUNC_GET_SYSTEM_STATIC_FAILED 70 // // 设置系统变量失败。 // #define MEC_FUNC_SET_SYSTEM_VALUE_FAILED 71 // // 获取实体配置信息失败。 // #define MEC_FUNC_GET_ENTITY_STATIC_FAILED 72 // // 获取实体运行信息失败。 // #define MEC_FUNC_GET_ENTITY_RUN_FAILED 73 // // 获取 ROOT配置 文件指针失败。 // #define MEC_CFG_ROOT_POINTER_FAILED 74 // // 获取 CFG配置 文件指针失败。 // #define MEC_CFG_SOFTWARE_POINTER_FAILED 75 // // 获取 RUN配置 文件指针失败。 // #define MEC_CFG_RUN_POINTER_FAILED 76 // // 获取 CenterSetting配置 文件指针失败。 // #define MEC_CFG_CENTER_POINTER_FAILED 77 // // 获取 ROOT配置 节点信息失败。 // #define MEC_CFG_READ_ROOT_INFOR_FAILED 78 // // 获取 CFG配置 节点信息失败。 // #define MEC_CFG_READ_SOFTWARE_INFOR_FAILED 79 // // 获取 RUN配置 节点信息失败。 // #define MEC_CFG_READ_RUN_INFOR_FAILED 80 // // 获取 CenterSetting配置 节点信息失败。 // #define MEC_CFG_READ_CENTER_INFOR_FAILED 81 // // 将信息写入运行时失败。 // #define MEC_CFG_WRITE_RUN_INFOR_FAILED 82 // // SPBASE库相关接口调用失败。 // #define MEC_FUNC_SPBASE_INVOKED_FAILED 83 // // 获取适配器 DLL 加载路径失败。 // #define MEC_DLL_GET_PATH_FAILED 84 // // 加载厂商适配器 DLL 失败。 // #define MEC_DLL_LOAD_FAILED 85 // // 从句柄中获取 "CreateDevComponent" 函数地址失败。 // #define MEC_DEV_GET_CDC_ADDR_FAILED 86 // // 从句柄中获取 "ReleaseDevComponent" 函数地址失败。 // #define MEC_DEV_GET_RDC_ADDR_FAILED 87 // // 通过 "CreateDevComponent" 获取(构造)适配器对象失败。 // #define MEC_DEV_OBJECT_CREATE_FAILED 88 // // 通过 "ReleaseDevComponent" 释放(析构)适配器对象失败。 // #define MEC_DEV_OBJECT_RELEASE_FAILED 89 // // 创建事件失败。 // #define MEC_CREATE_EVENT_FAILED 90 // // 创建线程失败。 // #define MEC_CREATE_THREAD_FAILED 91 // // 创建进程失败。 // #define MEC_CREATE_PROCESS_FAILED 92 // // 资源被占用等原因导致冲突。 // #define MEC_RESOURCE_CONFLICT 93 // // 分配空间失败。 // #define MEC_DAT_MALLOC_FAILED 94 // // 对象创建失败。 // #define MEC_DAT_CONSTRUCT_FAILED 95 // // 实体客户端对象创建失败。 // #define MEC_CLIENT_CONSTRUCT_FAILED 96 // // 连接实体失败。 // #define MEC_CLIENT_CONNECT_FAILED 97 // // 未处理的状态机事件。 // #define MEC_FSM_EVENT_UNHANDLED 98 // // 创建定时器失败。 // #define MEC_FSM_SCHEDULE_TIMER_FAILED 99 // // 取消定时器失败。 // #define MEC_FSM_CANCEL_TIMER_FAILED 100 // // // #define MEC_DEV_API_INVOKED_START 101 // // 获取设备类型信息(GetDevCategory)失败。 // #define MEC_DEVAPI_GetDevCategory_FAILED 102 // // 重置设备操作执行(Reset)失败。 // #define MEC_DEVAPI_Reset_FAILED 103 // // 设备关闭(DevClose)失败。 // #define MEC_DEVAPI_DevClose_FAILED 104 /////////////////////////////////////////////////// // // End of Common error codes // /////////////////////////////////////////////////// // // Specific device error code. // The max amount of error code for each device is 512(2^9). // /////////////////////////////////////////////////// // // Start of PinPad error codes(0x200) // // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 // // // // #define DEC_NO_E_PINPAD_START 0x200 /*define signature of member function of PINPAD device adapter class */ #define MEC_DEVAPI_EPP_(funcName) ( MEC_DEVAPI_EPP_##funcName ) #define MEC_DEVAPI_EPP_DevOpen ( DEC_NO_E_PINPAD_START + 1 ) #define MEC_DEVAPI_EPP_SetParam ( DEC_NO_E_PINPAD_START + 2 ) #define MEC_DEVAPI_EPP_SetAccNo ( DEC_NO_E_PINPAD_START + 3 ) #define MEC_DEVAPI_EPP_LoadMasterKey ( DEC_NO_E_PINPAD_START + 4 ) #define MEC_DEVAPI_EPP_LoadWorkingKey ( DEC_NO_E_PINPAD_START + 5 ) #define MEC_DEVAPI_EPP_ActiveWorkingKey ( DEC_NO_E_PINPAD_START + 6 ) #define MEC_DEVAPI_EPP_StartPinInput ( DEC_NO_E_PINPAD_START + 7 ) #define MEC_DEVAPI_EPP_StartPlainInput ( DEC_NO_E_PINPAD_START + 8 ) #define MEC_DEVAPI_EPP_StopInput ( DEC_NO_E_PINPAD_START + 9 ) #define MEC_DEVAPI_EPP_GetPinBlock ( DEC_NO_E_PINPAD_START + 10 ) #define MEC_DEVAPI_EPP_EncryptData ( DEC_NO_E_PINPAD_START + 11 ) #define MEC_DEVAPI_EPP_MacEncrypt ( DEC_NO_E_PINPAD_START + 12 ) #define MEC_DEVAPI_EPP_KeyRead ( DEC_NO_E_PINPAD_START + 13 ) #define MEC_DEVAPI_EPP_GetDevCategory ( DEC_NO_E_PINPAD_START + 14 ) #define MEC_DEVAPI_EPP_Reset ( DEC_NO_E_PINPAD_START + 15 ) #define MEC_DEVAPI_EPP_DevClose ( DEC_NO_E_PINPAD_START + 16 ) /*0x240*/ #define DEC_NO_E_PINPAD (DEC_NO_E_PINPAD_START + CAPACITY_FOR_MEC_DEVAPI) // // define other error code here for specified device, like: // // //EPP didn't install, please to nip the two black point. // #define DEC_EPP_NOT_INSTALLED (DEC_NO_E_PINPAD + 1) // // // #define DEC_EPP_NOT_PHYSICALLY_INSTALLED (DEC_NO_E_PINPAD + 2) // // // #define DEC_EPP_NOT_LOGICALLY_INSTALLED (DEC_NO_E_PINPAD + 3) // // EPP didn't initialized // #define DEC_EPP_NOT_INITIALIZED (DEC_NO_E_PINPAD + 4) // //EPP already initialized. // #define DEC_EPP_INIT_ALREADY (DEC_NO_E_PINPAD + 5) // // EPP didn't authorized // #define DEC_EPP_NOT_AUTHORIZED (DEC_NO_E_PINPAD + 6) // // EPP selftest error. // #define DEC_E_EPP_SELFTEST (DEC_NO_E_PINPAD + 7) // //EPP battery power is low or error. // #define DEC_EPP_BATTERY_LOWORERROR (DEC_NO_E_PINPAD + 8) // // // #define DEC_EPP_CERTIFICATE_ALREADY (DEC_NO_E_PINPAD + 9) #define DEC_KEY_NO_MORE_SPACE (DEC_NO_E_PINPAD + 10) // // // #define DEC_KEY_SLOT_NUM_NOT_FOUND (DEC_NO_E_PINPAD + 11) // // // #define DEC_INVALID_KEY_SLOT_NUM (DEC_NO_E_PINPAD + 12) // // // #define DEC_PARENT_KEY_NOT_LOADED (DEC_NO_E_PINPAD + 13) // // // #define DEC_KEY_OVERWRITTEN_FAILED (DEC_NO_E_PINPAD + 14) // // // #define DEC_FUNC_KEY_NOT_FOUND (DEC_NO_E_PINPAD + 15) // // // #define DEC_TERMINATE_KEY_NOT_FOUND (DEC_NO_E_PINPAD + 16) // // // #define DEC_INVALID_SM4_KEY (DEC_NO_E_PINPAD + 17) // // // #define DEC_ALLOCATE_KEYID_FAILED (DEC_NO_E_PINPAD + 18) // // // #define DEC_ALLOCATE_WK_KEYID_FAILED (DEC_NO_E_PINPAD + 19) // // // #define DEC_SM_UNSUPPORTED (DEC_NO_E_PINPAD + 20) // // IMK didn't exist. // #define DEC_IMK_NOT_EXIST (DEC_NO_E_PINPAD + 21) // // // #define DEC_TMK_NOT_EXIST (DEC_NO_E_PINPAD + 22) // // Invalid master key. // #define DEC_INVALID_MASTER_KEY (DEC_NO_E_PINPAD + 23) // // // #define DEC_E_MK_VERIFICATION (DEC_NO_E_PINPAD + 24) // // // #define DEC_E_WK_VERIFICATION (DEC_NO_E_PINPAD + 25) // // Invalid master key serial number. // #define DEC_INVALID_MASKTER_SN (DEC_NO_E_PINPAD + 26) // // Invalid working key serial number. // #define DEC_INVALID_WKKEY_SN (DEC_NO_E_PINPAD + 27) // // Invalid masterkey for current working key. // #define DEC_INVALID_MASTER_SN_OF_WKKEY (DEC_NO_E_PINPAD + 28) // //First time you must update password once. // #define DEC_PASSWORD_NEED_UPDATE (DEC_NO_E_PINPAD + 29) // //Update password command is locked. // #define DEC_PASSWORD_UPDATE_CMD_LOCKED (DEC_NO_E_PINPAD + 30) // // // #define DEC_INVALID_PIN (DEC_NO_E_PINPAD + 31) // // // #define DEC_INVALID_PIN_LEN (DEC_NO_E_PINPAD + 32) // // // #define DEC_INVALID_PAN (DEC_NO_E_PINPAD + 33) // // // #define DEC_INVALID_PAN_LEN (DEC_NO_E_PINPAD + 34) // // // #define DEC_PIN_FORMAT_UNSUPPORTED (DEC_NO_E_PINPAD + 35) // //PIN entry not allowed // #define DEC_PIN_ENTRY_NOT_ALLOWED (DEC_NO_E_PINPAD + 36) // // // #define DEC_INVALID_PINBLOCK (DEC_NO_E_PINPAD + 37) // // // #define DEC_INVALID_PINBLOCK_LEN (DEC_NO_E_PINPAD + 38) // // // #define DEC_E_GET_PINBLOCK (DEC_NO_E_PINPAD + 39) // // // #define DEC_INVALID_MAC (DEC_NO_E_PINPAD + 40) // // MAC(XOR) error // #define DEC_E_MAC_XOR (DEC_NO_E_PINPAD + 41) // // MAC(CRC) error // #define DEC_E_MAC_CRC (DEC_NO_E_PINPAD + 42) // // Servial number error // #define DEC_E_SERIAL_NUMBER (DEC_NO_E_PINPAD + 43) // // Invaild RSA serial number. // #define DEC_E_RSA_SERIALNUM (DEC_NO_E_PINPAD + 44) // // // #define DEC_E_MAC_DATA_LENGTH_EXCEEDED (DEC_NO_E_PINPAD + 45) // // // #define DEC_E_MAC_ALGORITHM_UNSUPPORTED (DEC_NO_E_PINPAD + 46) // // Invalid IV attributes. // #define DEC_INVALID_IV_ATTR (DEC_NO_E_PINPAD + 47) // // Invalid offset length. // #define DEC_INVALID_OFFSET_LEN (DEC_NO_E_PINPAD + 48) // // // #define DEC_COMMAND_LOCKED (DEC_NO_E_PINPAD + 49) // // // #define DEC_INVALID_USER_BLOCK_ADDR (DEC_NO_E_PINPAD + 50) // //Invalid modulus length. // #define DEC_INVALID_MODULE_LEN (DEC_NO_E_PINPAD + 51) // // // #define DEC_INVALID_EXPONENT_LEN (DEC_NO_E_PINPAD + 52) // // // #define DEC_INVALID_PKCS (DEC_NO_E_PINPAD + 53) // // // #define DEC_E_KCV_VERIFICATION (DEC_NO_E_PINPAD + 54) // // // #define DEC_E_PIN_VERIFICATION (DEC_NO_E_PINPAD + 55) // // // #define DEC_VERIFICATION_FAILED (DEC_NO_E_PINPAD + 56) // //Invalid authentication mode. // #define DEC_INVALID_AUTHENTICATION_MODE (DEC_NO_E_PINPAD + 57) // //Invalid certificate format & version & issuer... // #define DEC_INVALID_CERTIFICATE (DEC_NO_E_PINPAD + 58) // // // #define DEC_E_APDU (DEC_NO_E_PINPAD + 59) // // // #define DEC_EMV_NOT_INITIALIZED (DEC_NO_E_PINPAD + 60) // // // #define DEC_EMV_NOT_READY (DEC_NO_E_PINPAD + 61) // // // #define DEC_EMV_NEED_REINITIALIZE (DEC_NO_E_PINPAD + 62) // // // #define DEC_EMV_TIMEOUT (DEC_NO_E_PINPAD + 63) // // // #define DEC_EMV_INIT_ALREADY (DEC_NO_E_PINPAD + 64) // // // #define DEC_INVALID_PADDING (DEC_NO_E_PINPAD + 65) // //The device's system time not set. // #define DEC_SYSTEM_TIME_NOT_SET (DEC_NO_E_PINPAD + 66) // // // #define DEC_SYSTEM_TIME_SET_ALREADY (DEC_NO_E_PINPAD + 67) // //External Flash hardware error. // #define DEC_E_EXTERNAL_FLASH_HARDWARE (DEC_NO_E_PINPAD + 68) // // // #define DEC_DEVICE_TAMPERED (DEC_NO_E_PINPAD + 69) // // // #define DEC_CHIP_TIMEOUT (DEC_NO_E_PINPAD + 70) // // // #define DEC_RECEIVED_NAK (DEC_NO_E_PINPAD + 71) // // // #define DEC_NOT_KEY_PRESSED (DEC_NO_E_PINPAD + 72) // // // #define DEC_ILLEGAL_KEY_PRESSED (DEC_NO_E_PINPAD + 73) // // // #define DEC_PRESS_KEY_TIMEOUT (DEC_NO_E_PINPAD + 74) // // // #define DEC_PRESS_KEY_INTERVAL_TIMEOUT (DEC_NO_E_PINPAD + 75) // //Wrong HSM state // #define DEC_INVALID_HSM_STATE (DEC_NO_E_PINPAD + 76) // // // #define DEC_INVALID_VECTOR_LEN (DEC_NO_E_PINPAD + 77) // // "8CA64DE9C1B123A7" // #define DEC_E_KEY_LOST (DEC_NO_E_PINPAD + 78) // // "9F1F7BFF6F5511384D9430531E538FD3" // #define DEC_E_SM_KEY_LOST (DEC_NO_E_PINPAD + 79) /////////////////////////////////////////////////// // // End of PinPad error codes // /////////////////////////////////////////////////// /////////////////////////////////////////////////// // // Start of CardIssuer error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// // #define DEC_NO_E_CARDISSUER_START 0x400 #define MEC_DEVAPI_CARDISSUER_(funcName) ( MEC_DEVAPI_CARDISSUER_##funcName ) #define MEC_DEVAPI_CARDISSUER_DevOpen (DEC_NO_E_CARDISSUER_START + 1) #define MEC_DEVAPI_CARDISSUER_GetDevStatus (DEC_NO_E_CARDISSUER_START + 2) #define MEC_DEVAPI_CARDISSUER_GetDeviceSN (DEC_NO_E_CARDISSUER_START + 3) #define MEC_DEVAPI_CARDISSUER_MoveCard (DEC_NO_E_CARDISSUER_START + 4) #define MEC_DEVAPI_CARDISSUER_SetCardInType (DEC_NO_E_CARDISSUER_START + 5) #define MEC_DEVAPI_CARDISSUER_MagRead (DEC_NO_E_CARDISSUER_START + 6) #define MEC_DEVAPI_CARDISSUER_MagWrite (DEC_NO_E_CARDISSUER_START + 7) #define MEC_DEVAPI_CARDISSUER_SetRetractCounter (DEC_NO_E_CARDISSUER_START + 8) #define MEC_DEVAPI_CARDISSUER_SetIssuerCounter (DEC_NO_E_CARDISSUER_START + 9) #define MEC_DEVAPI_CARDISSUER_ActiveICCard (DEC_NO_E_CARDISSUER_START + 10) #define MEC_DEVAPI_CARDISSUER_ContactIC (DEC_NO_E_CARDISSUER_START + 11) #define MEC_DEVAPI_CARDISSUER_ReleaseIC (DEC_NO_E_CARDISSUER_START + 12) #define MEC_DEVAPI_CARDISSUER_ICCommand (DEC_NO_E_CARDISSUER_START + 13) #define MEC_DEVAPI_CARDISSUER_SAMActive (DEC_NO_E_CARDISSUER_START + 14) #define MEC_DEVAPI_CARDISSUER_SAMDeactivate (DEC_NO_E_CARDISSUER_START + 15) #define MEC_DEVAPI_CARDISSUER_SAMWarmReset (DEC_NO_E_CARDISSUER_START + 16) #define MEC_DEVAPI_CARDISSUER_SAMCommand (DEC_NO_E_CARDISSUER_START + 17) #define MEC_DEVAPI_CARDISSUER_SAMQueryStatus (DEC_NO_E_CARDISSUER_START + 18) #define MEC_DEVAPI_CARDISSUER_SAMSelect (DEC_NO_E_CARDISSUER_START + 19) #define MEC_DEVAPI_CARDISSUER_ActiveICCardATR (DEC_NO_E_CARDISSUER_START + 20) #define MEC_DEVAPI_CARDISSUER_Print (DEC_NO_E_CARDISSUER_START + 21) #define MEC_DEVAPI_CARDISSUER_QueryPrinterStatus (DEC_NO_E_CARDISSUER_START + 22) #define MEC_DEVAPI_CARDISSUER_ActiveContactlessICCard (DEC_NO_E_CARDISSUER_START + 23) #define MEC_DEVAPI_CARDISSUER_DeactivateICCard (DEC_NO_E_CARDISSUER_START + 24) #define MEC_DEVAPI_CARDISSUER_DeactContactlessICCard (DEC_NO_E_CARDISSUER_START + 25) #define MEC_DEVAPI_CARDISSUER_MifareCommand (DEC_NO_E_CARDISSUER_START + 26) #define MEC_DEVAPI_CARDISSUER_RFTypeABCommand (DEC_NO_E_CARDISSUER_START + 27) #define MEC_DEVAPI_CARDISSUER_DevOpenEx (DEC_NO_E_CARDISSUER_START + 28) #define MEC_DEVAPI_CARDISSUER_TransferEnInit (DEC_NO_E_CARDISSUER_START + 29) #define MEC_DEVAPI_CARDISSUER_SetR2 (DEC_NO_E_CARDISSUER_START + 30) #define MEC_DEVAPI_CARDISSUER_SendWorkingKey (DEC_NO_E_CARDISSUER_START + 31) #define MEC_DEVAPI_CARDISSUER_SLLoadKey (DEC_NO_E_CARDISSUER_START + 32) #define MEC_DEVAPI_CARDISSUER_SLSetParam (DEC_NO_E_CARDISSUER_START + 33) #define MEC_DEVAPI_CARDISSUER_SLLock (DEC_NO_E_CARDISSUER_START + 34) #define MEC_DEVAPI_CARDISSUER_SLUnLock (DEC_NO_E_CARDISSUER_START + 35) #define MEC_DEVAPI_CARDISSUER_SLGetTempData (DEC_NO_E_CARDISSUER_START + 36) #define MEC_DEVAPI_CARDISSUER_SLOpenDoor (DEC_NO_E_CARDISSUER_START + 37) #define MEC_DEVAPI_CARDISSUER_BluetoothControl (DEC_NO_E_CARDISSUER_START + 38) #define MEC_DEVAPI_CARDISSUER_BluetoothModifyKey (DEC_NO_E_CARDISSUER_START + 39) #define MEC_DEVAPI_CARDISSUER_BluetoothModifyName (DEC_NO_E_CARDISSUER_START + 40) #define MEC_DEVAPI_CARDISSUER_BluetoothGetVersion (DEC_NO_E_CARDISSUER_START + 41) #define MEC_DEVAPI_CARDISSUER_BluetoothGetConnectName (DEC_NO_E_CARDISSUER_START + 42) #define MEC_DEVAPI_CARDISSUER_BluetoothGetSignalStrength (DEC_NO_E_CARDISSUER_START + 43) #define MEC_DEVAPI_CARDISSUER_LightControl (DEC_NO_E_CARDISSUER_START + 44) #define MEC_DEVAPI_CARDISSUER_QueryBatteryPower (DEC_NO_E_CARDISSUER_START + 45) #define MEC_DEVAPI_CARDISSUER_MoveCardToSlot (DEC_NO_E_CARDISSUER_START + 46) #define MEC_DEVAPI_CARDISSUER_MoveCardFromSlot (DEC_NO_E_CARDISSUER_START + 47) #define MEC_DEVAPI_CARDISSUER_ReadAccount (DEC_NO_E_CARDISSUER_START + 48) #define MEC_DEVAPI_CARDISSUER_GetSlotSum (DEC_NO_E_CARDISSUER_START + 49) #define MEC_DEVAPI_CARDISSUER_QuerySlotsStatus (DEC_NO_E_CARDISSUER_START + 50) #define MEC_DEVAPI_CARDISSUER_CI_MOVECARD_FROM_HOPPER (DEC_NO_E_CARDISSUER_START + 51) #define MEC_DEVAPI_CARDISSUER_CI_MOVECARD_BACK_NOT_HOLD (DEC_NO_E_CARDISSUER_START + 52) #define MEC_DEVAPI_CARDISSUER_CI_MOVECARD_FRONT_GATE (DEC_NO_E_CARDISSUER_START + 53) #define MEC_DEVAPI_CARDISSUER_CI_MOVECARD_MAG_POSITION (DEC_NO_E_CARDISSUER_START + 54) #define MEC_DEVAPI_CARDISSUER_GetDevCategory (DEC_NO_E_CARDISSUER_START + 55) #define MEC_DEVAPI_CARDISSUER_Reset (DEC_NO_E_CARDISSUER_START + 56) #define MEC_DEVAPI_CARDISSUER_DevClose (DEC_NO_E_CARDISSUER_START + 57) #define MEC_DEVAPI_CARDISSUER_PrintCardFaceRightNow (DEC_NO_E_CARDISSUER_START + 59) #define MEC_DEVAPI_CARDISSUER_WarmReset (DEC_NO_E_CARDISSUER_START + 60) #define DEC_NO_E_CARDISSUER (DEC_NO_E_CARDISSUER_START + CAPACITY_FOR_MEC_DEVAPI) // // define other error code here for specified device, like: // // DEC_NO_E_CARDISSUER_INVALID_PORT (DEC_NO_E_CARDISSUER + 1) // DEC_NO_E_CARDISSUER_INVALID_BAUDRATE (DEC_NO_E_CARDISSUER + 2) // /////////////////////////////////////////////////// // // Start of ContactlessCard error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_CONTACTLESSCARD_START 0x600 #define MEC_DEVAPI_RF_(funcName) ( MEC_DEVAPI_RF_##funcName ) #define MEC_DEVAPI_RF_DevOpen (DEC_NO_E_CONTACTLESSCARD_START + 1) #define MEC_DEVAPI_RF_GetDevStatus (DEC_NO_E_CONTACTLESSCARD_START + 2) #define MEC_DEVAPI_RF_AbortRead (DEC_NO_E_CONTACTLESSCARD_START + 3) #define MEC_DEVAPI_RF_ActiveContactlessICCard (DEC_NO_E_CONTACTLESSCARD_START + 4) #define MEC_DEVAPI_RF_DeactContactlessICCard (DEC_NO_E_CONTACTLESSCARD_START + 5) #define MEC_DEVAPI_RF_WarmReset (DEC_NO_E_CONTACTLESSCARD_START + 6) #define MEC_DEVAPI_RF_MifareCommand (DEC_NO_E_CONTACTLESSCARD_START + 7) #define MEC_DEVAPI_RF_RFTypeABCommand (DEC_NO_E_CONTACTLESSCARD_START + 8) #define MEC_DEVAPI_RF_HaltCard (DEC_NO_E_CONTACTLESSCARD_START + 9) #define MEC_DEVAPI_RF_GetDevCategory (DEC_NO_E_CONTACTLESSCARD_START + 10) #define MEC_DEVAPI_RF_Reset (DEC_NO_E_CONTACTLESSCARD_START + 11) #define MEC_DEVAPI_RF_DevClose (DEC_NO_E_CONTACTLESSCARD_START + 12) #define MEC_DEVAPI_RF_CardProcess_FindTagValue (DEC_NO_E_CONTACTLESSCARD_START + 13) #define MEC_DEVAPI_RF_CardProcess_DetectAndReadICData (DEC_NO_E_CONTACTLESSCARD_START + 14) #define DEC_NO_E_CONTACTLESSCARD (DEC_NO_E_CONTACTLESSCARD_START + CAPACITY_FOR_MEC_DEVAPI) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of IDCerfiticate error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_IDCERTIFICATE_START 0x800 #define MEC_DEVAPI_IDCER_(funcName) ( MEC_DEVAPI_IDCER_##funcName ) #define MEC_DEVAPI_IDCER_DevOpen (DEC_NO_E_IDCERTIFICATE_START + 1) #define MEC_DEVAPI_IDCER_IDCerRFControl (DEC_NO_E_IDCERTIFICATE_START + 2) #define MEC_DEVAPI_IDCER_IDCerAuthenticate (DEC_NO_E_IDCERTIFICATE_START + 3) #define MEC_DEVAPI_IDCER_IDCerGetData (DEC_NO_E_IDCERTIFICATE_START + 4) #define MEC_DEVAPI_IDCER_IDCerGetDataEx (DEC_NO_E_IDCERTIFICATE_START + 5) #define MEC_DEVAPI_IDCER_ForceIDEject (DEC_NO_E_IDCERTIFICATE_START + 6) #define MEC_DEVAPI_IDCER_ScanIDAndSaveImage (DEC_NO_E_IDCERTIFICATE_START + 7) #define MEC_DEVAPI_IDCER_QueryCardPos (DEC_NO_E_IDCERTIFICATE_START + 8) #define MEC_DEVAPI_IDCER_GetDevCategory (DEC_NO_E_IDCERTIFICATE_START + 9) #define MEC_DEVAPI_IDCER_Reset (DEC_NO_E_IDCERTIFICATE_START + 10) #define MEC_DEVAPI_IDCER_DevClose (DEC_NO_E_IDCERTIFICATE_START + 11) #define DEC_NO_E_IDCERTIFICATE (DEC_NO_E_IDCERTIFICATE_START + CAPACITY_FOR_MEC_DEVAPI) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // #define DEC_NO_E_IDCERTIFICATE_INVALIDDATE (DEC_NO_E_IDCERTIFICATE + 1) /////////////////////////////////////////////////// // // Start of WatchDog error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_WATCHDOG_START 0xA00 #define MEC_DEVAPI_WATCHDOG_(funcName) ( MEC_DEVAPI_WATCHDOG_##funcName ) #define MEC_DEVAPI_WATCHDOG_DevOpen (DEC_NO_E_WATCHDOG_START + 1) #define MEC_DEVAPI_WATCHDOG_StartWatch (DEC_NO_E_WATCHDOG_START + 2) #define MEC_DEVAPI_WATCHDOG_StopWatch (DEC_NO_E_WATCHDOG_START + 3) #define MEC_DEVAPI_WATCHDOG_RefreshDog (DEC_NO_E_WATCHDOG_START + 4) #define MEC_DEVAPI_WATCHDOG_GetDevCategory (DEC_NO_E_WATCHDOG_START + 5) #define MEC_DEVAPI_WATCHDOG_Reset (DEC_NO_E_WATCHDOG_START + 6) #define MEC_DEVAPI_WATCHDOG_DevClose (DEC_NO_E_WATCHDOG_START + 7) #define DEC_NO_E_WATCHDOG ( DEC_NO_E_WATCHDOG_START + CAPACITY_FOR_MEC_DEVAPI ) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of GPIO error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_GPIO_START 0xC00 #define MEC_DEVAPI_GPIO_(funcName) ( MEC_DEVAPI_GPIO_##funcName ) #define MEC_DEVAPI_GPIO_DevOpen (DEC_NO_E_GPIO_START + 1) #define MEC_DEVAPI_GPIO_WritePort (DEC_NO_E_GPIO_START + 2) #define MEC_DEVAPI_GPIO_ReadPort (DEC_NO_E_GPIO_START + 3) #define MEC_DEVAPI_GPIO_GetDevCategory (DEC_NO_E_GPIO_START + 4) #define MEC_DEVAPI_GPIO_Reset (DEC_NO_E_GPIO_START + 5) #define MEC_DEVAPI_GPIO_DevClose (DEC_NO_E_GPIO_START + 6) #define DEC_NO_E_GPIO ( DEC_NO_E_GPIO_START + CAPACITY_FOR_MEC_DEVAPI ) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of UPS error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_UPS_START 0xE00 #define MEC_DEVAPI_UPS_(funcName) ( MEC_DEVAPI_UPS_##funcName ) #define MEC_DEVAPI_UPS_DevOpen (DEC_NO_E_UPS_START + 1) #define MEC_DEVAPI_UPS_GetDevStatus (DEC_NO_E_UPS_START + 2) #define MEC_DEVAPI_UPS_Shutdown (DEC_NO_E_UPS_START + 3) #define MEC_DEVAPI_UPS_GetDevCategory (DEC_NO_E_UPS_START + 4) #define MEC_DEVAPI_UPS_Reset (DEC_NO_E_UPS_START + 5) #define MEC_DEVAPI_UPS_DevClose (DEC_NO_E_UPS_START + 6) #define DEC_NO_E_UPS ( DEC_NO_E_UPS_START + CAPACITY_FOR_MEC_DEVAPI ) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of HSPSCANNER error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_HSPSCANNER_START 0x1000 #define MEC_DEVAPI_HSPSCANNER_(funcName) ( MEC_DEVAPI_HSPSCANNER_##funcName ) #define MEC_DEVAPI_HSPSCANNER_DevOpen (DEC_NO_E_HSPSCANNER_START + 1) #define MEC_DEVAPI_HSPSCANNER_SetParam (DEC_NO_E_HSPSCANNER_START + 2) #define MEC_DEVAPI_HSPSCANNER_SetPreview_Open (DEC_NO_E_HSPSCANNER_START + 3) #define MEC_DEVAPI_HSPSCANNER_SetPreview_Close (DEC_NO_E_HSPSCANNER_START + 4) #define MEC_DEVAPI_HSPSCANNER_ScanImage (DEC_NO_E_HSPSCANNER_START + 5) #define MEC_DEVAPI_HSPSCANNER_ScanImageEx (DEC_NO_E_HSPSCANNER_START + 6) #define MEC_DEVAPI_HSPSCANNER_SetViewPos (DEC_NO_E_HSPSCANNER_START + 7) #define MEC_DEVAPI_HSPSCANNER_SetProperty (DEC_NO_E_HSPSCANNER_START + 8) #define MEC_DEVAPI_HSPSCANNER_GetDevStatus (DEC_NO_E_HSPSCANNER_START + 9) #define MEC_DEVAPI_HSPSCANNER_GetDevCategory (DEC_NO_E_HSPSCANNER_START + 10) #define MEC_DEVAPI_HSPSCANNER_Reset (DEC_NO_E_HSPSCANNER_START + 11) #define MEC_DEVAPI_HSPSCANNER_DevClose (DEC_NO_E_HSPSCANNER_START + 12) #define DEC_NO_E_HSPSCANNER ( DEC_NO_E_HSPSCANNER_START + CAPACITY_FOR_MEC_DEVAPI ) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of THERMALPRINT error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_THERMALPRINT_START 0x1200 #define MEC_DEVAPI_THERMALPRINT_(funcName) ( MEC_DEVAPI_THERMALPRINT_##funcName ) #define MEC_DEVAPI_THERMALPRINT_DevOpen (DEC_NO_E_THERMALPRINT_START + 1) #define MEC_DEVAPI_THERMALPRINT_GetDevStatus (DEC_NO_E_THERMALPRINT_START + 2) #define MEC_DEVAPI_THERMALPRINT_BeginPrint (DEC_NO_E_THERMALPRINT_START + 3) #define MEC_DEVAPI_THERMALPRINT_ControlAction (DEC_NO_E_THERMALPRINT_START + 4) #define MEC_DEVAPI_THERMALPRINT_SetParam (DEC_NO_E_THERMALPRINT_START + 5) #define MEC_DEVAPI_THERMALPRINT_SetFont (DEC_NO_E_THERMALPRINT_START + 6) #define MEC_DEVAPI_THERMALPRINT_PrintText (DEC_NO_E_THERMALPRINT_START + 7) #define MEC_DEVAPI_THERMALPRINT_PrintBarCode (DEC_NO_E_THERMALPRINT_START + 8) #define MEC_DEVAPI_THERMALPRINT_PrintQRCode (DEC_NO_E_THERMALPRINT_START + 9) #define MEC_DEVAPI_THERMALPRINT_PrintQRCodeByArea (DEC_NO_E_THERMALPRINT_START + 10) #define MEC_DEVAPI_THERMALPRINT_PrintPDF417code (DEC_NO_E_THERMALPRINT_START + 11) #define MEC_DEVAPI_THERMALPRINT_PrintPDF417codeByArea (DEC_NO_E_THERMALPRINT_START + 12) #define MEC_DEVAPI_THERMALPRINT_PrintImage (DEC_NO_E_THERMALPRINT_START + 13) #define MEC_DEVAPI_THERMALPRINT_GetLastErrState (DEC_NO_E_THERMALPRINT_START + 14) #define MEC_DEVAPI_THERMALPRINT_GetDevCategory (DEC_NO_E_THERMALPRINT_START + 15) #define MEC_DEVAPI_THERMALPRINT_Reset (DEC_NO_E_THERMALPRINT_START + 16) #define MEC_DEVAPI_THERMALPRINT_DevClose (DEC_NO_E_THERMALPRINT_START + 17) #define DEC_NO_E_THERMALPRINT ( DEC_NO_E_THERMALPRINT_START + CAPACITY_FOR_MEC_DEVAPI ) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of CARDSWIPER error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_CARDSWIPER_START 0x1400 #define MEC_DEVAPI_CARDSWIPER_(funcName) ( MEC_DEVAPI_CARDSWIPER_##funcName ) #define MEC_DEVAPI_CARDSWIPER_DevOpen (DEC_NO_E_CARDSWIPER_START + 1) #define MEC_DEVAPI_CARDSWIPER_GetDevStatus (DEC_NO_E_CARDSWIPER_START + 2) #define MEC_DEVAPI_CARDSWIPER_AbortRead (DEC_NO_E_CARDSWIPER_START + 3) #define MEC_DEVAPI_CARDSWIPER_QueryCardStatus (DEC_NO_E_CARDSWIPER_START + 4) #define MEC_DEVAPI_CARDSWIPER_MagRead (DEC_NO_E_CARDSWIPER_START + 5) #define MEC_DEVAPI_CARDSWIPER_ActiveICCard (DEC_NO_E_CARDSWIPER_START + 6) #define MEC_DEVAPI_CARDSWIPER_ActiveContactlessICCard (DEC_NO_E_CARDSWIPER_START + 7) #define MEC_DEVAPI_CARDSWIPER_ContactIC (DEC_NO_E_CARDSWIPER_START + 8) #define MEC_DEVAPI_CARDSWIPER_ReleaseIC (DEC_NO_E_CARDSWIPER_START + 9) #define MEC_DEVAPI_CARDSWIPER_DeactivateICCard (DEC_NO_E_CARDSWIPER_START + 10) #define MEC_DEVAPI_CARDSWIPER_DeactContactlessICCard (DEC_NO_E_CARDSWIPER_START + 11) #define MEC_DEVAPI_CARDSWIPER_WarmReset (DEC_NO_E_CARDSWIPER_START + 12) #define MEC_DEVAPI_CARDSWIPER_ICCommand (DEC_NO_E_CARDSWIPER_START + 13) #define MEC_DEVAPI_CARDSWIPER_MifareCommand (DEC_NO_E_CARDSWIPER_START + 14) #define MEC_DEVAPI_CARDSWIPER_RFTypeABCommand (DEC_NO_E_CARDSWIPER_START + 15) #define MEC_DEVAPI_CARDSWIPER_GetKeyPair (DEC_NO_E_CARDSWIPER_START + 16) #define MEC_DEVAPI_CARDSWIPER_LoadPrivateKey (DEC_NO_E_CARDSWIPER_START + 17) #define MEC_DEVAPI_CARDSWIPER_SendRandomNum (DEC_NO_E_CARDSWIPER_START + 18) #define MEC_DEVAPI_CARDSWIPER_SendWorkingKey (DEC_NO_E_CARDSWIPER_START + 19) #define MEC_DEVAPI_CARDSWIPER_GetDeviceSN (DEC_NO_E_CARDSWIPER_START + 20) #define MEC_DEVAPI_CARDSWIPER_TransferEnInit (DEC_NO_E_CARDSWIPER_START + 21) #define MEC_DEVAPI_CARDSWIPER_SetR2 (DEC_NO_E_CARDSWIPER_START + 22) #define MEC_DEVAPI_CARDSWIPER_IfDevOnline (DEC_NO_E_CARDSWIPER_START + 23) #define MEC_DEVAPI_CARDSWIPER_EjectCard (DEC_NO_E_CARDSWIPER_START + 24) #define MEC_DEVAPI_CARDSWIPER_GetDevCategory (DEC_NO_E_CARDSWIPER_START + 25) #define MEC_DEVAPI_CARDSWIPER_Reset (DEC_NO_E_CARDSWIPER_START + 26) #define MEC_DEVAPI_CARDSWIPER_DevClose (DEC_NO_E_CARDSWIPER_START + 27) #define MEC_DEVAPI_CARDSWIPER_DevOpenEx (DEC_NO_E_CARDSWIPER_START + 28) #define DEC_NO_E_CARDSWIPER ( DEC_NO_E_CARDSWIPER_START + CAPACITY_FOR_MEC_DEVAPI ) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of DEVCONTROL error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_DEVCONTROL_START 0x1600 #define MEC_DEVAPI_DEVCONTROL_(funcName) ( MEC_DEVAPI_DEVCONTROL_##funcName ) #define MEC_DEVAPI_DEVCONTROL_DevOpen (DEC_NO_E_DEVCONTROL_START + 1) #define MEC_DEVAPI_DEVCONTROL_PortControl (DEC_NO_E_DEVCONTROL_START + 2) #define MEC_DEVAPI_DEVCONTROL_GetDevCategory (DEC_NO_E_DEVCONTROL_START + 3) #define MEC_DEVAPI_DEVCONTROL_Reset (DEC_NO_E_DEVCONTROL_START + 4) #define MEC_DEVAPI_DEVCONTROL_DevClose (DEC_NO_E_DEVCONTROL_START + 5) #define DEC_NO_E_DEVCONTROL ( DEC_NO_E_DEVCONTROL_START + CAPACITY_FOR_MEC_DEVAPI ) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of PRINTSEAL error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_PRINTSEAL_START 0x1800 #define MEC_DEVAPI_PRINTSEAL_(funcName) ( MEC_DEVAPI_PRINTSEAL_##funcName ) #define MEC_DEVAPI_PRINTSEAL_DevOpen (DEC_NO_E_PRINTSEAL_START + 1) #define MEC_DEVAPI_PRINTSEAL_GetDevStatus (DEC_NO_E_PRINTSEAL_START + 2) #define MEC_DEVAPI_PRINTSEAL_Print (DEC_NO_E_PRINTSEAL_START + 3) #define MEC_DEVAPI_PRINTSEAL_CancelPrint (DEC_NO_E_PRINTSEAL_START + 4) #define MEC_DEVAPI_PRINTSEAL_GetDevCategory (DEC_NO_E_PRINTSEAL_START + 5) #define MEC_DEVAPI_PRINTSEAL_Reset (DEC_NO_E_PRINTSEAL_START + 6) #define MEC_DEVAPI_PRINTSEAL_DevClose (DEC_NO_E_PRINTSEAL_START + 7) #define DEC_NO_E_PRINTSEAL ( DEC_NO_E_PRINTSEAL_START + CAPACITY_FOR_MEC_DEVAPI ) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of FINGERPRINT error codes // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 // // /////////////////////////////////////////////////// #define DEC_NO_E_FINGERPRINT_START 0x1A00 #define MEC_DEVAPI_FINGERPRINT_(funcName) ( MEC_DEVAPI_FINGERPRINT_##funcName ) #define MEC_DEVAPI_FINGERPRINT_DevOpen (DEC_NO_E_FINGERPRINT_START + 1) #define MEC_DEVAPI_FINGERPRINT_Image2Feature (DEC_NO_E_FINGERPRINT_START + 2) #define MEC_DEVAPI_FINGERPRINT_Image2Template (DEC_NO_E_FINGERPRINT_START + 3) #define MEC_DEVAPI_FINGERPRINT_Match (DEC_NO_E_FINGERPRINT_START + 4) #define MEC_DEVAPI_FINGERPRINT_Cancel (DEC_NO_E_FINGERPRINT_START + 5) #define MEC_DEVAPI_FINGERPRINT_GetDevCategory (DEC_NO_E_FINGERPRINT_START + 6) #define MEC_DEVAPI_FINGERPRINT_Reset (DEC_NO_E_FINGERPRINT_START + 7) #define MEC_DEVAPI_FINGERPRINT_DevClose (DEC_NO_E_FINGERPRINT_START + 8) #define DEC_NO_E_FINGERPRINT ( DEC_NO_E_FINGERPRINT_START + CAPACITY_FOR_MEC_DEVAPI ) // // define other error code here for specified device, like: // // DEC_NO_E_XXXX_INVALID_PORT (DEC_NO_E_XXXX + 1) // DEC_NO_E_XXXX_INVALID_BAUDRATE (DEC_NO_E_XXXX + 2) // // /////////////////////////////////////////////////// // // Start of Comm error codes for module reserved. // // // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+---------+-----------------+ // |V|R|DeviceID | Code | // +-+-+---------+-----------------+ // 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 // // // // #define DEC_MODULE_RESERVED 0 #define DEC_MODULE_RESERVED_MAX (DEC_NO_E_PINPAD_START - 1) #define CodeFromModuleLevel(sc) (!IS_VENDOR_DUTY((sc))) #define MAKE_SLV_ERRORCODE(eid,vendor,ec) \ ( (DWORD) (((unsigned long)(eid)<<20) | ((((unsigned long)(vendor & 0x1F)))<<15) | (((unsigned long)(ec)) & 0x7FFF)) ) #define MAKE_SLV_ERRORCODE_TO_BUSINESS(eid,ec,reserved) \ ( (DWORD) (((unsigned long)(eid)<<20) | (((unsigned long)(reserved)) << 14) | (((unsigned long)(ec)) & 0x1FF)) ) // // // #define MEC_SUCCESS 0 // // // #endif //__DEVICE_ERROR_CODE_H__