endian swapping
1 2 3 4 5 6 7 8 9 | #define UTL_endian_swap(_val32) \
(uint32_t)((((_val32) << (3 * 8)) & 0xFF000000) | \
(((_val32) << (1 * 8)) & 0x00FF0000) | \
(((_val32) >> (1 * 8)) & 0x0000FF00) | \
(((_val32) >> (3 * 8)) & 0x000000FF))
#define UTL_endian_swap_16(_val16) \
(uint16_t)((((_val16) << (1 * 8)) & 0xFF00) | \
(((_val16) >> (1 * 8)) & 0x00FF))
|