|
#define | __always_inline inline __attribute__((__always_inline__)) |
|
#define | __always_inline inline __attribute__((__always_inline__)) |
| The function should always be inlined. More...
|
|
#define | __no_inline __attribute__((__noinline__)) |
| The function should not be inlined. More...
|
|
#define | __no_inline __attribute__((__noinline__)) |
|
#define | _CONST_TYPE_ const |
|
#define | _GLOBEXT_ extern |
|
#define | _MEM_TYPE_FAST_ |
|
#define | _MEM_TYPE_MEDFAST_ |
|
#define | _MEM_TYPE_SLOW_ |
|
#define | Abs(a) (((a) < 0 ) ? -(a) : (a)) |
|
#define | ADDR_COPY_DST_SRC_16(dst, src) ((dst) = (src)) |
|
#define | ADDR_COPY_DST_SRC_16(dst, src) ((dst) = (src)) |
|
#define | ADDR_COPY_DST_SRC_64(dst, src) ((dst) = (src)) |
|
#define | ADDR_COPY_DST_SRC_64(dst, src) ((dst) = (src)) |
|
#define | Align_down(val, n) ( (val) & ~((n) - 1)) |
|
#define | Align_up(val, n) (((val) + ((n) - 1)) & ~((n) - 1)) |
|
#define | Assert(expr) ((void) 0) |
| This macro is used to test fatal errors. More...
|
|
#define | Assert(expr) ((void) 0) |
|
#define | barrier() __DMB() |
| Memory barrier. More...
|
|
#define | barrier() __DMB() |
|
#define | BE16(x) swap16(x) |
|
#define | be16_to_cpu(x) swap16(x) |
|
#define | BE16_TO_CPU(x) swap16(x) |
|
#define | be32_to_cpu(x) swap32(x) |
|
#define | BE32_TO_CPU(x) swap32(x) |
|
#define | bit_reverse16(u16) ((U16)(bit_reverse32((U16)(u16)) >> 16)) |
|
#define | bit_reverse32(u32) __RBIT(u32) |
|
#define | bit_reverse64(u64) |
|
#define | bit_reverse8(u8) ((U8)(bit_reverse32((U8)(u8)) >> 24)) |
|
#define | CCPU_ENDIAN_TO_LE16(x) (x) |
|
#define | CCPU_ENDIAN_TO_LE16(x) (x) |
|
#define | CCPU_ENDIAN_TO_LE32(x) (x) |
|
#define | CCPU_ENDIAN_TO_LE32(x) (x) |
|
#define | CCPU_ENDIAN_TO_LE64(x) (x) |
|
#define | CCPU_ENDIAN_TO_LE64(x) (x) |
|
#define | CLE16_TO_CPU_ENDIAN(x) (x) |
|
#define | CLE16_TO_CPU_ENDIAN(x) (x) |
|
#define | CLE32_TO_CPU_ENDIAN(x) (x) |
|
#define | CLE32_TO_CPU_ENDIAN(x) (x) |
|
#define | CLE64_TO_CPU_ENDIAN(x) (x) |
|
#define | CLE64_TO_CPU_ENDIAN(x) (x) |
|
#define | Clr_bits(lvalue, mask) ((lvalue) &= ~(mask)) |
|
#define | clz(u) ((u) ? __builtin_clz(u) : 32) |
|
#define | CMD_ID_OCTET (0) |
|
#define | CMD_ID_OCTET (0) |
|
#define | COMPILER_ALIGNED(a) __attribute__((__aligned__(a))) |
|
#define | COMPILER_ALIGNED(a) __attribute__((__aligned__(a))) |
| Set aligned boundary. More...
|
|
#define | COMPILER_PACK_RESET() COMPILER_PRAGMA(pack()) |
|
#define | COMPILER_PACK_RESET() COMPILER_PRAGMA(pack()) |
| Set default alignment for subsequent struct and union definitions. More...
|
|
#define | COMPILER_PACK_SET(alignment) COMPILER_PRAGMA(pack(alignment)) |
| Set maximum alignment for subsequent struct and union definitions to alignment. More...
|
|
#define | COMPILER_PACK_SET(alignment) COMPILER_PRAGMA(pack(alignment)) |
|
#define | COMPILER_PRAGMA(arg) _Pragma(#arg) |
| Emit the compiler pragma arg. More...
|
|
#define | COMPILER_PRAGMA(arg) _Pragma(#arg) |
|
#define | COMPILER_WORD_ALIGNED __attribute__((__aligned__(4))) |
| Set word-aligned boundary. More...
|
|
#define | COMPILER_WORD_ALIGNED __attribute__((__aligned__(4))) |
|
#define | CPU_ENDIAN_TO_LE16(x) (x) |
|
#define | CPU_ENDIAN_TO_LE16(x) (x) |
|
#define | CPU_ENDIAN_TO_LE32(x) (x) |
|
#define | CPU_ENDIAN_TO_LE32(x) (x) |
|
#define | CPU_ENDIAN_TO_LE64(x) (x) |
|
#define | CPU_ENDIAN_TO_LE64(x) (x) |
|
#define | cpu_to_be16(x) swap16(x) |
|
#define | CPU_TO_BE16(x) swap16(x) |
|
#define | cpu_to_be32(x) swap32(x) |
|
#define | CPU_TO_BE32(x) swap32(x) |
|
#define | cpu_to_le16(x) (x) |
|
#define | CPU_TO_LE16(x) (x) |
|
#define | cpu_to_le32(x) (x) |
|
#define | CPU_TO_LE32(x) (x) |
|
#define | ctz(u) ((u) ? __builtin_ctz(u) : 32) |
|
#define | DISABLE 0 |
|
#define | div_ceil(a, b) (((a) + (b) - 1) / (b)) |
|
#define | div_ceil(a, b) (((a) + (b) - 1) / (b)) |
| Calculate \( \left\lceil \frac{a}{b} \right\rceil \) using integer arithmetic. More...
|
|
#define | ENABLE 1 |
|
#define | FAIL 1 |
|
#define | false 0 |
|
#define | FLASH_DECLARE(x) const x |
|
#define | FLASH_DECLARE(x) const x |
|
#define | FLASH_EXTERN(x) extern const x |
|
#define | FLASH_EXTERN(x) extern const x |
|
#define | FUNC_PTR void * |
|
#define | FUNC_PTR void * |
|
#define | Get_align(val, n) ( Rd_bits( val, (n) - 1 ) ) |
|
#define | HIGH 1 |
|
#define | is_constant(exp) __builtin_constant_p(exp) |
|
#define | LE16(x) (x) |
|
#define | le16_to_cpu(x) (x) |
|
#define | LE16_TO_CPU(x) (x) |
|
#define | LE16_TO_CPU_ENDIAN(x) (x) |
|
#define | LE16_TO_CPU_ENDIAN(x) (x) |
|
#define | le32_to_cpu(x) (x) |
|
#define | LE32_TO_CPU(x) (x) |
|
#define | LE32_TO_CPU_ENDIAN(x) (x) |
|
#define | LE32_TO_CPU_ENDIAN(x) (x) |
|
#define | LE64_TO_CPU_ENDIAN(x) (x) |
|
#define | LE64_TO_CPU_ENDIAN(x) (x) |
|
#define | Long_call(addr) ((*(void (*)(void))(addr))()) |
| Calls the routine at address addr. More...
|
|
#define | Long_call(addr) ((*(void (*)(void))(addr))()) |
|
#define | LOW 0 |
|
#define | LSB(u16) (((U8 *)&(u16))[0]) |
|
#define | LSB0(u32) LSB0W(u32) |
|
#define | LSB0D(u64) MSB7D(u64) |
|
#define | LSB0W(u32) MSB3W(u32) |
|
#define | LSB1(u32) LSB1W(u32) |
|
#define | LSB1D(u64) MSB6D(u64) |
|
#define | LSB1W(u32) MSB2W(u32) |
|
#define | LSB2(u32) LSB2W(u32) |
|
#define | LSB2D(u64) MSB5D(u64) |
|
#define | LSB2W(u32) MSB1W(u32) |
|
#define | LSB3(u32) LSB3W(u32) |
|
#define | LSB3D(u64) MSB4D(u64) |
|
#define | LSB3W(u32) MSB0W(u32) |
|
#define | LSB4D(u64) MSB3D(u64) |
|
#define | LSB5D(u64) MSB2D(u64) |
|
#define | LSB6D(u64) MSB1D(u64) |
|
#define | LSB7D(u64) MSB0D(u64) |
|
#define | LSH(u32) (((U16 *)&(u32))[0]) |
|
#define | LSH0(u64) MSH3(u64) |
|
#define | LSH1(u64) MSH2(u64) |
|
#define | LSH2(u64) MSH1(u64) |
|
#define | LSH3(u64) MSH0(u64) |
|
#define | LSW(u64) (((U32 *)&(u64))[0]) |
|
#define | Max(a, b) (((a) > (b)) ? (a) : (b)) |
|
#define | max(a, b) Max(a, b) |
|
#define | memcmp_code2ram memcmp |
|
#define | memcmp_ram2ram memcmp |
|
#define | memcpy_code2ram memcpy |
|
#define | MEMCPY_ENDIAN memcpy |
|
#define | MEMCPY_ENDIAN memcpy |
|
#define | memcpy_ram2ram memcpy |
|
#define | Min(a, b) (((a) < (b)) ? (a) : (b)) |
|
#define | min(a, b) Min(a, b) |
|
#define | MSB(u16) (((U8 *)&(u16))[1]) |
|
#define | MSB0(u32) MSB0W(u32) |
|
#define | MSB0D(u64) (((U8 *)&(u64))[7]) |
|
#define | MSB0W(u32) (((U8 *)&(u32))[3]) |
|
#define | MSB1(u32) MSB1W(u32) |
|
#define | MSB1D(u64) (((U8 *)&(u64))[6]) |
|
#define | MSB1W(u32) (((U8 *)&(u32))[2]) |
|
#define | MSB2(u32) MSB2W(u32) |
|
#define | MSB2D(u64) (((U8 *)&(u64))[5]) |
|
#define | MSB2W(u32) (((U8 *)&(u32))[1]) |
|
#define | MSB3(u32) MSB3W(u32) |
|
#define | MSB3D(u64) (((U8 *)&(u64))[4]) |
|
#define | MSB3W(u32) (((U8 *)&(u32))[0]) |
|
#define | MSB4D(u64) (((U8 *)&(u64))[3]) |
|
#define | MSB5D(u64) (((U8 *)&(u64))[2]) |
|
#define | MSB6D(u64) (((U8 *)&(u64))[1]) |
|
#define | MSB7D(u64) (((U8 *)&(u64))[0]) |
|
#define | MSH(u32) (((U16 *)&(u32))[1]) |
|
#define | MSH0(u64) (((U16 *)&(u64))[3]) |
|
#define | MSH1(u64) (((U16 *)&(u64))[2]) |
|
#define | MSH2(u64) (((U16 *)&(u64))[1]) |
|
#define | MSH3(u64) (((U16 *)&(u64))[0]) |
|
#define | MSW(u64) (((U32 *)&(u64))[1]) |
|
#define | NO_INIT __attribute__((section(".no_init"))) |
|
#define | NO_INIT __attribute__((section(".no_init"))) |
|
#define | nop() __NOP() |
|
#define | nop() __NOP() |
|
#define | OPTIMIZE_HIGH __attribute__((optimize("s"))) |
|
#define | OPTIMIZE_HIGH __attribute__((optimize("s"))) |
|
#define | PASS 0 |
|
#define | PGM_READ_BLOCK(dst, src, len) memcpy((dst), (src), (len)) |
|
#define | PGM_READ_BLOCK(dst, src, len) memcpy((dst), (src), (len)) |
|
#define | PGM_READ_BYTE(x) *(x) |
|
#define | PGM_READ_BYTE(x) *(x) |
|
#define | PGM_READ_DWORD(x) *(x) |
|
#define | PGM_READ_DWORD(x) *(x) |
|
#define | PGM_READ_WORD(x) *(x) |
|
#define | PGM_READ_WORD(x) *(x) |
|
#define | RAMFUNC __attribute__ ((section(".ramfunc"))) |
|
#define | RAMFUNC __attribute__ ((section(".ramfunc"))) |
|
#define | Rd_bitfield(value, mask) (Rd_bits( value, mask) >> ctz(mask)) |
|
#define | Rd_bits(value, mask) ((value) & (mask)) |
|
#define | Set_align(lval, n, alg) ( Wr_bits(lval, (n) - 1, alg) ) |
|
#define | Set_bits(lvalue, mask) ((lvalue) |= (mask)) |
|
#define | SHORTENUM __attribute__((packed)) |
|
#define | SHORTENUM __attribute__((packed)) |
|
#define | Swap16(u16) |
|
#define | swap16(u16) Swap16(u16) |
|
#define | Swap32(u32) |
|
#define | swap32(u32) ((U32)__builtin_bswap32((U32)(u32))) |
|
#define | Swap64(u64) |
|
#define | swap64(u64) ((U64)__builtin_bswap64((U64)(u64))) |
|
#define | Test_align(val, n) (!Tst_bits( val, (n) - 1 ) ) |
|
#define | Tgl_bits(lvalue, mask) ((lvalue) ^= (mask)) |
|
#define | true 1 |
|
#define | Tst_bits(value, mask) (Rd_bits(value, mask) != 0) |
|
#define | UNUSED(v) (void)(v) |
| Marking v as a unused parameter or value. More...
|
|
#define | UNUSED(v) (void)(v) |
|
#define | unused(v) do { (void)(v); } while(0) |
|
#define | unused(v) do { (void)(v); } while(0) |
| Marking v as a unused parameter or value. More...
|
|
#define | UTILS_COMPILER_H |
|
#define | WEAK __attribute__ ((weak)) |
|
#define | WEAK __attribute__ ((weak)) |
|
#define | Wr_bitfield(lvalue, mask, bitfield) (Wr_bits(lvalue, mask, (U32)(bitfield) << ctz(mask))) |
|
#define | Wr_bits(lvalue, mask, bits) |
|
|
#define | DISABLE 0 |
|
#define | ENABLE 1 |
|
#define | false 0 |
|
#define | true 1 |
|
#define | PASS 0 |
|
#define | FAIL 1 |
|
#define | LOW 0 |
|
#define | HIGH 1 |
|
|
#define | is_constant(exp) __builtin_constant_p(exp) |
| Determine if an expression evaluates to a constant value. More...
|
|
|
#define | Rd_bits(value, mask) ((value) & (mask)) |
| Reads the bits of a value specified by a given bit-mask. More...
|
|
#define | Wr_bits(lvalue, mask, bits) |
| Writes the bits of a C lvalue specified by a given bit-mask. More...
|
|
#define | Tst_bits(value, mask) (Rd_bits(value, mask) != 0) |
| Tests the bits of a value specified by a given bit-mask. More...
|
|
#define | Clr_bits(lvalue, mask) ((lvalue) &= ~(mask)) |
| Clears the bits of a C lvalue specified by a given bit-mask. More...
|
|
#define | Set_bits(lvalue, mask) ((lvalue) |= (mask)) |
| Sets the bits of a C lvalue specified by a given bit-mask. More...
|
|
#define | Tgl_bits(lvalue, mask) ((lvalue) ^= (mask)) |
| Toggles the bits of a C lvalue specified by a given bit-mask. More...
|
|
#define | Rd_bitfield(value, mask) (Rd_bits( value, mask) >> ctz(mask)) |
| Reads the bit-field of a value specified by a given bit-mask. More...
|
|
#define | Wr_bitfield(lvalue, mask, bitfield) (Wr_bits(lvalue, mask, (U32)(bitfield) << ctz(mask))) |
| Writes the bit-field of a C lvalue specified by a given bit-mask. More...
|
|
|
Under GCC, __builtin_clz and __builtin_ctz behave like macros when applied to constant expressions (values known at compile time), so they are more optimized than the use of the corresponding assembly instructions and they can be used as constant expressions e.g. to initialize objects having static storage duration, and like the corresponding assembly instructions when applied to non-constant expressions (values unknown at compile time), so they are more optimized than an assembly periphrasis. Hence, clz and ctz ensure a possible and optimized behavior for both constant and non-constant expressions.
|
#define | clz(u) ((u) ? __builtin_clz(u) : 32) |
| Counts the leading zero bits of the given value considered as a 32-bit integer. More...
|
|
#define | ctz(u) ((u) ? __builtin_ctz(u) : 32) |
| Counts the trailing zero bits of the given value considered as a 32-bit integer. More...
|
|
|
#define | bit_reverse8(u8) ((U8)(bit_reverse32((U8)(u8)) >> 24)) |
| Reverses the bits of u8. More...
|
|
#define | bit_reverse16(u16) ((U16)(bit_reverse32((U16)(u16)) >> 16)) |
| Reverses the bits of u16. More...
|
|
#define | bit_reverse32(u32) __RBIT(u32) |
| Reverses the bits of u32. More...
|
|
#define | bit_reverse64(u64) |
| Reverses the bits of u64. More...
|
|
|
#define | Test_align(val, n) (!Tst_bits( val, (n) - 1 ) ) |
| Tests alignment of the number val with the n boundary. More...
|
|
#define | Get_align(val, n) ( Rd_bits( val, (n) - 1 ) ) |
| Gets alignment of the number val with respect to the n boundary. More...
|
|
#define | Set_align(lval, n, alg) ( Wr_bits(lval, (n) - 1, alg) ) |
| Sets alignment of the lvalue number lval to alg with respect to the n boundary. More...
|
|
#define | Align_up(val, n) (((val) + ((n) - 1)) & ~((n) - 1)) |
| Aligns the number val with the upper n boundary. More...
|
|
#define | Align_down(val, n) ( (val) & ~((n) - 1)) |
| Aligns the number val with the lower n boundary. More...
|
|
|
The same considerations as for clz and ctz apply here but GCC does not provide built-in functions to access the assembly instructions abs, min and max and it does not produce them by itself in most cases, so two sets of macros are defined here:
- Abs, Min and Max to apply to constant expressions (values known at compile time);
- abs, min and max to apply to non-constant expressions (values unknown at compile time), abs is found in stdlib.h.
|
#define | Abs(a) (((a) < 0 ) ? -(a) : (a)) |
| Takes the absolute value of a. More...
|
|
#define | Min(a, b) (((a) < (b)) ? (a) : (b)) |
| Takes the minimal value of a and b. More...
|
|
#define | Max(a, b) (((a) > (b)) ? (a) : (b)) |
| Takes the maximal value of a and b. More...
|
|
#define | min(a, b) Min(a, b) |
| Takes the minimal value of a and b. More...
|
|
#define | max(a, b) Max(a, b) |
| Takes the maximal value of a and b. More...
|
|
|
ARM is MCU little endianism.
|
#define | MSB(u16) (((U8 *)&(u16))[1]) |
| Most significant byte of u16. More...
|
|
#define | LSB(u16) (((U8 *)&(u16))[0]) |
| Least significant byte of u16. More...
|
|
#define | MSH(u32) (((U16 *)&(u32))[1]) |
| Most significant half-word of u32. More...
|
|
#define | LSH(u32) (((U16 *)&(u32))[0]) |
| Least significant half-word of u32. More...
|
|
#define | MSB0W(u32) (((U8 *)&(u32))[3]) |
| Most significant byte of 1st rank of u32. More...
|
|
#define | MSB1W(u32) (((U8 *)&(u32))[2]) |
| Most significant byte of 2nd rank of u32. More...
|
|
#define | MSB2W(u32) (((U8 *)&(u32))[1]) |
| Most significant byte of 3rd rank of u32. More...
|
|
#define | MSB3W(u32) (((U8 *)&(u32))[0]) |
| Most significant byte of 4th rank of u32. More...
|
|
#define | LSB3W(u32) MSB0W(u32) |
| Least significant byte of 4th rank of u32. More...
|
|
#define | LSB2W(u32) MSB1W(u32) |
| Least significant byte of 3rd rank of u32. More...
|
|
#define | LSB1W(u32) MSB2W(u32) |
| Least significant byte of 2nd rank of u32. More...
|
|
#define | LSB0W(u32) MSB3W(u32) |
| Least significant byte of 1st rank of u32. More...
|
|
#define | MSW(u64) (((U32 *)&(u64))[1]) |
| Most significant word of u64. More...
|
|
#define | LSW(u64) (((U32 *)&(u64))[0]) |
| Least significant word of u64. More...
|
|
#define | MSH0(u64) (((U16 *)&(u64))[3]) |
| Most significant half-word of 1st rank of u64. More...
|
|
#define | MSH1(u64) (((U16 *)&(u64))[2]) |
| Most significant half-word of 2nd rank of u64. More...
|
|
#define | MSH2(u64) (((U16 *)&(u64))[1]) |
| Most significant half-word of 3rd rank of u64. More...
|
|
#define | MSH3(u64) (((U16 *)&(u64))[0]) |
| Most significant half-word of 4th rank of u64. More...
|
|
#define | LSH3(u64) MSH0(u64) |
| Least significant half-word of 4th rank of u64. More...
|
|
#define | LSH2(u64) MSH1(u64) |
| Least significant half-word of 3rd rank of u64. More...
|
|
#define | LSH1(u64) MSH2(u64) |
| Least significant half-word of 2nd rank of u64. More...
|
|
#define | LSH0(u64) MSH3(u64) |
| Least significant half-word of 1st rank of u64. More...
|
|
#define | MSB0D(u64) (((U8 *)&(u64))[7]) |
| Most significant byte of 1st rank of u64. More...
|
|
#define | MSB1D(u64) (((U8 *)&(u64))[6]) |
| Most significant byte of 2nd rank of u64. More...
|
|
#define | MSB2D(u64) (((U8 *)&(u64))[5]) |
| Most significant byte of 3rd rank of u64. More...
|
|
#define | MSB3D(u64) (((U8 *)&(u64))[4]) |
| Most significant byte of 4th rank of u64. More...
|
|
#define | MSB4D(u64) (((U8 *)&(u64))[3]) |
| Most significant byte of 5th rank of u64. More...
|
|
#define | MSB5D(u64) (((U8 *)&(u64))[2]) |
| Most significant byte of 6th rank of u64. More...
|
|
#define | MSB6D(u64) (((U8 *)&(u64))[1]) |
| Most significant byte of 7th rank of u64. More...
|
|
#define | MSB7D(u64) (((U8 *)&(u64))[0]) |
| Most significant byte of 8th rank of u64. More...
|
|
#define | LSB7D(u64) MSB0D(u64) |
| Least significant byte of 8th rank of u64. More...
|
|
#define | LSB6D(u64) MSB1D(u64) |
| Least significant byte of 7th rank of u64. More...
|
|
#define | LSB5D(u64) MSB2D(u64) |
| Least significant byte of 6th rank of u64. More...
|
|
#define | LSB4D(u64) MSB3D(u64) |
| Least significant byte of 5th rank of u64. More...
|
|
#define | LSB3D(u64) MSB4D(u64) |
| Least significant byte of 4th rank of u64. More...
|
|
#define | LSB2D(u64) MSB5D(u64) |
| Least significant byte of 3rd rank of u64. More...
|
|
#define | LSB1D(u64) MSB6D(u64) |
| Least significant byte of 2nd rank of u64. More...
|
|
#define | LSB0D(u64) MSB7D(u64) |
| Least significant byte of 1st rank of u64. More...
|
|
#define | BE16(x) swap16(x) |
|
#define | LE16(x) (x) |
|
#define | le16_to_cpu(x) (x) |
|
#define | cpu_to_le16(x) (x) |
|
#define | LE16_TO_CPU(x) (x) |
|
#define | CPU_TO_LE16(x) (x) |
|
#define | be16_to_cpu(x) swap16(x) |
|
#define | cpu_to_be16(x) swap16(x) |
|
#define | BE16_TO_CPU(x) swap16(x) |
|
#define | CPU_TO_BE16(x) swap16(x) |
|
#define | le32_to_cpu(x) (x) |
|
#define | cpu_to_le32(x) (x) |
|
#define | LE32_TO_CPU(x) (x) |
|
#define | CPU_TO_LE32(x) (x) |
|
#define | be32_to_cpu(x) swap32(x) |
|
#define | cpu_to_be32(x) swap32(x) |
|
#define | BE32_TO_CPU(x) swap32(x) |
|
#define | CPU_TO_BE32(x) swap32(x) |
|
|
The same considerations as for clz and ctz apply here but GCC's __builtin_bswap_32 and __builtin_bswap_64 do not behave like macros when applied to constant expressions, so two sets of macros are defined here:
- Swap16, Swap32 and Swap64 to apply to constant expressions (values known at compile time);
- swap16, swap32 and swap64 to apply to non-constant expressions (values unknown at compile time).
|
#define | Swap16(u16) |
| Toggles the endianism of u16 (by swapping its bytes). More...
|
|
#define | Swap32(u32) |
| Toggles the endianism of u32 (by swapping its bytes). More...
|
|
#define | Swap64(u64) |
| Toggles the endianism of u64 (by swapping its bytes). More...
|
|
#define | swap16(u16) Swap16(u16) |
| Toggles the endianism of u16 (by swapping its bytes). More...
|
|
#define | swap32(u32) ((U32)__builtin_bswap32((U32)(u32))) |
| Toggles the endianism of u32 (by swapping its bytes). More...
|
|
#define | swap64(u64) ((U64)__builtin_bswap64((U64)(u64))) |
| Toggles the endianism of u64 (by swapping its bytes). More...
|
|