blob: 0229c575cec9774f5676f4b63dcffef7538be2f5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include "endian.h"
#include <inttypes.h>
uint64_t l2__bswap_64_int(uint64_t in)
{
return (in << 56)
| ((in & UINT64_C(0x000000000000FF00)) << 40)
| ((in & UINT64_C(0x0000000000FF0000)) << 24)
| ((in & UINT64_C(0x00000000FF000000)) << 8)
| ((in & UINT64_C(0x000000FF00000000)) >> 8)
| ((in & UINT64_C(0x0000FF0000000000)) >> 24)
| ((in & UINT64_C(0x00FF000000000000)) >> 40)
| (in >> 56);
}
uint32_t l2__bswap_32_int(uint32_t in)
{
return (in << 24)
| ((in & UINT32_C(0x0000FF00)) << 8)
| ((in & UINT32_C(0x00FF0000)) >> 8)
| (in >> 24);
}
uint16_t l2__bswap_16_int(uint16_t in)
{
return (in >> 8) | (in << 8);
}
|