8 #include <klibc/compiler.h>
9 #include <asm/byteorder.h>
11 /* Linux' asm/byteorder.h defines either __LITTLE_ENDIAN or
12 __BIG_ENDIAN, but the glibc/BSD-ish macros expect both to be
13 defined with __BYTE_ORDER defining which is actually used... */
15 #if defined(__LITTLE_ENDIAN)
16 # undef __LITTLE_ENDIAN
17 # define __LITTLE_ENDIAN 1234
18 # define __BIG_ENDIAN 4321
19 # define __PDP_ENDIAN 3412
20 # define __BYTE_ORDER __LITTLE_ENDIAN
21 #elif defined(__BIG_ENDIAN)
23 # define __LITTLE_ENDIAN 1234
24 # define __BIG_ENDIAN 4321
25 # define __PDP_ENDIAN 3412
26 # define __BYTE_ORDER __BIG_ENDIAN
27 #elif defined(__PDP_ENDIAN)
29 # define __LITTLE_ENDIAN 1234
30 # define __BIG_ENDIAN 4321
31 # define __PDP_ENDIAN 3412
32 # define __BYTE_ORDER __PDP_ENDIAN
34 # error "Unknown byte order!"
37 #define LITTLE_ENDIAN __LITTLE_ENDIAN
38 #define BIG_ENDIAN __BIG_ENDIAN
39 #define PDP_ENDIAN __PDP_ENDIAN
40 #define BYTE_ORDER __BYTE_ORDER
42 #endif /* _ENDIAN_H */