diff options
author | laforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2008-01-22 15:45:50 +0000 |
---|---|---|
committer | laforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2008-01-22 15:45:50 +0000 |
commit | 237c7f9e9d0aad3a9830498a9bdb5fe5dd94df9e (patch) | |
tree | 1227af9867c9667020c05df81c93c87a89369a6f /include/librfid/rfid_layer2_iso14443b.h | |
parent | bb01e0f8534a785beeb64f01960b29b69b0227c5 (diff) |
Fix bitfields for big endian platforms (Jeremy Lainé)
git-svn-id: https://svn.gnumonks.org/trunk/librfid@2038 e0336214-984f-0b4b-a45f-81c69e1f0ede
Diffstat (limited to 'include/librfid/rfid_layer2_iso14443b.h')
-rw-r--r-- | include/librfid/rfid_layer2_iso14443b.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/librfid/rfid_layer2_iso14443b.h b/include/librfid/rfid_layer2_iso14443b.h index 89999c6..2a31997 100644 --- a/include/librfid/rfid_layer2_iso14443b.h +++ b/include/librfid/rfid_layer2_iso14443b.h @@ -20,11 +20,19 @@ struct iso14443b_atqb { unsigned char app_data[4]; struct { unsigned char bit_rate_capability; +#ifndef RFID_BIG_ENDIAN_BITFIELD unsigned char protocol_type:4, max_frame_size:4; unsigned char fo:2, adc:2, fwi:4; +#else + unsigned char max_frame_size:4, + protocol_type:4; + unsigned char fwi:4, + adc:2, + fo:2; +#endif } __attribute__ ((packed)) protocol_info; } __attribute__ ((packed)); @@ -32,24 +40,48 @@ struct iso14443b_attrib_hdr { unsigned char one_d; unsigned char identifier[4]; struct { +#ifndef RFID_BIG_ENDIAN_BITFIELD unsigned char rfu:2, sof:1, eof:1, min_tr1:2, min_tr0:2; +#else + unsigned char min_tr0:2, + min_tr1:1, + eof:1, + sof:1, + rfu:2; +#endif } __attribute__ ((packed)) param1; struct { +#ifndef RFID_BIG_ENDIAN_BITFIELD unsigned char fsdi:4, spd_out:2, spd_in:2; +#else + unsigned char spd_in:2, + spd_out:2, + fsdi:4; +#endif } __attribute__ ((packed)) param2; struct { +#ifndef RFID_BIG_ENDIAN_BITFIELD unsigned char protocol_type:4, rfu:4; +#else + unsigned char rfu:4, + protocol_type:4; +#endif } __attribute__ ((packed)) param3; struct { +#ifndef RFID_BIG_ENDIAN_BITFIELD unsigned char cid:4, rfu:4; +#else + unsigned char rfu:4, + cid:4; +#endif } __attribute__ ((packed)) param4; } __attribute__ ((packed)); |