[bitops] Provide BIT_QWORD_PTR()
Provide BIT_QWORD_PTR() to allow for easy extraction of non-endian fields (e.g. Infiniband GUIDs) without unnecessary byte swapping. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
89c767bfd6
commit
1fcd4223cc
|
@ -212,6 +212,13 @@ typedef unsigned char pseudo_bit_t;
|
|||
BIT_ASSEMBLE_6 ( _ptr, QWORD_OFFSET ( _ptr, _field1 ), \
|
||||
_field1, __VA_ARGS__ ) )
|
||||
|
||||
#define BIT_QWORD_PTR( _ptr, _field ) \
|
||||
( { \
|
||||
unsigned int __index = QWORD_OFFSET ( _ptr, _field ); \
|
||||
uint64_t *__ptr = &(_ptr)->u.qwords[__index]; \
|
||||
__ptr; \
|
||||
} )
|
||||
|
||||
/** Extract value of named field */
|
||||
#define BIT_GET64( _ptr, _field ) \
|
||||
( { \
|
||||
|
|
Reference in New Issue