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