?? exportfunc.h
字號:
#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 算法加密函數 ***********************/
//user :
// DES 算法加密函數
//Parameter:
// szOut:輸出的DES值,長度等于明文長度
// szIn: 明文
// inlen:明文長度,8字節的整數倍
// key:密文
// keylen: 密文長度,如果大于8字節,是3des,如果小于等于8字節單des.不足補零
//return value:
// Success: LIB_SUCCESS ;
// Failed : LIB_FAILED
/*********************************************************/
int (WINAPI* des_encrypt)(unsigned char *szOut,unsigned char *szIn , unsigned int inlen,unsigned char *key,unsigned int keylen);
/******** 說明:DES 解密算法函數 *************************/
//user :
// DES 算法解密函數
//Parameter:
// szOut:輸出的DES值,長度等于明文長度
// szIn: 明文
// inlen:明文長度,8字節的整數倍
// key:密文
// keylen: 密文長度,如果大于8字節,是3des,如果小于等于8字節單des.不足補零
//return value:
// Success: LIB_SUCCESS ;
// Failed : LIB_FAILED
/*********************************************************/
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方式
/*********************************************************/
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 卡密鑰 ******************/
//每6 個字節為1 個密鑰,0~15 扇區順序排列
// 參數:icdev:通訊設備標識符
// Mode:密鑰類型,取值‘A’OR ‘B’
// key:密鑰,96 字節
// 返回:成功則返回0
/***************************************************************/
int (WINAPI* rf_download_key)(WORD icdev, unsigned char mode, unsigned char *key);
/***** 功能:用已下載到讀寫卡器中的密鑰驗證Mifare One 卡某一扇區 ****/
// 參數:icdev:通訊設備標識符
// mode:密碼驗證模式, 取值0 或1,代表‘A’OR ‘B’
// secnr:要驗證密碼的扇區號(0~15)
// 返回:成功則返回0
/********************************************************************/
int (WINAPI* rf_M1_authentication1)(WORD icdev, unsigned char mode, unsigned char secnr);
/***** 功能:用指定的密鑰驗證Mifare One 卡*****************/
// 參數:icdev:通訊設備標識符
// model:密碼驗證模式
// block:要驗證密碼的絕對塊號(0~63)
// 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卡絕對塊號(0~63)
// pData:讀出數據
// pLen: 讀出數據的長度
// 返回:成功則返回0
// 說明:
/*********************************************************/
int (WINAPI* rf_M1_read)(unsigned short icdev, unsigned char block, unsigned char *pData,unsigned char *pLen);
/*例:int status
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -