diff options
author | greg@kroah.com <greg@kroah.com> | 2004-10-05 18:51:53 -0700 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 21:37:02 -0700 |
commit | 60d1e263f0da2976938fa54efec88ab777a6b3c3 (patch) | |
tree | 94bfcc4279827a68f90f8b63c0d458ddc753c69b /klibc/include/endian.h | |
parent | a0622777688ad84ef3d789e0171cfb0ca3dc21d2 (diff) |
[PATCH] oops forgot to add the new klibc/include directory
Diffstat (limited to 'klibc/include/endian.h')
-rw-r--r-- | klibc/include/endian.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/klibc/include/endian.h b/klibc/include/endian.h new file mode 100644 index 0000000000..44f89ccbbc --- /dev/null +++ b/klibc/include/endian.h @@ -0,0 +1,42 @@ +/* + * endian.h + */ + +#ifndef _ENDIAN_H +#define _ENDIAN_H + +#include <klibc/compiler.h> +#include <asm/byteorder.h> + +/* Linux' asm/byteorder.h defines either __LITTLE_ENDIAN or + __BIG_ENDIAN, but the glibc/BSD-ish macros expect both to be + defined with __BYTE_ORDER defining which is actually used... */ + +#if defined(__LITTLE_ENDIAN) +# undef __LITTLE_ENDIAN +# define __LITTLE_ENDIAN 1234 +# define __BIG_ENDIAN 4321 +# define __PDP_ENDIAN 3412 +# define __BYTE_ORDER __LITTLE_ENDIAN +#elif defined(__BIG_ENDIAN) +# undef __BIG_ENDIAN +# define __LITTLE_ENDIAN 1234 +# define __BIG_ENDIAN 4321 +# define __PDP_ENDIAN 3412 +# define __BYTE_ORDER __BIG_ENDIAN +#elif defined(__PDP_ENDIAN) +# undef __PDP_ENDIAN +# define __LITTLE_ENDIAN 1234 +# define __BIG_ENDIAN 4321 +# define __PDP_ENDIAN 3412 +# define __BYTE_ORDER __PDP_ENDIAN +#else +# error "Unknown byte order!" +#endif + +#define LITTLE_ENDIAN __LITTLE_ENDIAN +#define BIG_ENDIAN __BIG_ENDIAN +#define PDP_ENDIAN __PDP_ENDIAN +#define BYTE_ORDER __BYTE_ORDER + +#endif /* _ENDIAN_H */ |