diff options
Diffstat (limited to 'lib/portability.h')
-rw-r--r-- | lib/portability.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/portability.h b/lib/portability.h new file mode 100644 index 00000000..dca0ddea --- /dev/null +++ b/lib/portability.h @@ -0,0 +1,21 @@ +#include <endian.h> + +#if __BYTE_ORDER == __BIG_ENDIAN +#define IS_BIG_ENDIAN 1 +#define IS_LITTLE_ENDIAN 0 +#define SWAP_BE16(x) (x) +#define SWAP_BE32(x) (x) +#define SWAP_BE64(x) (x) +#define SWAP_LE16(x) bswap_16(x) +#define SWAP_LE32(x) bswap_32(x) +#define SWAP_LE64(x) bswap_64(x) +#else +#define IS_LITTLE_ENDIAN 1 +#define IS_BIG_ENDIAN 0 +#define SWAP_BE16(x) bswap_16(x) +#define SWAP_BE32(x) bswap_32(x) +#define SWAP_BE64(x) bswap_64(x) +#define SWAP_LE16(x) (x) +#define SWAP_LE32(x) (x) +#define SWAP_LE64(x) (x) +#endif |