updated win32 support for MINGW32-compiler/cross-compiler
[librfid] / include / librfid / rfid_protocol_mifare_classic.h
index e6b2400..e50cd2f 100644 (file)
@@ -1,4 +1,7 @@
 #ifndef _MIFARE_CLASSIC_H
+#define _MIFARE_CLASSIC_H
+
+#include <librfid/rfid_protocol.h>
 
 #define MIFARE_CL_KEYA_DEFAULT "\xa0\xa1\xa2\xa3\xa4\xa5"
 #define MIFARE_CL_KEYB_DEFAULT "\xb0\xb1\xb2\xb3\xb4\xb5"
@@ -6,23 +9,33 @@
 #define MIFARE_CL_KEYA_DEFAULT_INFINEON        "\xff\xff\xff\xff\xff\xff"
 #define MIFARE_CL_KEYB_DEFAULT_INFINEON MIFARE_CL_KEYA_DEFAULT_INFINEON
 
+#define MIFARE_CL_KEY_LEN      (sizeof(MIFARE_CL_KEYA_DEFAULT)-1)
+
 #define MIFARE_CL_PAGE_MAX     0xff
+#define MIFARE_CL_PAGE_SIZE    20
 
 #define RFID_CMD_MIFARE_AUTH1A 0x60
 #define RFID_CMD_MIFARE_AUTH1B 0x61
 
+enum rfid_proto_mfcl_opt {
+       RFID_OPT_P_MFCL_SIZE    =       0x10000001,
+};
+
 #ifdef __LIBRFID__
 
-extern struct rfid_protocol rfid_protocol_mfcl;
+extern const struct rfid_protocol rfid_protocol_mfcl;
 
 
 #define MIFARE_CL_CMD_WRITE16  0xA0
+#define MIFARE_CL_CMD_WRITE4   0xA2
 #define MIFARE_CL_CMD_READ     0x30
 
 #define MIFARE_CL_RESP_ACK     0x0a
 #define MIFARE_CL_RESP_NAK     0x00
 
-
 #endif /* __LIBRFID__ */
 
+extern int mfcl_set_key(struct rfid_protocol_handle *ph, unsigned char *key);
+extern int mfcl_auth(struct rfid_protocol_handle *ph, u_int8_t cmd, u_int8_t block);                           
+
 #endif /* _MIFARE_CLASSIC_H */