📄 stm_api.h
字号:
/* STMCSCVersion: error codes */
#define STM_ERR_SCVER_INVALID_SIZE 0x600
#define STM_ERR_SCVER_INVALID_TAG 0x601
#define STM_ERR_SCVER_FIELD_NOT_FOUND 0x602
/* STMCAtr: error codes */
#define STM_ERR_ATR_INVALID_SIZE 0x680
#define STM_ERR_ATR_INVALID 0x681
#define STM_ERR_ATR_CHK 0x682
#define STM_ERR_ATR_NOISO 0x683
#define STM_ERR_ATR_BYTE_NOT_FOUND 0x684
/* PC/CTI response errors */
#define STM_ERR_TSI_BUILD_ERR 0x700
#define STM_ERR_TSI_INIT 0x701
#define STM_ERR_TSI_CREATE_HANDLE 0x702
#define STM_ERR_TSI_RESET 0x703
#define STM_ERR_TSI_REQUEST_ICC 0x704
#define STM_ERR_TSI_EJECT_ICC 0x705
#define STM_ERR_TSI_SEND 0x706
#define STM_ERR_TSI_DISPLAY 0x707
#define STM_ERR_TSI_JOURNAL_ON 0x708
#define STM_ERR_TSI_JOURNAL_SAVE 0x709
#define STM_ERR_TSI_JOURNAL_GET 0x70a
#define STM_ERR_TSI_JOURNAL 0x70b
#define STM_ERR_TSI_DEBUG 0x70c
#define STM_ERR_TSI_INPUT 0x70d
#define STM_ERR_TSI_ICC_STATUS 0x70e
#define STM_ERR_TSI_VERIFY_PIN 0x70f
#define STM_ERR_TSI_CHANGE_PIN 0x710
#define STM_ERR_TSI_GET_PORT_ID 0x711
#define STM_ERR_TSI_GET_CT_LIST 0x712
#define STM_ERR_TSI_CONFIG 0x713
#define STM_ERR_TSI_SET_ACCESS_CONTROL 0x714
/* file data errors */
#define STM_ERR_FILE_CANT_OPEN 0x800
#define STM_ERR_FILE_CANT_READ 0x801
#define STM_ERR_FILE_CANT_WRITE 0x802
/* TLV OBJECT ERRORS */
#define STM_ERR_TLV_STRUCTURE 0x803
#define STM_ERR_TLV_CONSTR_BIT 0x804
#define STM_ERR_TLV_NOT_EMPTY 0x805
#define STM_ERR_TLV_END_REACHED 0x806
#define STM_ERR_TLV_INVALID_LENGTH_FIELD 0x807
/* APDU errors */
#define STM_ERR_APDU_INVALID_DATA 0x808
#define STM_ERR_APDU_INVALID_LC 0x809
#define STM_ERR_APDU_INVALID_LE 0x80A
#define STM_ERR_APDU_INVALID_LENGTH 0x80B
/* SECM errors */
#define STM_ERR_SECM_INVALID_KEY_TYPE 0x80C
#define STM_ERR_SECM_MODE_NOT_SUPPORTED 0x80D
#define STM_ERR_SECM_MISSING_AUTH_KEY 0x80E
#define STM_ERR_SECM_MISSING_CRYPT_KEY 0x80F
#define STM_ERR_SECM_CANT_BUILD_APDU 0x810
#define STM_ERR_SECM_CALC_MAC 0x811
#define STM_ERR_SECM_INVALID_RESPONSE 0x812
#define STM_ERR_SECM_OBJECTS_MISSING 0x813
#define STM_ERR_SECM_INCORRECT_MAC 0x814
#define STM_ERR_SECM_SW_MISMATCH 0x815
#define STM_ERR_SECM_ENCRYPT_DATA 0x816
#define STM_ERR_SECM_DECRYPT_DATA 0x817
#define STM_ERR_SECM_SSC_OPERATION 0x818
/* random generator errors */
#define STM_ERR_RANDGEN_BAD_SEED_LENGTH 0x850
/* (parameter) errors of the flat C-API */
#define STM_ERR_HANDLE_UNDEF 0x1000
#define STM_ERR_PARAM01_POINTER 0x1001
#define STM_ERR_PARAM02_POINTER 0x1002
#define STM_ERR_PARAM03_POINTER 0x1003
#define STM_ERR_PARAM04_POINTER 0x1004
#define STM_ERR_PARAM05_POINTER 0x1005
#define STM_ERR_PARAM06_POINTER 0x1006
#define STM_ERR_PARAM07_POINTER 0x1007
#define STM_ERR_PARAM08_POINTER 0x1008
#define STM_ERR_PARAM09_POINTER 0x1009
#define STM_ERR_PARAM10_POINTER 0x100a
#define STM_ERR_PARAM11_POINTER 0x100b
#define STM_ERR_PARAM12_POINTER 0x100c
#define STM_ERR_PARAM13_POINTER 0x100d
#define STM_ERR_PARAM14_POINTER 0x100e
#define STM_ERR_PARAM15_POINTER 0x100f
//parameter errors of the flat API
#define STM_ERR_BAD_MODE 0x1010
#define STM_ERR_BAD_ALGO 0x1011
#define STM_ERR_BAD_TYPE 0x1012
#define STM_ERR_BAD_CRYPT_MODE 0x1013
#define STM_ERR_BAD_CHAIN_MODE 0x1014
#define STM_ERR_BAD_PAD_MODE 0x1015
#define STM_ERR_BAD_KEY_LENGTH 0x1016
#define STM_ERR_BAD_CRYPT_KEY_TYPE 0x1017
#define STM_ERR_BAD_AUTH_KEY_TYPE 0x1018
#define STM_ERR_BAD_KEY_LEVEL 0x1019
#define STM_ERR_BAD_KEYDATA_LENGTH 0x101a
#define STM_ERR_BAD_KEYHEADER_LENGTH 0x101b
#define STM_ERR_BAD_FORMAT_OPTION 0x101c
#define STM_ERR_BAD_BITDIFF 0x101d
#define STM_ERR_BAD_DATA_LENGTH 0x101e
#define STM_ERR_BAD_AID_LENGTH 0x101f
#define STM_ERR_BAD_CMD_LENGTH 0x1020
#define STM_ERR_BAD_VALUE_LENGTH 0x1021
#define STM_ERR_BAD_EXPONENT_LENGTH 0x1022
#define STM_ERR_BAD_PORT 0x1023
#define STM_ERR_BAD_DEST 0x1024
#define STM_ERR_BAD_TEMPLATE 0x1025
#define STM_ERR_BAD_DEVICE 0x1026
#define STM_ERR_BAD_SEL_TYPE_OPTION 0x1027
#define STM_ERR_BAD_ERROR_LEVEL 0x1028
#define STM_ERR_BAD_LANGUAGE_OPTION 0x1029
#define STM_ERR_BAD_LINE_INDEX 0x102a
#define STM_ERR_BAD_BUFFER_SIZE 0x102b
#define STM_ERR_BAD_TLV_TAG 0x102c
#define STM_ERR_INCOMPLETE_BLOCK 0x102d
#define STM_ERR_BUFFER_TOO_SMALL 0x1030
#define STM_ERR_RESPONSE_INCONSISTENT 0x1031
#define STM_ERR_BAD_G_LENGTH 0x1040
#define STM_ERR_BAD_Y_LENGTH 0x1041
#define STM_ERR_BAD_PTS_MODE 0x1042
#define STM_ERR_BAD_K_LENGTH 0x1043
#define STM_ERR_AC_SC_INCONSISTENT 0x1044
#define STM_ERR_PURSE_WRONG_CARD 0x1045
#define STM_ERR_PARAM16_POINTER 0x10f0
#define STM_ERR_PARAM17_POINTER 0x10f1
#define STM_ERR_PARAM18_POINTER 0x10f2
#define STM_ERR_PARAM19_POINTER 0x10f3
#define STM_ERR_PARAM20_POINTER 0x10f4
#define STM_ERR_PARAM21_POINTER 0x10f5
#define STM_ERR_PARAM22_POINTER 0x10f6
#define STM_ERR_PARAM23_POINTER 0x10f7
#define STM_ERR_PARAM24_POINTER 0x10f8
#define STM_ERR_PARAM25_POINTER 0x10f9
#define STM_ERR_PARAM26_POINTER 0x10fa
#define STM_ERR_PARAM27_POINTER 0x10fb
#define STM_ERR_PARAM28_POINTER 0x10fc
#define STM_ERR_PARAM29_POINTER 0x10fd
#define STM_ERR_PARAM30_POINTER 0x10fe
#define STM_ERR_PARAM31_POINTER 0x10ff
#define STM_ERR_INTERNAL_PARAM_ERROR 0x1100 //should not occur
#define STM_ERR_UNDEF 0xffff //should not occur
/** **************************************************************************** **/
/** symbolic constants (switch parameters) **/
/** **************************************************************************** **/
//terminal selection
#define STM_OPEN_COM 0x0000 //autodetect CCR2, CCR5, ICT800, KCT800, OTI or PCT
#define STM_OPEN_MKT 0x0100 //MKT-terminal (rfu)
#define STM_OPEN_OTI 0x0200 //OTI Contactless Reader
#define STM_OPEN_CCR5 0x0300 //CCR5
#define STM_OPEN_CCR2 0x0400 //CCR2
#define STM_OPEN_CRM7X 0x0500 //CRM7x
#define STM_OPEN_ICT800 0x0600 //ICT800
#define STM_OPEN_KCT800 0x0700 //KCT800 serial
#define STM_OPEN_KCT800K 0x0800 //KCT800 keyboard-interface (rfu)
#define STM_OPEN_MIFBOARD 0x0900 //MIFARE PC-Card
#define STM_OPEN_MIFCOM 0x0a00 //MIFARE serial (rfu)
#define STM_OPEN_PCT 0x0b00 //PCT
#define STM_OPEN_VCT800 0x0d00 //VCT800
#define STM_OPEN_EMU 0x1100 //SmardCard Emulator
#define STM_OPEN_SIM 0x1200 //SmardCard Simulator
#define STM_OPEN_PCSC 0x1300 //PC/SC Reader
#define STM_OPEN_OEM 0x1400 //OEM reader
#define STM_OPEN_TS 0x4000 //Terminal Server
//destination port for STM_Open()
#define STM_COM1 1
#define STM_COM2 2
#define STM_COM3 3
#define STM_COM4 4
#define STM_COM5 5
#define STM_COM6 6
#define STM_COM7 7
#define STM_COM8 8
#define STM_COM9 9
#define STM_COM10 10
#define STM_COM11 11
#define STM_COM12 12
#define STM_COM13 13
#define STM_COM14 14
#define STM_COM15 15
#define STM_COM16 16
#define STM_COM17 17
#define STM_COM18 18
#define STM_COM19 19
#define STM_COM20 20
#define STM_COM21 21
#define STM_COM22 22
#define STM_COM23 23
#define STM_COM24 24
#define STM_COM25 25
#define STM_COM26 26
#define STM_COM27 27
#define STM_COM28 28
#define STM_COM29 29
#define STM_COM30 30
#define STM_COM31 31
#define STM_COM32 32
// Maximum Nb of COM Ports supported by PC/CTI (Win32):
#define STM_COM255 255
//communication destination for STM_Request()
#define STM_ICC1 1
#define STM_ICC2 2
#define STM_ICC3 3
#define STM_ICC4 4
#define STM_ICC5 5
#define STM_ICC6 6
#define STM_ICC7 7
#define STM_ICC8 8
#define STM_ICC9 9
#define STM_ICC10 10
#define STM_ICC11 11
#define STM_ICC12 12
#define STM_ICC13 13
#define STM_ICC14 14
//access modes for STM_Open()/STM_Request()
#define STM_EXCL 0
#define STM_SHARED 1
#define STM_APPL_SHARED 3
//operation modes for STM_CloseAll()
#define STM_CLOSE_CARD 0
#define STM_CLOSE_TERM 1
#define STM_CLOSE_ALL 2
//card types
#define STM_CARD 0
#define STM_CARD_ISO 1
#define STM_CARD_S11 2
#define STM_CARD_S12 3 //4 would mean STARCOS S2.0 which is not supported
#define STM_CARD_S21 5
#define STM_CARD_SPK21 6
#define STM_CARD_SV10 7
#define STM_CARD_AIR10 8
#define STM_CARD_SPK22 9
#define STM_CARD_GSM2 10
#define STM_CARD_SPK23 11
#define STM_CARD_S2000 12
//terminal types
#define STM_CT 0
#define STM_CT_MKT 1
#define STM_CT_MKT_D 2
#define STM_CT_MKT_K 3
#define STM_CT_MKT_DK 4
//operation modes for STM_Create()
#define STM_CREATE_MF 0x00
#define STM_CREATE_DF 0x01
#define STM_CREATE_END 0x02
#define STM_CREATE_EF 0x03
#define STM_CREATE_ANY 0x04
#define STM_CREATE_SPECIAL 0x0100
#define STM_CREATE_CRC 0x0200
//operation modes for STM_LockFile()
#define STM_FILE_LOCK 0
#define STM_FILE_UNLOCK 1
//selection control for STM_SelectId() and STM_SelectFn()
#define STM_SEL_ANY 0x00
#define STM_SEL_DF 0x01
#define STM_SEL_EF 0x02
#define STM_RET_FCI 0x10
#define STM_RET_FCP 0x20
#define STM_RET_FMD 0x30
//eject modes for STM_SetEjectParam()
#define STM_EJECT_DEF 0x00
#define STM_EJECT_BEEP 0x01
#define STM_EJECT_BLINK 0x02
#define STM_EJECT_KEEPICC 0x04
//record ids for STM_ReadRecord() and STM_UpdateRecord()
#define STM_RECORD_FIRST 0x1000
#define STM_RECORD_LAST 0x2000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -