Messages in this thread | | | Date | Wed, 10 Sep 2008 21:04:01 +0300 | From | Boaz Harrosh <> | Subject | Re: [Open-FCoE] [PATCH 1/3] 24-bit types: typedef and macros for accessing 3-byte arrays as integers |
| |
Chris Leech wrote: > Chris Leech wrote: >> Dave Kleikamp wrote: >>> @@ -62,7 +60,7 @@ struct timestruc_t { >>> */ >>> typedef struct { >>> unsigned len:24; >>> - unsigned off1:8; >>> + u8 off1; >>> u32 off2; >>> } lxd_t; >> Shouldn't len here be changed to a __le24? I think this just changed >> the size of lxd_t by a byte. > > Never mind, I see that it's a host order field. And presently surprised > to see that gcc combines the 24-bit bitfield with the following u8. > > Chris
It does because these are all bytes. on x86. But this is not guarantied for all ARCHs and machine-word-sizes. In any way this should be consistent with the rest of the file.
Please see my other reply about packing of structures. If this is on-the-wire then there are problems.
Boaz
| |