⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exportfunc.h

📁 这个是我买IC读卡器时供应商配送的开发接口
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef _EXPORT_FUNC_H_
#define _EXPORT_FUNC_H_

//return successful result
#define  LIB_SUCCESS      0  
//return failed result
#define  LIB_FAILED       1

#define MAX_RF_BUFFER     1024

/******** 功能:获取动态库版本号 2字节 *******************/
//  返回: 成功返回0
/*********************************************************/
int WINAPI lib_ver(unsigned int *nVer);


/******** 功能:DES 算法加密函数 *************************/
//  参数:szOut:  加密结果,长度等于加密数据长度
//        szIn:   加密数据
//        inlen:  加密数据长度,8字节的整数倍
//        key:    密钥
//        keylen: 密钥长度,如果大于8字节,是3des,如果小于等于8字节单des.不足补零
//  返回: 成功返回0
/*********************************************************/
int (WINAPI* des_encrypt)(unsigned char *szOut,unsigned char *szIn , unsigned int inlen,unsigned char *key,unsigned int keylen);


/******** 功能:DES 算法解密函数 *************************/
//  参数:szOut:  解密结果,长度等于解密数据长度
//        szIn:   解密数据
//        inlen:  解密数据长度,8字节的整数倍
//        key:    密钥
//        keylen: 密钥长度,如果大于8字节,是3des,如果小于等于8字节单des.不足补零
//  返回: 成功返回0
/*********************************************************/
int (WINAPI* des_decrypt)(unsigned char *szOut,unsigned char *szIn , unsigned int inlen,unsigned char *key,unsigned int keylen);


/******** 功能:初始化串口 *******************************/
//  参数:port:串口号,取值为1~4
//        baud:为通讯波特率4800~115200
//  返回:成功则返回0
/*********************************************************/
int WINAPI rf_init_com(int port,long baud);


/******** 功能:指定设备标识 *****************************/
//  参数:icdev:通讯设备标识符,0-65536
//  返回:成功返回0
/*********************************************************/
int WINAPI rf_init_device_number(unsigned short icdev);


/******** 功能:读取设备标识 *****************************/
//  参数:Icdev:通讯设备标识符
//  返回:成功返回0
/*********************************************************/
int WINAPI rf_get_device_number(unsigned short *Icdev);


/******** 功能:取得读写卡器硬件版本号,2 字节 ***********/
//  参数:icdev:  通讯设备标识符
//        Version:存放返回版本信息
//  返回:成功则返回0
/*********************************************************/
int WINAPI rf_get_model(unsigned short icdev,unsigned short *Version);


/******** 功能:取得读写卡器产品序列号,8 字节 ***********/
//  参数:icdev:通讯设备标识符
//        Snr:  存放返回读写卡器产品序列号
//  返回:成功则返回0
/*********************************************************/
int WINAPI rf_get_snr(unsigned short icdev,unsigned char *Snr);


/******** 功能:蜂鸣 *************************************/
//  参数:icdev:通讯设备标识符
//        msec: 蜂鸣时限,单位是10 毫秒
//  返回:成功则返回0
/*********************************************************/
int WINAPI rf_beep(unsigned short icdev,unsigned char msec);


/******** 功能:设置读写卡器sam 卡通讯波特率 *************/
//  参数:icdev:通讯设备标识符
//        bound: sam 卡波特率,取值为9600、38400
//  返回:成功则返回0
//  说明:bound=0:9600
//        bound=1:38400
/*********************************************************/
int WINAPI rf_init_sam(unsigned short icdev,unsigned char bound);


/******* 功能:复位sam 卡 ********************************/
//  参数:icdev: 通讯设备标识符
//        pData: 返回的复位信息内容
//        pMsgLg:返回复位信息的长度
//  返回:成功则返回0
/*********************************************************/
int WINAPI rf_sam_rst(unsigned short icdev, unsigned char *pData,unsigned char *pMsgLg);
/*例:
     unsigned int icdev;
     unsigned char pData[MAX_RF_BUFFER];
     unsigned char len;
     status = rf_sam_rst(icdev,pData,&len);
     
*/


/******** 功能:向SAM 卡发送COS 命令 *********************/
//  参数:icdev:  通讯设备标识符
//        command:cos 命令
//        cmdLen:  cos 命令长度
//        pDate:  卡片返回的数据,含SW1、SW2
//        pMsgLg: 返回数据长度
//  返回:成功则返回0
/*********************************************************/
int WINAPI rf_sam_cos(unsigned short icdev, unsigned char *command,unsigned char cmdLen ,unsigned char *pData,unsigned char* Length);
/*例:
     unsigned char icdev;
     unsigned char* cmd;
     unsigned char pData[MAX_RF_BUFFER];
     unsigned char len;
     status = rf_sam_cos(icdev,cmd,sizeof(cmd),pData,&len);
     
*/


/*******  功能:设置读写卡器非接触工作方式为 *************/ 
//              ISO14443 TYPE A OR ISO14443 TYPE B
//  参数:icdev:通讯设备标识符
//        type:  读写卡器工作方式
//  返回:成功则返回0
//  说明:type='A':设置为TYPE_A方式
//        type='B':设置为TYPE_B方式
//        type='r':设置为AT88RF020卡方式
/*********************************************************/
int WINAPI rf_init_type(unsigned short icdev,unsigned char type);


/*******  功能:关闭或启动读写卡器天线发射 ***************/
//  参数:icdev:通讯设备标识符
//        model:天线状态
//  返回:成功则返回0
//  说明:model=0:关闭天线
//        model=1:开启天线
/*********************************************************/
int WINAPI rf_antenna_sta(unsigned short icdev, unsigned char model);


/******** 功能:寻ISO14443-3 TYPE_A 卡 *******************/
//  参数:icdev:  通讯设备标识符
//        model:  寻卡模式
//        TagType:返回卡类型值
//  返回:成功则返回0
//  说明:mode=0x26:寻未进入休眠状态的卡
//        mode=0x52:寻所有状态的卡
/*********************************************************/
int WINAPI rf_request(unsigned short icdev, unsigned char model, unsigned short *TagType);


/********* 功能:ISO14443-3 TYPE_A 卡防冲撞 **************/
//  参数:icdev:  通讯设备标识符
//        bcnt:   卡序列号字节数,取值4、7、10,Mifare 卡取值4
//        pSnr:   返回的卡序列号
//        pRLength:卡序列号长度
//  返回:成功则返回0
/*********************************************************/
int WINAPI rf_anticoll(unsigned short icdev, unsigned char bcnt, unsigned char *pSnr,unsigned char* pRLength);
/*例:int status
      unsigned char icdev;
      unsigned char snr[MAX_RF_BUFFER];
      unsigned char len;
      status = rf_anticoll(icdev,4,snr,&len);      
*/


/******** 功能:锁定一张ISO14443-3 TYPE_A 卡 *************/
//  参数:icdev:通讯设备标识符
//        pSnr: 卡序列号
//        srcLen:卡序列号长度,MifareOne卡该值等于4
//        Size: 返回卡容量
//  返回:成功则返回0
/*********************************************************/
int WINAPI rf_select(unsigned short icdev,unsigned char *pSnr,unsigned char srcLen,unsigned char *Size);


/******* 功能:命令已激活的ISO14443-3 TYPE_A卡进入休眠状态*/
//  参数:icdev:通讯设备标识符
//  返回:成功则返回0
/**********************************************************/
int WINAPI rf_halt(unsigned short icdev);


/***** 功能:用指定的密钥验证Mifare One 卡*****************/
//  参数:icdev:通讯设备标识符
//        model:密码验证模式
//        block:要验证密码的绝对块号
//        key:  密钥内容,6 字节
//  返回:成功则返回0
//  说明:model=0x60:验证A密钥
//        model=0x61:验证B密钥
/**********************************************************/
int WINAPI rf_M1_authentication2(unsigned short icdev,unsigned char model,unsigned char block,unsigned char *key);


/*******  功能:读取Mifare One 卡一块数据 ****************/
//  参数:icdev: 通讯设备标识符
//        block: M1卡绝对块号
//        pData: 读出数据

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -