diff options
Diffstat (limited to 'include/librfid/rfid_access_mifare_classic.h')
-rw-r--r-- | include/librfid/rfid_access_mifare_classic.h | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/include/librfid/rfid_access_mifare_classic.h b/include/librfid/rfid_access_mifare_classic.h index 3c23724..4c7fbdf 100644 --- a/include/librfid/rfid_access_mifare_classic.h +++ b/include/librfid/rfid_access_mifare_classic.h @@ -17,20 +17,38 @@ enum mfcl_access_exp_data { }; struct mfcl_access_exp_block { +#ifndef RFID_BIG_ENDIAN_BITFIELD u_int8_t read:2, write:2, inc:2, dec:2; -}; +#else + u_int8_t dec:2, + inc:2, + write:2, + read:2; +#endif +} __attribute__ ((packed)); struct mfcl_access_exp_acc { - u_int16_t key_a_rd:2, +#ifndef RFID_BIG_ENDIAN_BITFIELD + u_int8_t key_a_rd:2, key_a_wr:2, acc_rd:2, - acc_wr:2, - key_b_rd:2, - key_b_wr:2; -}; + acc_wr:2; + u_int8_t key_b_rd:2, + key_b_wr:2, + reserved:4; +#else + u_int8_t acc_wr:2, + acc_rd:2, + key_a_wr:2, + key_a_rd:2; + u_int8_t reserved:4, + key_b_wr:2, + key_b_rd:2; +#endif +} __attribute__ ((packed)); struct mfcl_access_exp_sect { |