📄 exportfunc_en.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
/******** FUNCTION:Get Dll Version 2Byte *******************/
// PARAMETERS: nothing
// RETURNED : success - 0
/*********************************************************/
int WINAPI lib_ver(unsigned int *Ver);
/******** FUNCTION:DES Encrypt *************************/
// PARAMETERS: szOut - DES resulted data
// szIn - encrypted data
// inlen - encrypted data length
// key - key
// keylen: key length
// RETURNED : SUCCESS -0
/*********************************************************/
int WINAPI des_encrypt(unsigned char *szOut,unsigned char *szIn , unsigned int inlen,unsigned char *key,unsigned int keylen);
/******** FUNCTION: DES Decrypt *************************/
// PARAMETERS:szOut: DECRYPT resulted data
// szIn: decrypt data
// inlen: decypt data length
// key: key
// keylen: key length
// RETURNED: SUCCESS - 0
/*********************************************************/
int WINAPI des_decrypt(unsigned char *szOut,unsigned char *szIn , unsigned int inlen,unsigned char *key,unsigned int keylen);
/********* FUNCTION:inialize port ****************/
//PARAMETERS:port- port ,value 0~3
//baud:4800~115200
//RETURNED : SUCCESS - 0
/*******************************************/
int WINAPI rf_init_com(int port,long baud);
/******** FUNCTION:Inialize device number *******************************/
// PARAMETERS:icdev - device number 0-65536
//RETURNED : SUCCESS - 0
/*********************************************************/
int WINAPI rf_init_device_number(WORD icdev);
/******** FUNCTION : Get device flag*****************************/
// PARAMETERS:icdev- device number,0-65536
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_get_device_number(WORD *Icdev);
/******** FUNCTION:Get hardware version , 2 bytes ***********/
// PARAMETERS:icdev - device flag
// Version - version information
// RETURNED : SUCCESS - 0
/*********************************************************/
int WINAPI rf_get_model(WORD icdev,unsigned short *Version);
/******** FUNCTION:Get serial number of hardware,8 bytes ***********/
// PARAMETERS:icdev - device flag
// Snr: return serial number
// RETURNED : SUCCESS - 0
/*********************************************************/
int WINAPI rf_get_snr(WORD icdev,unsigned char *Snr/*,int* pLength*/);
/******** FUNCTION:beep *************************************/
// PARAMETERS:icdev - device flag
// msec: beep time , unit : 10 ms
// RETURNED : SUCCESS - 0
/*********************************************************/
int WINAPI rf_beep(WORD icdev,unsigned char msec);
/******** FUNCTION:SET sam card baud rate*************/
// PARAMETERS:icdev - device flag
// bound: sam card boud rate , value : 9600、38400
// RETURNED:SUCCESS - 0
// MEMO:bound=0:9600
// bound=1:38400
/*********************************************************/
int WINAPI rf_init_sam(WORD icdev,unsigned char bound);
/******* FUNCTION:reset sam card ********************************/
// PARAMETERS:icdev - device flag
// pData - return reset information
// pMsgLg -reset data length
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_sam_rst(WORD icdev, unsigned char *pData,unsigned char* pMsgLg);
/*for example:
unsigned int icdev;
unsigned char pData[MAX_RF_BUFFER];
unsigned char len;
status = rf_sam_rst(icdev,pData,&len);
*/
/******** FUNCTION:send COS command to SAM card *********************/
// PARAMETERS:icdev - device flag
// command - cos command
// cmdLen - cos length
// pDat - return data from card , include SW1、SW2
// pMsgLg - return data length
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_sam_cos(WORD icdev, unsigned char *command,unsigned char cmdLen ,unsigned char *pData,unsigned char* Length);
/*for example:
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);
*/
/******* FUNCTION:set hardware as no-contact mode *************/
// ISO14443 TYPE A OR ISO14443 TYPE B
// PARAMETERS:icdev - device flag
// type: work mode of hardware
// RETURNED:SUCCESS - 0
// Note:type='A':set TYPE_A mode
// type='B':set TYPE_B mode
// type='r':set AT88RF020 mode
// type='1':set 15693 mode
/*********************************************************/
int WINAPI rf_init_type(WORD icdev,unsigned char type);
/******* FUNCTION:cloase or open antenna***************/
// PARAMETERS:icdev - device flag
// model - antenna mode
// RETURNED:SUCCESS - 0
// Note:model=0 - close antenna
// model=1 - open antenna
/*********************************************************/
int WINAPI rf_antenna_sta(WORD icdev, unsigned char mode);
/******** FUNCTION:search ISO14443-3 TYPE_A card *******************/
// PARAMETERS:icdev - device flag
// model - search card mode
// RETURNED:SUCCESS - 0
// Note:mode=0x26 - search card into sleep state
// mode=0x52 - search all card
/*********************************************************/
int WINAPI rf_request(WORD icdev, unsigned char mode , unsigned short *TagType);
/********* FUNCTION:ISO14443-3 TYPE_A card defend collide **************/
// PARAMETERS:icdev - device flag
// bcnt: serial number bytes of card ,value :4、7、10,Mifare = 4
// pSnr: return serial number
// pRLength:return length of pSnr
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_anticoll(WORD icdev, unsigned char bcnt, unsigned char *pSnr,unsigned char* pRLength);
/*for example :int status
unsigned char icdev;
unsigned char snr[MAX_RF_BUFFER];
unsigned char len;
status = rf_anticoll(icdev,4,snr,&len);
*/
/******** FUNCTION:Locked ISO14443-3 TYPE_A card *************/
// PARAMETERS:icdev- device flag
// pSnr: serial number of card
// srcLen:length of pSnr,MifareOne 's value = 4
// Size: return card's size
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_select(WORD icdev,unsigned char *pSnr,unsigned char srcLen,unsigned char *Size);
/******* FUNCTION:let invalidated ISO14443-3 TYPE_A card to sleep state */
// PARAMETERS:icdev - device flag
// RETURNED:SUCCESS - 0
/**********************************************************/
int WINAPI rf_halt(WORD);
/****** FUNCTION:download Mifare One key from hardware******************/
//one key = every 6 bytes,0~15 block arrange
//PARAMETERS:icdev - device flag
//Mode - key type ,value = ‘A’OR ‘B’
//key - key,96 bytes
//RETURNED:SUCCESS -0
/***************************************************************/
int WINAPI rf_download_key(WORD icdev, unsigned char mode, unsigned char *key/*,unsigned char* pKeyLen*/);
/***** FUNCTION:authenticate Mifare One card*****************/
// PARAMETERS:icdev- device flag
// model:key authentication mode
// block:absolute block number that need authenticate
// key: key content,6 byte
// RETURNED:SUCCESS -0
// Note:model=0x60:authenticate A key
// model=0x61:authenticate B key
/**********************************************************/
int WINAPI rf_M1_authentication1(WORD icdev, unsigned char mode, unsigned char secnr);
/******* FUNCTION:read data from one block address of Mifare One****************/
// PARAMETERS:icdev:device flag
// block: M1 card absolute block address
// pData: returned data
// pLen: length of data
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_M1_authentication2(WORD icdev,unsigned char mode,unsigned char secnr,unsigned char *key/*,unsigned char KeyLen*/);
/*For example:int status
unsigned short icdev
unsigned char pData[MAX_RF_BUFFER];
unsigned char len;
status = rf_M1_read(icdev,0,pData,&len);
*/
/******* FUNCTION:read one block data at Mifare one************/
// PARAMETERS:icdev:device flag
// block:M1 card absolute block address
// data: read data,16 byte
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_M1_read(WORD icdev, unsigned char adr, unsigned char *pData,unsigned char* pLen);
/*for example:int status
unsigned short icdev
unsigned char pData[MAX_RF_BUFFER];
unsigned char len;
status = rf_M1_read(icdev,0,pData,&len);
*/
/******* FUNCTION:write one block data at Mifare one ************/
// PARAMETERS:icdev:device flag
// block:M1 absolute block address
// data: write data,16 byte
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_M1_write(WORD icdev, unsigned char adr, unsigned char *data/*,unsigned char len*/);
/******* FUNCTION:inialize one block of Mifare one as purse *******/
// PARAMETERS:icdev:device flag
// block:M1 block address
// value:inialize value
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_M1_initval(WORD icdev, unsigned char adr, long value);
/******* FUNCTION:read Mifare One purse value **********************/
// PARAMETERS:icdev: device flag
// block: M1 block address
// pValue:return value
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_M1_readval(WORD icdev, unsigned char adr,long* pValue);
/******* FUNCTION:Mifare One decrement fund **************************/
// PARAMETERS:icdev:device flag
// block:M1 block address
// value:decrement value
// RETURNED:SUCCESS - 0
// Note:if run successfully,returned data will be saved as buffer of card,
// and donot modify context of block. if we need save result to card , we need
// run rf_M1_restore
/*********************************************************/
int WINAPI rf_M1_decrement(WORD icdev, unsigned char adr,long value);
/******** FUNCTION:Mifare One increment value **************************/
// PARAMETERS:icdev:device address
// block:M1 block address
// value:increment value
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_M1_increment(WORD icdev, unsigned char adr,long value);
/******** FUNCTION:Save as Mifare One value to other block **********************/
// PARAMETERS:icdev:device flag
// block:M1 block address
// RETURNED:SUCCESS - 0
// Note:It transfer block context to buffer of card ,and use
// rf_M1transfer() to transfer buffer of card to other block
/*********************************************************/
int WINAPI rf_M1_restore(WORD icdev, unsigned char adr);
/****** FUNCTION:transfer Mifare One value ***********************/
// PARAMETERS:icdev:device flag
// block:M1 block address
// RETURNED:SUCCESS - 0
// Note:it only is called after calling increment、decrement and restore
/*********************************************************/
int WINAPI rf_M1_transfer(WORD icdev, unsigned char adr);
/****** FUNCTION:lock ultra light card **********************/
// PARAMETERS:icdev:device flag
// pSnr: serial number of card
// pLene:length of pSnr
// RETURNED:SUCCESS - 0
/*********************************************************/
int WINAPI rf_typea_rst(WORD icdev,unsigned char model,unsigned char *pData,unsigned char* pMsgLg);
/******** FUNCTION:send cos command to ISO14443-A card ********/
//PARAMETERS:icdev:device flag
//command:cos command
//MsgLg:length of returned data
//Date:returned data ,include SW1、SW2
//RETURNED:SUCCESS - 0
/*****************************************************************/
/*for example:int status
unsigned short icdev
unsigned char* cmd;
unsigned char pData[MAX_RF_BUFFER];
unsigned char len;
status = rf_cos_command(icdev,cmd,sizeof(cmd),pData,&len);
*/
int WINAPI rf_cos_command(WORD icdev, unsigned char *command,unsigned char cmdLen,unsigned char *pData,unsigned char* pMsgLg);
/******** FUNCTION:search ISO14443-B card ************************/
//PARAMETERS:icdev:device flag
//AFI: use AFI, if AFI = 0, all cards respond in induce area
//slotmax: max channels number between hardware and rf card
//MsgLg:length of returned data
//Date:returned data
//RETURNED:SUCCESS - 0
/*****************************************************************/
/*for example:int status
int icdev
unsigned char msglg
unsigned char pDate[MAX_RF_BUFFER];
status = rf_atqb(icdev,0,1,pDate,&msglg);
*/
int WINAPI rf_atqb(WORD icdev,unsigned char model,unsigned char *pData,unsigned char *pMsgLg);
/********* FUNCTION:activate all cards of searched ISO14443-B cards ************/
//PARAMETERS:icdev:device flag
//PUPI: flag of card
//CID: logic address , value 0~14 and less than slotmax
//RETURNED:SUCCESS - 0
/*****************************************************************/
int WINAPI rf_attrib(WORD icdev, unsigned long PUPI, unsigned char CID);
/********* FUNCTION:send cos command to ISO14443-B card ******/
//PARAMETERS:icdev:device flag
//CID: logic address
//command:cos command
//MsgLg:length of returned data
//Date: data of returned data ,include SW1、SW2
//RETURNED:SUCCESS - 0
/*****************************************************************/
/*
for example:int status
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -