15921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#ifndef _UAPI_LINUX_BYTEORDER_BIG_ENDIAN_H
25921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define _UAPI_LINUX_BYTEORDER_BIG_ENDIAN_H
35921e6f8809b1616932ca4afd40fe449faa8fd88David Howells
45921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#ifndef __BIG_ENDIAN
55921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __BIG_ENDIAN 4321
65921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#endif
75921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#ifndef __BIG_ENDIAN_BITFIELD
85921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __BIG_ENDIAN_BITFIELD
95921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#endif
105921e6f8809b1616932ca4afd40fe449faa8fd88David Howells
115921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#include <linux/types.h>
125921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#include <linux/swab.h>
135921e6f8809b1616932ca4afd40fe449faa8fd88David Howells
145921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_htonl(x) ((__force __be32)(__u32)(x))
155921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_ntohl(x) ((__force __u32)(__be32)(x))
165921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_htons(x) ((__force __be16)(__u16)(x))
175921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_ntohs(x) ((__force __u16)(__be16)(x))
185921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_cpu_to_le64(x) ((__force __le64)___constant_swab64((x)))
195921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_le64_to_cpu(x) ___constant_swab64((__force __u64)(__le64)(x))
205921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_cpu_to_le32(x) ((__force __le32)___constant_swab32((x)))
215921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_le32_to_cpu(x) ___constant_swab32((__force __u32)(__le32)(x))
225921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_cpu_to_le16(x) ((__force __le16)___constant_swab16((x)))
235921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_le16_to_cpu(x) ___constant_swab16((__force __u16)(__le16)(x))
245921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_cpu_to_be64(x) ((__force __be64)(__u64)(x))
255921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_be64_to_cpu(x) ((__force __u64)(__be64)(x))
265921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_cpu_to_be32(x) ((__force __be32)(__u32)(x))
275921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_be32_to_cpu(x) ((__force __u32)(__be32)(x))
285921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_cpu_to_be16(x) ((__force __be16)(__u16)(x))
295921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __constant_be16_to_cpu(x) ((__force __u16)(__be16)(x))
305921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
315921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __le64_to_cpu(x) __swab64((__force __u64)(__le64)(x))
325921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
335921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
345921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_le16(x) ((__force __le16)__swab16((x)))
355921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
365921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_be64(x) ((__force __be64)(__u64)(x))
375921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
385921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_be32(x) ((__force __be32)(__u32)(x))
395921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
405921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_be16(x) ((__force __be16)(__u16)(x))
415921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __be16_to_cpu(x) ((__force __u16)(__be16)(x))
425921e6f8809b1616932ca4afd40fe449faa8fd88David Howells
435921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __le64 __cpu_to_le64p(const __u64 *p)
445921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
455921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return (__force __le64)__swab64p(p);
465921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
475921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __u64 __le64_to_cpup(const __le64 *p)
485921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
495921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return __swab64p((__u64 *)p);
505921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
515921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __le32 __cpu_to_le32p(const __u32 *p)
525921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
535921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return (__force __le32)__swab32p(p);
545921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
555921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __u32 __le32_to_cpup(const __le32 *p)
565921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
575921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return __swab32p((__u32 *)p);
585921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
595921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __le16 __cpu_to_le16p(const __u16 *p)
605921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
615921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return (__force __le16)__swab16p(p);
625921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
635921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __u16 __le16_to_cpup(const __le16 *p)
645921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
655921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return __swab16p((__u16 *)p);
665921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
675921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __be64 __cpu_to_be64p(const __u64 *p)
685921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
695921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return (__force __be64)*p;
705921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
715921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __u64 __be64_to_cpup(const __be64 *p)
725921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
735921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return (__force __u64)*p;
745921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
755921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __be32 __cpu_to_be32p(const __u32 *p)
765921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
775921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return (__force __be32)*p;
785921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
795921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __u32 __be32_to_cpup(const __be32 *p)
805921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
815921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return (__force __u32)*p;
825921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
835921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __be16 __cpu_to_be16p(const __u16 *p)
845921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
855921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return (__force __be16)*p;
865921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
875921e6f8809b1616932ca4afd40fe449faa8fd88David Howellsstatic inline __u16 __be16_to_cpup(const __be16 *p)
885921e6f8809b1616932ca4afd40fe449faa8fd88David Howells{
895921e6f8809b1616932ca4afd40fe449faa8fd88David Howells	return (__force __u16)*p;
905921e6f8809b1616932ca4afd40fe449faa8fd88David Howells}
915921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_le64s(x) __swab64s((x))
925921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __le64_to_cpus(x) __swab64s((x))
935921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_le32s(x) __swab32s((x))
945921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __le32_to_cpus(x) __swab32s((x))
955921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_le16s(x) __swab16s((x))
965921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __le16_to_cpus(x) __swab16s((x))
975921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_be64s(x) do { (void)(x); } while (0)
985921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __be64_to_cpus(x) do { (void)(x); } while (0)
995921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_be32s(x) do { (void)(x); } while (0)
1005921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __be32_to_cpus(x) do { (void)(x); } while (0)
1015921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __cpu_to_be16s(x) do { (void)(x); } while (0)
1025921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#define __be16_to_cpus(x) do { (void)(x); } while (0)
1035921e6f8809b1616932ca4afd40fe449faa8fd88David Howells
1045921e6f8809b1616932ca4afd40fe449faa8fd88David Howells
1055921e6f8809b1616932ca4afd40fe449faa8fd88David Howells#endif /* _UAPI_LINUX_BYTEORDER_BIG_ENDIAN_H */
106