Warning: This file is not a C or C++ file. It does not have highlighting.

1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _TOOLS_ENDIAN_H
3#define _TOOLS_ENDIAN_H
4
5#include <byteswap.h>
6
7#if __BYTE_ORDER == __LITTLE_ENDIAN
8
9#ifndef htole16
10#define htole16(x) (x)
11#endif
12#ifndef htole32
13#define htole32(x) (x)
14#endif
15#ifndef htole64
16#define htole64(x) (x)
17#endif
18
19#ifndef le16toh
20#define le16toh(x) (x)
21#endif
22
23#ifndef le32toh
24#define le32toh(x) (x)
25#endif
26
27#ifndef le64toh
28#define le64toh(x) (x)
29#endif
30
31#else /* __BYTE_ORDER */
32
33#ifndef htole16
34#define htole16(x) __bswap_16(x)
35#endif
36#ifndef htole32
37#define htole32(x) __bswap_32(x)
38#endif
39#ifndef htole64
40#define htole64(x) __bswap_64(x)
41#endif
42
43#ifndef le16toh
44#define le16toh(x) __bswap_16(x)
45#endif
46
47#ifndef le32toh
48#define le32toh(x) __bswap_32(x)
49#endif
50
51#ifndef le64toh
52#define le64toh(x) __bswap_64(x)
53#endif
54
55#endif
56
57#endif /* _TOOLS_ENDIAN_H */
58

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of linux/tools/include/tools/endian.h