Home | History | Annotate | Download | only in klibc
      1 /*
      2  * klibc/endian.h
      3  *
      4  * Like <endian.h>, but export only double-underscore symbols
      5  */
      6 
      7 #ifndef _KLIBC_ENDIAN_H
      8 #define _KLIBC_ENDIAN_H
      9 
     10 #define __LITTLE_ENDIAN		/* we're on i386, littleendian */
     11 
     12 /* Linux' asm/byteorder.h defines either __LITTLE_ENDIAN or
     13    __BIG_ENDIAN, but the glibc/BSD-ish macros expect both to be
     14    defined with __BYTE_ORDER defining which is actually used... */
     15 
     16 #if defined(__LITTLE_ENDIAN)
     17 # undef  __LITTLE_ENDIAN
     18 # define __LITTLE_ENDIAN 1234
     19 # define __BIG_ENDIAN    4321
     20 # define __PDP_ENDIAN    3412
     21 # define __BYTE_ORDER    __LITTLE_ENDIAN
     22 #elif defined(__BIG_ENDIAN)
     23 # undef  __BIG_ENDIAN
     24 # define __LITTLE_ENDIAN 1234
     25 # define __BIG_ENDIAN    4321
     26 # define __PDP_ENDIAN    3412
     27 # define __BYTE_ORDER    __BIG_ENDIAN
     28 #elif defined(__PDP_ENDIAN)
     29 # undef  __PDP_ENDIAN
     30 # define __LITTLE_ENDIAN 1234
     31 # define __BIG_ENDIAN    4321
     32 # define __PDP_ENDIAN    3412
     33 # define __BYTE_ORDER    __PDP_ENDIAN
     34 #else
     35 # error "Unknown byte order!"
     36 #endif
     37 
     38 #endif /* _KLIBC_ENDIAN_H */
     39