📄 rc531.h
字号:
#ifndef _RC531_H_#define _RC531_H_/* ERROR CODE */#define E_OK 0x0000#define E_COLL 0x0001#define E_PARITY 0x0002#define E_FRAME 0x0004#define E_CRC 0x0008#define E_OVERFLOW 0x0010#define E_ACCESS 0x0020#define E_KEY 0x0040#define E_TIMEOUT 0x0080#define E_BIT 0x0100#define E_BYTE 0x0200#define E_AUTH 0x0400#define E_NAUTH 0x0800#define E_CODE 0x1000#define E_WRITE 0x2000#define E_VALUE 0x4000#define E_RESET 0x8000/* PCD reset type */#define RESET_TYPEA 0#define RESET_TYPEB 1#define RESET_15693 2/* reqa type */#define REQA 0x26#define WAKEUPA 0x52/* reqb type */#define REQB 0x00#define REQALL 0x04/* AUTH type */#define AUTH_KEYA 0x60#define AUTH_KEYB 0x61/* VALUE mode */#define VALUE_INC 0xc1#define VALUE_DEC 0xc0/* TRANSFER mode */#define TRANSFER 0xb0#define RESTORE 0xc2#define RC531_CMD 0struct rc531_cmd{ int cmd; char *sendbuf; char *recvbuf; int bytesent; int byterecv; int bitsrecv; int timeout; int status;};extern int fd531;void mferror(int code);/* PCD function */int r531(int reg);void w531(int reg, int data);int pcd_open(void);int pcd_close(void);int pcd_reset(int type);int pcd_transmit(char *buf, int len);int pcd_transceive(char *sbuf, int slen, char *rbuf, int *rlen);int pcd_writee2(int addr, char *buf, int len);int pcd_reade2(int addr, char *buf, int len);int pcd_loadconfig(int addr);/* TYPE A function */int reqa(int type, int *atqa);int anticolla(int *uid);int selecta(int uid, int *sak);int halta(void);/* TYPE B function */int reqb(int type, char *atqb);int attrib(int uid, int cid, char *ata);int haltb(int uid);/* MIFARE function */int loadkeye2(int addr);int loadkey(char *kbuf);int authent(int uid, int sector, int type);int mfread(int addr, char *buf);int mfwrite(int addr, char *buf);int mfvalue(int mode, int addr, int value);int mftransfer(int mode, int addr);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -