Re: Confuse with big endian bitwise field

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for this discussion, since this really gets confusing at times.
>
> struct xxx {
>         __be32 pdu_cnt:6;
>         __be32 y:3;
>         __be32 wep_key:2;
>         __be32 uses_wep_key:1;
>         __be32 keep_alive:1;
>         __be32 buff_tail_addr:19;
>
>         __be32 cts_11g:1;
>         __be32 rts_11g:1;
>         __be32 x:2;
>         __be32 frag_size:12;
>         __be32 payload_len:12;
>         __be32 frag_num:4;
> }

this isn't safe if you want to mimic hardware layout; the order of the
bits in the struct is different for little endian and big endian
machines...

What is the best way in such scenario? Should we then use an unsigned
char array and then keep separate mappings of each bit for little and
big endian machines ?

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux