Go to the documentation of this file.
29 #ifndef _ENDIAN_SWAP_H
30 #define _ENDIAN_SWAP_H
38 #define SWAP_BYTES_16(x) \
39 ( ( ((x) & 0xff00) >> 8) | \
40 ( ((x) & 0x00ff) << 8) )
43 #define SWAP_BYTES_32(x) \
44 ( ( ((x) & 0xff000000) >> 24) | \
45 ( ((x) & 0x00ff0000) >> 8) | \
46 ( ((x) & 0x0000ff00) << 8) | \
47 ( ((x) & 0x000000ff) << 24) )
50 #define SWAP_BYTES_64(x) \
51 ( ( ((x) & 0xff00000000000000LL) >> 56) | \
52 ( ((x) & 0x00ff000000000000LL) >> 40) | \
53 ( ((x) & 0x0000ff0000000000LL) >> 24) | \
54 ( ((x) & 0x000000ff00000000LL) >> 8) | \
55 ( ((x) & 0x00000000ff000000LL) << 8) | \
56 ( ((x) & 0x0000000000ff0000LL) << 24) | \
57 ( ((x) & 0x000000000000ff00LL) << 40) | \
58 ( ((x) & 0x00000000000000ffLL) << 56) )
61 #define BTON_16(x) (x)
62 #define BTON_32(x) (x)
63 #define BTON_64(x) (x)
64 #define LTON_16(x) SWAP_BYTES_16(x)
65 #define LTON_32(x) SWAP_BYTES_32(x)
66 #define LTON_64(x) SWAP_BYTES_64(x)
68 #define BTON_16(x) SWAP_BYTES_16(x)
69 #define BTON_32(x) SWAP_BYTES_32(x)
70 #define BTON_64(x) SWAP_BYTES_64(x)
71 #define LTON_16(x) (x)
72 #define LTON_32(x) (x)
73 #define LTON_64(x) (x)
76 void *
bton_16(
void *data,
size_t nvals);
77 void *
bton_32(
void *data,
size_t nvals);
78 void *
bton_64(
void *data,
size_t nvals);
80 void *
lton_16(
void *data,
size_t nvals);
81 void *
lton_32(
void *data,
size_t nvals);
82 void *
lton_64(
void *data,
size_t nvals);