1 #ifndef _RFID_MIFARE_ACCESS_H
2 #define _RFID_MIFARE_ACCESS_H
4 struct mfcl_access_sect {
8 int mfcl_compile_access(u_int8_t *encoded,
9 const struct mfcl_access_sect *ac);
10 int mfcl_parse_access(struct mfcl_access_sect *ac, u_int8_t *encoded);
13 enum mfcl_access_exp_data {
14 MFCL_ACCESS_NEVER = 0,
15 MFCL_ACCESS_KEY_A = 1,
16 MFCL_ACCESS_KEY_B = 2,
19 struct mfcl_access_exp_block {
20 #ifndef RFID_BIG_ENDIAN_BITFIELD
31 } __attribute__ ((packed));
33 struct mfcl_access_exp_acc {
34 #ifndef RFID_BIG_ENDIAN_BITFIELD
51 } __attribute__ ((packed));
54 struct mfcl_access_exp_sect {
55 struct mfcl_access_exp_block block[3];
56 struct mfcl_access_exp_acc acc;
59 void mfcl_access_to_exp(struct mfcl_access_exp_sect *exp,
60 const struct mfcl_access_sect *sect);
62 char *mfcl_access_exp_stringify(const struct mfcl_access_exp_block *exp);
63 char *mfcl_access_exp_acc_stringify(const struct mfcl_access_exp_acc *acc);