iPXE
|
Pseudo-bit structures. More...
Go to the source code of this file.
Macros | |
#define | PSEUDO_BIT_STRUCT(_structure) |
Wrapper structure for pseudo_bit_t structures. More... | |
#define | PSEUDO_BIT_STRUCT_TYPE(_ptr) typeof ( *((_ptr)->u.dummy[0]) ) |
Get pseudo_bit_t structure type from wrapper structure pointer. More... | |
#define | BIT_OFFSET(_ptr, _field) offsetof ( PSEUDO_BIT_STRUCT_TYPE ( _ptr ), _field ) |
Bit offset of a field within a pseudo_bit_t structure. More... | |
#define | BIT_WIDTH(_ptr, _field) sizeof ( ( ( PSEUDO_BIT_STRUCT_TYPE ( _ptr ) * ) NULL )->_field ) |
Bit width of a field within a pseudo_bit_t structure. More... | |
#define | QWORD_OFFSET(_ptr, _field) ( BIT_OFFSET ( _ptr, _field ) / 64 ) |
Qword offset of a field within a pseudo_bit_t structure. More... | |
#define | QWORD_BIT_OFFSET(_ptr, _index, _field) ( BIT_OFFSET ( _ptr, _field ) - ( 64 * (_index) ) ) |
Qword bit offset of a field within a pseudo_bit_t structure. More... | |
#define | QWORD_BIT_SHIFT(_ptr, _index, _field) |
Qword bit shift for a field within a pseudo_bit_t structure. More... | |
#define | BIT_MASK(_ptr, _field) |
Bit mask for a field within a pseudo_bit_t structure. More... | |
#define | BIT_ASSEMBLE_1(_ptr, _index, _field, _value) |
#define | BIT_ASSEMBLE_2(_ptr, _index, _field, _value, ...) |
#define | BIT_ASSEMBLE_3(_ptr, _index, _field, _value, ...) |
#define | BIT_ASSEMBLE_4(_ptr, _index, _field, _value, ...) |
#define | BIT_ASSEMBLE_5(_ptr, _index, _field, _value, ...) |
#define | BIT_ASSEMBLE_6(_ptr, _index, _field, _value, ...) |
#define | BIT_ASSEMBLE_7(_ptr, _index, _field, _value, ...) |
#define | BIT_MASK_1(_ptr, _index, _field) |
#define | BIT_MASK_2(_ptr, _index, _field, ...) |
#define | BIT_MASK_3(_ptr, _index, _field, ...) |
#define | BIT_MASK_4(_ptr, _index, _field, ...) |
#define | BIT_MASK_5(_ptr, _index, _field, ...) |
#define | BIT_MASK_6(_ptr, _index, _field, ...) |
#define | BIT_MASK_7(_ptr, _index, _field, ...) |
#define | BIT_FILL(_ptr, _index, _assembled) |
#define | BIT_FILL_1(_ptr, _field1, ...) |
#define | BIT_FILL_2(_ptr, _field1, ...) |
#define | BIT_FILL_3(_ptr, _field1, ...) |
#define | BIT_FILL_4(_ptr, _field1, ...) |
#define | BIT_FILL_5(_ptr, _field1, ...) |
#define | BIT_FILL_6(_ptr, _field1, ...) |
#define | BIT_QWORD_PTR(_ptr, _field) |
#define | BIT_GET64(_ptr, _field) |
Extract value of named field. More... | |
#define | BIT_GET(_ptr, _field) ( ( unsigned long ) BIT_GET64 ( _ptr, _field ) ) |
Extract value of named field (for fields up to the size of a long) More... | |
#define | BIT_SET(_ptr, _field, _value) |
Typedefs | |
typedef unsigned char | pseudo_bit_t |
Datatype used to represent a bit in the pseudo-structures. More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
Pseudo-bit structures.
Definition in file pseudobit.h.
#define PSEUDO_BIT_STRUCT | ( | _structure | ) |
Wrapper structure for pseudo_bit_t structures.
This structure provides a wrapper around pseudo_bit_t structures. It has the correct size, and also encapsulates type information about the underlying pseudo_bit_t-based structure, which allows the BIT_FILL() etc. macros to work without requiring explicit type information.
Definition at line 70 of file pseudobit.h.
#define PSEUDO_BIT_STRUCT_TYPE | ( | _ptr | ) | typeof ( *((_ptr)->u.dummy[0]) ) |
Get pseudo_bit_t structure type from wrapper structure pointer.
Definition at line 79 of file pseudobit.h.
#define BIT_OFFSET | ( | _ptr, | |
_field | |||
) | offsetof ( PSEUDO_BIT_STRUCT_TYPE ( _ptr ), _field ) |
Bit offset of a field within a pseudo_bit_t structure.
Definition at line 83 of file pseudobit.h.
#define BIT_WIDTH | ( | _ptr, | |
_field | |||
) | sizeof ( ( ( PSEUDO_BIT_STRUCT_TYPE ( _ptr ) * ) NULL )->_field ) |
Bit width of a field within a pseudo_bit_t structure.
Definition at line 87 of file pseudobit.h.
#define QWORD_OFFSET | ( | _ptr, | |
_field | |||
) | ( BIT_OFFSET ( _ptr, _field ) / 64 ) |
Qword offset of a field within a pseudo_bit_t structure.
Definition at line 91 of file pseudobit.h.
#define QWORD_BIT_OFFSET | ( | _ptr, | |
_index, | |||
_field | |||
) | ( BIT_OFFSET ( _ptr, _field ) - ( 64 * (_index) ) ) |
Qword bit offset of a field within a pseudo_bit_t structure.
Definition at line 95 of file pseudobit.h.
#define QWORD_BIT_SHIFT | ( | _ptr, | |
_index, | |||
_field | |||
) |
Qword bit shift for a field within a pseudo_bit_t structure.
Definition at line 99 of file pseudobit.h.
#define BIT_MASK | ( | _ptr, | |
_field | |||
) |
Bit mask for a field within a pseudo_bit_t structure.
Definition at line 104 of file pseudobit.h.
#define BIT_ASSEMBLE_1 | ( | _ptr, | |
_index, | |||
_field, | |||
_value | |||
) |
Definition at line 113 of file pseudobit.h.
#define BIT_ASSEMBLE_2 | ( | _ptr, | |
_index, | |||
_field, | |||
_value, | |||
... | |||
) |
Definition at line 117 of file pseudobit.h.
#define BIT_ASSEMBLE_3 | ( | _ptr, | |
_index, | |||
_field, | |||
_value, | |||
... | |||
) |
Definition at line 121 of file pseudobit.h.
#define BIT_ASSEMBLE_4 | ( | _ptr, | |
_index, | |||
_field, | |||
_value, | |||
... | |||
) |
Definition at line 125 of file pseudobit.h.
#define BIT_ASSEMBLE_5 | ( | _ptr, | |
_index, | |||
_field, | |||
_value, | |||
... | |||
) |
Definition at line 129 of file pseudobit.h.
#define BIT_ASSEMBLE_6 | ( | _ptr, | |
_index, | |||
_field, | |||
_value, | |||
... | |||
) |
Definition at line 133 of file pseudobit.h.
#define BIT_ASSEMBLE_7 | ( | _ptr, | |
_index, | |||
_field, | |||
_value, | |||
... | |||
) |
Definition at line 137 of file pseudobit.h.
#define BIT_MASK_1 | ( | _ptr, | |
_index, | |||
_field | |||
) |
Definition at line 146 of file pseudobit.h.
#define BIT_MASK_2 | ( | _ptr, | |
_index, | |||
_field, | |||
... | |||
) |
Definition at line 150 of file pseudobit.h.
#define BIT_MASK_3 | ( | _ptr, | |
_index, | |||
_field, | |||
... | |||
) |
Definition at line 154 of file pseudobit.h.
#define BIT_MASK_4 | ( | _ptr, | |
_index, | |||
_field, | |||
... | |||
) |
Definition at line 158 of file pseudobit.h.
#define BIT_MASK_5 | ( | _ptr, | |
_index, | |||
_field, | |||
... | |||
) |
Definition at line 162 of file pseudobit.h.
#define BIT_MASK_6 | ( | _ptr, | |
_index, | |||
_field, | |||
... | |||
) |
Definition at line 166 of file pseudobit.h.
#define BIT_MASK_7 | ( | _ptr, | |
_index, | |||
_field, | |||
... | |||
) |
Definition at line 170 of file pseudobit.h.
#define BIT_FILL | ( | _ptr, | |
_index, | |||
_assembled | |||
) |
Definition at line 179 of file pseudobit.h.
#define BIT_FILL_1 | ( | _ptr, | |
_field1, | |||
... | |||
) |
Definition at line 185 of file pseudobit.h.
#define BIT_FILL_2 | ( | _ptr, | |
_field1, | |||
... | |||
) |
Definition at line 190 of file pseudobit.h.
#define BIT_FILL_3 | ( | _ptr, | |
_field1, | |||
... | |||
) |
Definition at line 195 of file pseudobit.h.
#define BIT_FILL_4 | ( | _ptr, | |
_field1, | |||
... | |||
) |
Definition at line 200 of file pseudobit.h.
#define BIT_FILL_5 | ( | _ptr, | |
_field1, | |||
... | |||
) |
Definition at line 205 of file pseudobit.h.
#define BIT_FILL_6 | ( | _ptr, | |
_field1, | |||
... | |||
) |
Definition at line 210 of file pseudobit.h.
#define BIT_QWORD_PTR | ( | _ptr, | |
_field | |||
) |
Definition at line 215 of file pseudobit.h.
#define BIT_GET64 | ( | _ptr, | |
_field | |||
) |
Extract value of named field.
Definition at line 223 of file pseudobit.h.
#define BIT_GET | ( | _ptr, | |
_field | |||
) | ( ( unsigned long ) BIT_GET64 ( _ptr, _field ) ) |
Extract value of named field (for fields up to the size of a long)
Definition at line 235 of file pseudobit.h.
#define BIT_SET | ( | _ptr, | |
_field, | |||
_value | |||
) |
Definition at line 238 of file pseudobit.h.
typedef unsigned char pseudo_bit_t |
Datatype used to represent a bit in the pseudo-structures.
Definition at line 59 of file pseudobit.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |