Chromium Code Reviews| Index: src/common/mac/byteswap.h |
| diff --git a/src/common/mac/byteswap.h b/src/common/mac/byteswap.h |
| index a5d745b3cad5e27b79884e81609d49132d960a01..e6ec8955fffbc2e85fc63786e73fa87a7e7b2b5b 100644 |
| --- a/src/common/mac/byteswap.h |
| +++ b/src/common/mac/byteswap.h |
| @@ -36,7 +36,9 @@ |
| #ifndef COMMON_MAC_BYTESWAP_H_ |
| #define COMMON_MAC_BYTESWAP_H_ |
| -#include <libkern/OSByteOrder.h> |
| +#include <architecture/byte_order.h> |
|
Mark Mentovai
2015/09/11 15:49:50
The top of this header says
* Please note that t
Ted Mielczarek
2015/09/15 12:58:36
Done.
|
| + |
| +#ifdef __APPLE__ |
| static inline uint16_t ByteSwap(uint16_t v) { return OSSwapInt16(v); } |
| static inline uint32_t ByteSwap(uint32_t v) { return OSSwapInt32(v); } |
| @@ -45,4 +47,26 @@ 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__) |
| +#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_ |