📄 samons2.h
字号:
#ifndef _SAMonS2_H#define _SAMonS2_H#ifdef __cplusplusextern "C"{#endif#define ICC_ATR_PARAM_INVALID 0xFE00#define ICC_ATR_CARD_ABSENT 0xFE01#define ICC_ATR_NO_RESPONCE 0xFE02#define ICC_ATR_ABORTED 0xFE03#define ICC_TIMER_ERROR 0xFF00#define ICC_HARDWARE_ERROR 0xFF01#define ICC_T0_HEADER_ERROR 0xFD00#define ICC_T0_PROC_BYTE_ERROR 0xFD01#define ICC_T0_SW_WORD_ERROR 0xFD02#define ICC_T0_READ_ERROR 0xFD03#define ICC_T0_WRITE_ERROR 0xFD04#define ICC_T0_PROC_BYTE_NOT_AVAILABLE 0xFD05#define ICC_T0_SUCCESSIVE_PROC_BYTE_NOT_AVAILABLE 0xFD06#define ICC_T0_SUCCESSIVE_PROC_BYTE_ERROR 0xFD07#define ICC_T1_SEND_ERROR 0xFC00#define ICC_T1_RX_HEADER_ERROR 0xFC01#define ICC_T1_RX_INFO_ERROR 0xFC02#define ICC_T1_RX_EDC_ERROR 0xFC03#define ICC_PTS_SEND_ERROR 0xFB00#define ICC_PTS_INVALID_RESPONCE 0xFB01typedef char BYTE;typedef short BOOL;typedef unsigned char UCHAR;#define OK 0#define ERROR -1 //linux 0 is successful,CHANGE!!!!!!!!!#define TIMER_ERROR -2 //timer error, reset needed#define ERR_NONE 0 //learn from VFM#define PROT_T0 0x00#define PROT_T1 0x01#define V3 3#define V5 5#define V18 18typedef struct { unsigned int isT1 : 1; unsigned int isConverted : 1; unsigned int VccOn : 1; unsigned int VolIndex : 2; unsigned int ClkIndex : 3; unsigned int isSyncCard : 1; unsigned int PSC32th : 1; unsigned int CKU : 1; int Fi, Di, D, Dividor, PI1, II, N, PI2, WI; unsigned char IFSI, CWI, BWI; unsigned short BWT, CWT; unsigned long WWT;} typ_cpucard_param;#define ICC_CLOCK_16M 0#define ICC_CLOCK_8M 1#define ICC_CLOCK_4M 2#define ICC_CLOCK_2M 3#define ICC_VOLTAGE_5 0#define ICC_VOLTAGE_3 1#define ICC_VOLTAGE_1_8 2//for cards of which ATR timing is ISO compliant#define ICC_CPUC_ATR_FLAG_ISO 0//for cards of which ATR timing is EMV compliant#define ICC_CPUC_ATR_FLAG_EMV 1//for cards of which ATR timing is 6 to 10 times long to ISO, such as WatchData.#define ICC_CPUC_ATR_FLAG_LONGATR 2extern void ICC_deactivate_current_sock(void);extern short ICC_cpucard_ATR(unsigned char * dbuf, unsigned char * len, unsigned short clk_index, unsigned short vol_index, unsigned short ATR_FiDi, unsigned short flags);extern short ICC_T0_TPDU( short isIn, short CLA, short INS, short P1, short P2, short P3, unsigned char * databuff, unsigned short * pSW);extern short ICC_T1_frame( unsigned char * pfrm_send, unsigned short len_send, unsigned char * pfrm_rx, unsigned short * len_rx );extern short ICC_cpucard_PTS( unsigned char * pPTS_request, unsigned short len_PTS_request, unsigned char * pPTS_responce, unsigned char * len_PTS_responce);extern short EMV_ISO_PBOC_atr_check( unsigned char * pBuff, unsigned char len, unsigned char isPBOC);#define EMV_ISO_atr_check(a,b) EMV_ISO_PBOC_atr_check((a),(b),0)#define PBOC_atr_check(a,b) EMV_ISO_PBOC_atr_check((a),(b),1)#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -