Go to the documentation of this file.
20 #include <sys/types.h>
27 #include <netinet/in.h>
34 #define lo_swap16(x) htons(x)
36 #define lo_swap32(x) htonl(x)
41 #define lo_swap16(x) \
45 (((uint16_t)(__x) & (uint16_t)0x00ffU) << 8) | \
46 (((uint16_t)(__x) & (uint16_t)0xff00U) >> 8) )); \
48 #warning USING UNOPTIMISED ENDIAN STUFF
52 #define lo_swap32(x) \
56 (((uint32_t)(__x) & (uint32_t)0x000000ffUL) << 24) | \
57 (((uint32_t)(__x) & (uint32_t)0x0000ff00UL) << 8) | \
58 (((uint32_t)(__x) & (uint32_t)0x00ff0000UL) >> 8) | \
59 (((uint32_t)(__x) & (uint32_t)0xff000000UL) >> 24) )); \
65 #define lo_swap64(x) \
69 (uint64_t)(((uint64_t)(__x) & (uint64_t)0x00000000000000ffULL) << 56) | \
70 (uint64_t)(((uint64_t)(__x) & (uint64_t)0x000000000000ff00ULL) << 40) | \
71 (uint64_t)(((uint64_t)(__x) & (uint64_t)0x0000000000ff0000ULL) << 24) | \
72 (uint64_t)(((uint64_t)(__x) & (uint64_t)0x00000000ff000000ULL) << 8) | \
73 (uint64_t)(((uint64_t)(__x) & (uint64_t)0x000000ff00000000ULL) >> 8) | \
74 (uint64_t)(((uint64_t)(__x) & (uint64_t)0x0000ff0000000000ULL) >> 24) | \
75 (uint64_t)(((uint64_t)(__x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \
76 (uint64_t)(((uint64_t)(__x) & (uint64_t)0xff00000000000000ULL) >> 56) )); \
104 #define lo_htoo16(x) (x)
105 #define lo_htoo32(x) (x)
106 #define lo_htoo64(x) (x)
107 #define lo_otoh16(x) (x)
108 #define lo_otoh32(x) (x)
109 #define lo_otoh64(x) (x)
111 #define lo_htoo16 lo_swap16
112 #define lo_htoo32 lo_swap32
113 #define lo_htoo64 lo_swap64
114 #define lo_otoh16 lo_swap16
115 #define lo_otoh32 lo_swap32
116 #define lo_otoh64 lo_swap64