diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-07-05 19:55:04 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-07-05 19:55:21 +0200 |
commit | ad91f62a75c2f0e58f57dbe25d702ac6da9b239c (patch) | |
tree | b60a3d50f0412c88d9d874eb6303fbad8570048f /adk | |
parent | f1fbc971e786acdb48e030c97344299f3ace9eb9 (diff) |
allow to cross-compile x86_64 kernel on Darwin
Diffstat (limited to 'adk')
-rw-r--r-- | adk/include/endian.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/adk/include/endian.h b/adk/include/endian.h new file mode 100644 index 000000000..bba70abd8 --- /dev/null +++ b/adk/include/endian.h @@ -0,0 +1,40 @@ +#ifndef __endian_compat_h +#define __endian_compat_h + +#if defined(__linux__) || defined(__CYGWIN__) +#include <byteswap.h> +#include_next <endian.h> +#elif defined(__APPLE__) +#include <machine/endian.h> +#include <machine/byte_order.h> +#define bswap_16(x) NXSwapShort(x) +#define bswap_32(x) NXSwapInt(x) +#define bswap_64(x) NXSwapLongLong(x) +#elif defined(__FreeBSD__) +#include <sys/endian.h> +#define bswap_16(x) bswap16(x) +#define bswap_32(x) bswap32(x) +#define bswap_64(x) bswap64(x) +#elif defined(__OpenBSD__) +#include <sys/types.h> +#define bswap_16(x) __swap16(x) +#define bswap_32(x) __swap32(x) +#define bswap_64(x) __swap64(x) +#else +#include <machine/endian.h> +#define bswap_16(x) swap16(x) +#define bswap_32(x) swap32(x) +#define bswap_64(x) swap64(x) +#endif + +#ifndef __BYTE_ORDER +#define __BYTE_ORDER BYTE_ORDER +#endif +#ifndef __BIG_ENDIAN +#define __BIG_ENDIAN BIG_ENDIAN +#endif +#ifndef __LITTLE_ENDIAN +#define __LITTLE_ENDIAN LITTLE_ENDIAN +#endif + +#endif |