1 #ifndef _APPLE_ENDIAN_H 2 #define _APPLE_ENDIAN_H 3 4 /* 5 * Shims to make Apple's endian headers and macros compatible 6 * with <sys/endian.h> (which is awful). 7 */ 8 9 # include <libkern/OSByteOrder.h> 10 11 # define _LITTLE_ENDIAN 0x12345678 12 # define _BIG_ENDIAN 0x87654321 13 14 # ifdef __LITTLE_ENDIAN__ 15 # define _BYTE_ORDER _LITTLE_ENDIAN 16 # endif 17 # ifdef __BIG_ENDIAN__ 18 # define _BYTE_ORDER _BIG_ENDIAN 19 # endif 20 21 # define htole32(x) OSSwapHostToLittleInt32(x) 22 # define le32toh(x) OSSwapLittleToHostInt32(x) 23 24 # define htobe32(x) OSSwapHostToBigInt32(x) 25 # define be32toh(x) OSSwapBigToHostInt32(x) 26 27 #endif /* _APPLE_ENDIAN_H */ 28