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

📄 exportfunc_en.h

📁 电子标签读写器程序(示例类源程序
💻 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

/******** 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 + -