But why is this worthy of a crispy flaming? I've not seen anything
definite beyond a somewhat vague 'some compilers don't optimize
bitfields very well'.
The structure definition and the DECL_BF_LEx() macros might be ugly but
the code using the structures is clearer. For example,
get_random_bytes(&tiebreaker, sizeof(unsigned));
drp_ie->tiebreaker = tiebreaker & 1;
versus
get_random_bytes(&tiebreaker, sizeof(unsigned));
drp_ie->drp_control |= (tiebreaker & 1)
? UWB_DRP_IE_DRP_CTRL_TIEBREAKER : 0;
David
--
David Vrabel, Senior Software Engineer, Drivers
CSR, Churchill House, Cambridge Business Park, Tel: +44 (0)1223 692562
Cowley Road, Cambridge, CB4 0WZ http://www.csr.com/
--