xref: /linux/include/linux/byteorder/big_endian.h (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
1*1da177e4SLinus Torvalds #ifndef _LINUX_BYTEORDER_BIG_ENDIAN_H
2*1da177e4SLinus Torvalds #define _LINUX_BYTEORDER_BIG_ENDIAN_H
3*1da177e4SLinus Torvalds 
4*1da177e4SLinus Torvalds #ifndef __BIG_ENDIAN
5*1da177e4SLinus Torvalds #define __BIG_ENDIAN 4321
6*1da177e4SLinus Torvalds #endif
7*1da177e4SLinus Torvalds #ifndef __BIG_ENDIAN_BITFIELD
8*1da177e4SLinus Torvalds #define __BIG_ENDIAN_BITFIELD
9*1da177e4SLinus Torvalds #endif
10*1da177e4SLinus Torvalds 
11*1da177e4SLinus Torvalds #include <linux/types.h>
12*1da177e4SLinus Torvalds #include <linux/byteorder/swab.h>
13*1da177e4SLinus Torvalds 
14*1da177e4SLinus Torvalds #define __constant_htonl(x) ((__force __be32)(__u32)(x))
15*1da177e4SLinus Torvalds #define __constant_ntohl(x) ((__force __u32)(__be32)(x))
16*1da177e4SLinus Torvalds #define __constant_htons(x) ((__force __be16)(__u16)(x))
17*1da177e4SLinus Torvalds #define __constant_ntohs(x) ((__force __u16)(__be16)(x))
18*1da177e4SLinus Torvalds #define __constant_cpu_to_le64(x) ((__force __le64)___constant_swab64((x)))
19*1da177e4SLinus Torvalds #define __constant_le64_to_cpu(x) ___constant_swab64((__force __u64)(__le64)(x))
20*1da177e4SLinus Torvalds #define __constant_cpu_to_le32(x) ((__force __le32)___constant_swab32((x)))
21*1da177e4SLinus Torvalds #define __constant_le32_to_cpu(x) ___constant_swab32((__force __u32)(__le32)(x))
22*1da177e4SLinus Torvalds #define __constant_cpu_to_le16(x) ((__force __le16)___constant_swab16((x)))
23*1da177e4SLinus Torvalds #define __constant_le16_to_cpu(x) ___constant_swab16((__force __u16)(__le16)(x))
24*1da177e4SLinus Torvalds #define __constant_cpu_to_be64(x) ((__force __be64)(__u64)(x))
25*1da177e4SLinus Torvalds #define __constant_be64_to_cpu(x) ((__force __u64)(__be64)(x))
26*1da177e4SLinus Torvalds #define __constant_cpu_to_be32(x) ((__force __be32)(__u32)(x))
27*1da177e4SLinus Torvalds #define __constant_be32_to_cpu(x) ((__force __u32)(__be32)(x))
28*1da177e4SLinus Torvalds #define __constant_cpu_to_be16(x) ((__force __be16)(__u16)(x))
29*1da177e4SLinus Torvalds #define __constant_be16_to_cpu(x) ((__force __u16)(__be16)(x))
30*1da177e4SLinus Torvalds #define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
31*1da177e4SLinus Torvalds #define __le64_to_cpu(x) __swab64((__force __u64)(__le64)(x))
32*1da177e4SLinus Torvalds #define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
33*1da177e4SLinus Torvalds #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
34*1da177e4SLinus Torvalds #define __cpu_to_le16(x) ((__force __le16)__swab16((x)))
35*1da177e4SLinus Torvalds #define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
36*1da177e4SLinus Torvalds #define __cpu_to_be64(x) ((__force __be64)(__u64)(x))
37*1da177e4SLinus Torvalds #define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
38*1da177e4SLinus Torvalds #define __cpu_to_be32(x) ((__force __be32)(__u32)(x))
39*1da177e4SLinus Torvalds #define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
40*1da177e4SLinus Torvalds #define __cpu_to_be16(x) ((__force __be16)(__u16)(x))
41*1da177e4SLinus Torvalds #define __be16_to_cpu(x) ((__force __u16)(__be16)(x))
42*1da177e4SLinus Torvalds 
43*1da177e4SLinus Torvalds static inline __le64 __cpu_to_le64p(const __u64 *p)
44*1da177e4SLinus Torvalds {
45*1da177e4SLinus Torvalds 	return (__force __le64)__swab64p(p);
46*1da177e4SLinus Torvalds }
47*1da177e4SLinus Torvalds static inline __u64 __le64_to_cpup(const __le64 *p)
48*1da177e4SLinus Torvalds {
49*1da177e4SLinus Torvalds 	return __swab64p((__u64 *)p);
50*1da177e4SLinus Torvalds }
51*1da177e4SLinus Torvalds static inline __le32 __cpu_to_le32p(const __u32 *p)
52*1da177e4SLinus Torvalds {
53*1da177e4SLinus Torvalds 	return (__force __le32)__swab32p(p);
54*1da177e4SLinus Torvalds }
55*1da177e4SLinus Torvalds static inline __u32 __le32_to_cpup(const __le32 *p)
56*1da177e4SLinus Torvalds {
57*1da177e4SLinus Torvalds 	return __swab32p((__u32 *)p);
58*1da177e4SLinus Torvalds }
59*1da177e4SLinus Torvalds static inline __le16 __cpu_to_le16p(const __u16 *p)
60*1da177e4SLinus Torvalds {
61*1da177e4SLinus Torvalds 	return (__force __le16)__swab16p(p);
62*1da177e4SLinus Torvalds }
63*1da177e4SLinus Torvalds static inline __u16 __le16_to_cpup(const __le16 *p)
64*1da177e4SLinus Torvalds {
65*1da177e4SLinus Torvalds 	return __swab16p((__u16 *)p);
66*1da177e4SLinus Torvalds }
67*1da177e4SLinus Torvalds static inline __be64 __cpu_to_be64p(const __u64 *p)
68*1da177e4SLinus Torvalds {
69*1da177e4SLinus Torvalds 	return (__force __be64)*p;
70*1da177e4SLinus Torvalds }
71*1da177e4SLinus Torvalds static inline __u64 __be64_to_cpup(const __be64 *p)
72*1da177e4SLinus Torvalds {
73*1da177e4SLinus Torvalds 	return (__force __u64)*p;
74*1da177e4SLinus Torvalds }
75*1da177e4SLinus Torvalds static inline __be32 __cpu_to_be32p(const __u32 *p)
76*1da177e4SLinus Torvalds {
77*1da177e4SLinus Torvalds 	return (__force __be32)*p;
78*1da177e4SLinus Torvalds }
79*1da177e4SLinus Torvalds static inline __u32 __be32_to_cpup(const __be32 *p)
80*1da177e4SLinus Torvalds {
81*1da177e4SLinus Torvalds 	return (__force __u32)*p;
82*1da177e4SLinus Torvalds }
83*1da177e4SLinus Torvalds static inline __be16 __cpu_to_be16p(const __u16 *p)
84*1da177e4SLinus Torvalds {
85*1da177e4SLinus Torvalds 	return (__force __be16)*p;
86*1da177e4SLinus Torvalds }
87*1da177e4SLinus Torvalds static inline __u16 __be16_to_cpup(const __be16 *p)
88*1da177e4SLinus Torvalds {
89*1da177e4SLinus Torvalds 	return (__force __u16)*p;
90*1da177e4SLinus Torvalds }
91*1da177e4SLinus Torvalds #define __cpu_to_le64s(x) __swab64s((x))
92*1da177e4SLinus Torvalds #define __le64_to_cpus(x) __swab64s((x))
93*1da177e4SLinus Torvalds #define __cpu_to_le32s(x) __swab32s((x))
94*1da177e4SLinus Torvalds #define __le32_to_cpus(x) __swab32s((x))
95*1da177e4SLinus Torvalds #define __cpu_to_le16s(x) __swab16s((x))
96*1da177e4SLinus Torvalds #define __le16_to_cpus(x) __swab16s((x))
97*1da177e4SLinus Torvalds #define __cpu_to_be64s(x) do {} while (0)
98*1da177e4SLinus Torvalds #define __be64_to_cpus(x) do {} while (0)
99*1da177e4SLinus Torvalds #define __cpu_to_be32s(x) do {} while (0)
100*1da177e4SLinus Torvalds #define __be32_to_cpus(x) do {} while (0)
101*1da177e4SLinus Torvalds #define __cpu_to_be16s(x) do {} while (0)
102*1da177e4SLinus Torvalds #define __be16_to_cpus(x) do {} while (0)
103*1da177e4SLinus Torvalds 
104*1da177e4SLinus Torvalds #include <linux/byteorder/generic.h>
105*1da177e4SLinus Torvalds 
106*1da177e4SLinus Torvalds #endif /* _LINUX_BYTEORDER_BIG_ENDIAN_H */
107