📄 pinpad.h
字号:
#define uchar unsigned char
#define EM_pin_MASTERKEY 0x00
#define EM_pin_WORKKEY 0x01
#define EM_pin_MACKEY 0x02
#define EM_pin_SUCCESS 'S'
#define EM_pin_ERROR 'E'
#define EM_pin_ABOLISH 'C'
#define EM_pin_KEYON 0x00
#define EM_pin_KEYOFF 0x01
#define EM_pin_ENCRYPTOFF 0x00
#define EM_pin_ENCRYPTON 0x01
char reset_pinpad(void);
char load_master_key(char key_id, char *s);
char select_master_key(char key_id);
char load_workkey(char *s);
char load_card_no(char *s);
char read_pinpad(char len,char disp_mode,char encrypt_mode,char *s);
char user_encrypt(char *s1,char *s2);
char display_pinpad(char *s);
char load_mac_key(char *s);
char load_mac_data(char *s1, char *s2, unsigned char l);
char user_des(char key_id,char *in,char *out);
unsigned char p_fexist(void);
unsigned char p_finit( unsigned char block_long, char file1_mode, char file2_mode);
unsigned char p_fopen(char *filename, char open_mode);
unsigned char p_fdel(char file_no);
unsigned char p_fdelrec(char file_no,int rec_no);
unsigned char p_fwrite(char file_no,int rec_no, char *string, unsigned char len);
int p_fread(char file_no,int start_rec_no,int rec_count,char *string);
int p_freerec(void);
char check_key(char key_id);
char display_730(char line, char *string);
char ic_func(unsigned char func_id,unsigned char len,char *in,char *out);
char display_752(char line,char *s);
uchar EA_ucLoadKey(uchar ucType, uchar ucID,uchar ucLen,char *pcBuf);
/*功能:下装多组密钥(包括工作密钥,主密钥,MAC密钥)
入口:ucType――下装密钥的类型。EM_pin_MASTERKEY(主密钥),EM_pin_WORKKEY(工作密钥),EM_pin_MACKEY(MAC密钥)
ucID――密钥号。主密钥(0~31),工作密钥和MAC密钥(0~7)
ucLen――下装密钥的长度,只能是8或16
*pcBuf――密钥指针。
出口:EM_pin_SUCCESS――成功
EM_pin_ERROR――失败
*/
uchar EA_ucSelectKey(uchar ucType, uchar ucID);
/*
功能:选择密钥
入口:ucTpye――选择密钥类型。EM_pin_MASTERKEY(主密钥),EM_pin_WORKKEY(工作密钥),EM_pin_MACKEY(MAC密钥)
ucID――密钥号。主密钥(0~31),工作密钥和MAC密钥(0~7)。
出口:EM_pin_SUCCESS――成功
EM_pin_ERROR――失败
*/
uchar EA_ucCheckKeyNew(uchar ucType, uchar ucID);
/*
功能:检查密钥
入口:ucType――选择密钥类型。EM_pin_MASTERKEY(主密钥),EM_pin_WORKKEY(工作密钥),EM_pin_MACKEY(MAC密钥)
ucID――密钥号。主密钥(0~31),工作密钥和MAC密钥(0~7)。
出口:EM_pin_SUCCESS――成功。
EM_pin_ERROR―― 失败。
*/
uchar EA_ucUserEncryptNew(uchar ucInLen,char *pcInBuf,uchar *pucOutLen,char *pcOutBuf);
/*
功能:使用work密钥进行加密。
入口:ucInBufLen――输入要加密数据的长度。
*pcInBuf――输入数据的指针。
UcOutBufLen――输出的数据长度。
*pcOutBuf――输出数据的指针。
出口:EM_pin_SUCCESS――成功。
EM_pin_ERROR――失败。
*/
uchar EA_ucReadPinpadNew(uchar ucLen,uchar ucDisp,uchar ucEncrypt,uchar *pucOutLen,char *pcBuf);
/*
入口:ucLen――输入密码长度(750:0≤ucLen≤20;752/758:0≤ucLen≤16)
ucLen = 0;表示可以输入≤20(750)或者≤16(752/758)的任意长度密码。
ucLen>0;表示输入固定长度的密码。
ucDisp――EM_pin_KEYOFF,显示'*'
――EM_pin_KEYON,显示PIN
ucEncrypt――EM_pin_ENCRYPTOFF,不进行A算法。
――EM_pin_ENCRYPTON,进行A算法加密。
ucReclen--返回用户输入的密码长度
*pcBuf――返回数据指针(16字节)
出口:
EM_pin_SUCCESS――成功。
EM_pin_ERROR――失败。
EM_pin_ABOLISH――按<CANCEL>键退出或settimer(int seconds)超时退出
*/
uchar EA_ucGetPinVer(uchar ucType,char *pcBuf);
/*
功能: 从STAR-750上获得版本信息。 (32字节)。
入口: ucType--'U':获取STAR-750出厂预装程序版本
* pcBuf--存储返回的版本信息
出口: EM_pin_SUCCESS--成功
EM_pin_ERROR--失败
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -