| Index: src/common/mac/byteswap.h
|
| diff --git a/src/common/mac/byteswap.h b/src/common/mac/byteswap.h
|
| index a5d745b3cad5e27b79884e81609d49132d960a01..b7bbc0b95bbd8c3c4fb1615ca8fb0b76b9d37453 100644
|
| --- a/src/common/mac/byteswap.h
|
| +++ b/src/common/mac/byteswap.h
|
| @@ -36,6 +36,7 @@
|
| #ifndef COMMON_MAC_BYTESWAP_H_
|
| #define COMMON_MAC_BYTESWAP_H_
|
|
|
| +#ifdef __APPLE__
|
| #include <libkern/OSByteOrder.h>
|
|
|
| static inline uint16_t ByteSwap(uint16_t v) { return OSSwapInt16(v); }
|
| @@ -45,4 +46,28 @@ static inline int16_t ByteSwap(int16_t v) { return OSSwapInt16(v); }
|
| static inline int32_t ByteSwap(int32_t v) { return OSSwapInt32(v); }
|
| static inline int64_t ByteSwap(int64_t v) { return OSSwapInt64(v); }
|
|
|
| +#elif defined(__linux__)
|
| +// For NXByteOrder
|
| +#include <architecture/byte_order.h>
|
| +#include <stdint.h>
|
| +#include <endian.h>
|
| +#include_next <byteswap.h>
|
| +
|
| +static inline uint16_t ByteSwap(uint16_t v) { return bswap_16(v); }
|
| +static inline uint32_t ByteSwap(uint32_t v) { return bswap_32(v); }
|
| +static inline uint64_t ByteSwap(uint64_t v) { return bswap_64(v); }
|
| +static inline int16_t ByteSwap(int16_t v) { return bswap_16(v); }
|
| +static inline int32_t ByteSwap(int32_t v) { return bswap_32(v); }
|
| +static inline int64_t ByteSwap(int64_t v) { return bswap_64(v); }
|
| +
|
| +static inline NXByteOrder NXHostByteOrder() {
|
| +#ifdef __LITTLE_ENDIAN
|
| + return NX_LittleEndian;
|
| +#else
|
| + return NX_BigEndian;
|
| +#endif
|
| +}
|
| +
|
| +#endif // __APPLE__
|
| +
|
| #endif // COMMON_MAC_BYTESWAP_H_
|
|
|