|
#define | STRING_(x) #x |
| stringify without expand
|
|
#define | STRING_(x) #x |
| stringify without expand
|
|
#define | XSTRING_(x) STRING_(x) |
| expand then stringify
|
|
#define | XSTRING_(x) STRING_(x) |
| expand then stringify
|
|
#define | STRING_CONCAT_(a, b) a##b |
| concat without expand
|
|
#define | STRING_CONCAT_(a, b) a##b |
| concat without expand
|
|
#define | XSTRING_CONCAT_(a, b) STRING_CONCAT_(a, b) |
| expand then concat
|
|
#define | XSTRING_CONCAT_(a, b) STRING_CONCAT_(a, b) |
| expand then concat
|
|
#define | MAX_OF(a, b) ( (a) > (b) ? (a) : (b) ) |
|
#define | MIN_OF(a, b) ( (a) < (b) ? (a) : (b) ) |
|
#define | U16_HIGH_U8(u16) ((uint8_t) (((u16) >> 8) & 0x00ff)) |
|
#define | U16_LOW_U8(u16) ((uint8_t) ((u16) & 0x00ff)) |
|
#define | U16_TO_U8S_BE(u16) U16_HIGH_U8(u16), U16_LOW_U8(u16) |
|
#define | U16_TO_U8S_LE(u16) U16_LOW_U8(u16), U16_HIGH_U8(u16) |
|
#define | U32_B1_U8(u32) ((uint8_t) (((u32) >> 24) & 0x000000ff)) |
|
#define | U32_B2_U8(u32) ((uint8_t) (((u32) >> 16) & 0x000000ff)) |
|
#define | U32_B3_U8(u32) ((uint8_t) (((u32) >> 8) & 0x000000ff)) |
|
#define | U32_B4_U8(u32) ((uint8_t) ((u32) & 0x000000ff)) |
|
#define | U32_TO_U8S_BE(u32) U32_B1_U8(u32), U32_B2_U8(u32), U32_B3_U8(u32), U32_B4_U8(u32) |
|
#define | U32_TO_U8S_LE(u32) U32_B4_U8(u32), U32_B3_U8(u32), U32_B2_U8(u32), U32_B1_U8(u32) |
|
#define | ENDIAN_BE(u32) (uint32_t) ( (((u32) & 0xFF) << 24) | (((u32) & 0xFF00) << 8) | (((u32) >> 8) & 0xFF00) | (((u32) >> 24) & 0xFF) ) |
|
#define | ENDIAN_BE16(le16) ((uint16_t) ((U16_LOW_U8(le16) << 8) | U16_HIGH_U8(le16)) ) |
|
#define | __n2be_16(u16) ((uint16_t) ((U16_LOW_U8(u16) << 8) | U16_HIGH_U8(u16)) ) |
|
#define | __be2n_16(u16) __n2be_16(u16) |
|
#define | memclr_(buffer, size) memset((buffer), 0, (size)) |
|
|
static uint8_t const * | descriptor_next (uint8_t const p_desc[]) ATTR_ALWAYS_INLINE ATTR_PURE |
|
static uint8_t | descriptor_typeof (uint8_t const p_desc[]) ATTR_ALWAYS_INLINE ATTR_PURE |
|
static uint32_t | u32_from_u8 (uint8_t b1, uint8_t b2, uint8_t b3, uint8_t b4) ATTR_ALWAYS_INLINE ATTR_CONST |
| form an uint32_t from 4 x uint8_t
|
|
static uint8_t | u16_high_u8 (uint16_t u16) ATTR_CONST ATTR_ALWAYS_INLINE |
|
static uint8_t | u16_low_u8 (uint16_t u16) ATTR_CONST ATTR_ALWAYS_INLINE |
|
static uint16_t | u16_le2be (uint16_t u16) ATTR_CONST ATTR_ALWAYS_INLINE |
|
static uint8_t | min8_of (uint8_t x, uint8_t y) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint16_t | min16_of (uint16_t x, uint16_t y) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint32_t | min32_of (uint32_t x, uint32_t y) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint32_t | max32_of (uint32_t x, uint32_t y) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint16_t | max16_of (uint16_t x, uint16_t y) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint32_t | align32 (uint32_t value) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint32_t | align16 (uint32_t value) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint32_t | align_n (uint32_t alignment, uint32_t value) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint32_t | align4k (uint32_t value) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint32_t | offset4k (uint32_t value) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint32_t | abs_of (int32_t value) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static bool | is_in_range (uint32_t lower, uint32_t value, uint32_t upper) ATTR_ALWAYS_INLINE ATTR_CONST |
| inclusive range checking
|
|
static bool | is_in_range_exclusive (uint32_t lower, uint32_t value, uint32_t upper) ATTR_ALWAYS_INLINE ATTR_CONST |
| exclusive range checking
|
|
static uint8_t | log2_of (uint32_t value) ATTR_ALWAYS_INLINE ATTR_CONST |
|
static uint8_t | cardinality_of (uint32_t value) ATTR_ALWAYS_INLINE ATTR_CONST |
|