diff options
Diffstat (limited to 'lib/common/Box.h')
-rw-r--r-- | lib/common/Box.h | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/lib/common/Box.h b/lib/common/Box.h index c988e296..eb33673c 100644 --- a/lib/common/Box.h +++ b/lib/common/Box.h @@ -134,21 +134,19 @@ inline uint64_t box_swap64(uint64_t x) #ifdef WORDS_BIGENDIAN #define box_hton64(x) (x) #define box_ntoh64(x) (x) -#else +#elif defined(HAVE_BSWAP64) #ifdef HAVE_SYS_ENDIAN_H #include <sys/endian.h> - // betoh64 (OpenBSD) is sometimes called be64toh (FreeBSD, NetBSD). - // Rather than check for it just reuse htobe64 since they are symmetrical - #define box_hton64(x) htobe64(x) - #define box_ntoh64(x) htobe64(x) - #elif HAVE_ASM_BYTEORDER_H + #endif + #ifdef HAVE_ASM_BYTEORDER_H #include <asm/byteorder.h> - #define box_hton64(x) __cpu_to_be64(x) - #define box_ntoh64(x) __be64_to_cpu(x) - #else - #define box_hton64(x) box_swap64(x) - #define box_ntoh64(x) box_swap64(x) #endif + + #define box_hton64(x) BSWAP64(x) + #define box_ntoh64(x) BSWAP64(x) +#else + #define box_hton64(x) box_swap64(x) + #define box_ntoh64(x) box_swap64(x) #endif #endif // BOX__H |