xref: /linux/tools/include/tools/endian.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
28c2b0dc8SPeter Foley #ifndef _TOOLS_ENDIAN_H
38c2b0dc8SPeter Foley #define _TOOLS_ENDIAN_H
48c2b0dc8SPeter Foley 
58c2b0dc8SPeter Foley #include <byteswap.h>
68c2b0dc8SPeter Foley 
78c2b0dc8SPeter Foley #if __BYTE_ORDER == __LITTLE_ENDIAN
88c2b0dc8SPeter Foley 
98c2b0dc8SPeter Foley #ifndef htole16
108c2b0dc8SPeter Foley #define htole16(x) (x)
118c2b0dc8SPeter Foley #endif
128c2b0dc8SPeter Foley #ifndef htole32
138c2b0dc8SPeter Foley #define htole32(x) (x)
148c2b0dc8SPeter Foley #endif
158c2b0dc8SPeter Foley #ifndef htole64
168c2b0dc8SPeter Foley #define htole64(x) (x)
178c2b0dc8SPeter Foley #endif
188c2b0dc8SPeter Foley 
19ec84284bSPeter Foley #ifndef le16toh
20ec84284bSPeter Foley #define le16toh(x) (x)
21ec84284bSPeter Foley #endif
22ec84284bSPeter Foley 
23ec84284bSPeter Foley #ifndef le32toh
24ec84284bSPeter Foley #define le32toh(x) (x)
25ec84284bSPeter Foley #endif
26ec84284bSPeter Foley 
27ec84284bSPeter Foley #ifndef le64toh
28ec84284bSPeter Foley #define le64toh(x) (x)
29ec84284bSPeter Foley #endif
30ec84284bSPeter Foley 
318c2b0dc8SPeter Foley #else /* __BYTE_ORDER */
328c2b0dc8SPeter Foley 
338c2b0dc8SPeter Foley #ifndef htole16
348c2b0dc8SPeter Foley #define htole16(x) __bswap_16(x)
358c2b0dc8SPeter Foley #endif
368c2b0dc8SPeter Foley #ifndef htole32
378c2b0dc8SPeter Foley #define htole32(x) __bswap_32(x)
388c2b0dc8SPeter Foley #endif
398c2b0dc8SPeter Foley #ifndef htole64
408c2b0dc8SPeter Foley #define htole64(x) __bswap_64(x)
418c2b0dc8SPeter Foley #endif
428c2b0dc8SPeter Foley 
43ec84284bSPeter Foley #ifndef le16toh
44ec84284bSPeter Foley #define le16toh(x) __bswap_16(x)
45ec84284bSPeter Foley #endif
46ec84284bSPeter Foley 
47ec84284bSPeter Foley #ifndef le32toh
48ec84284bSPeter Foley #define le32toh(x) __bswap_32(x)
49ec84284bSPeter Foley #endif
50ec84284bSPeter Foley 
51ec84284bSPeter Foley #ifndef le64toh
52ec84284bSPeter Foley #define le64toh(x) __bswap_64(x)
53ec84284bSPeter Foley #endif
54ec84284bSPeter Foley 
558c2b0dc8SPeter Foley #endif
568c2b0dc8SPeter Foley 
578c2b0dc8SPeter Foley #endif /* _TOOLS_ENDIAN_H */
58