diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/byte_order.h | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/byte_order.h b/src/lib/byte_order.h index 9ee082af..364b06cc 100644 --- a/src/lib/byte_order.h +++ b/src/lib/byte_order.h @@ -49,7 +49,9 @@  #include <stdlib.h>  #ifdef __GLIBC__ -# include <endian.h> +#include <endian.h> +#elif defined(__FreeBSD__) +#include <sys/endian.h>  #endif  /* if x86 compatible cpu */ @@ -131,7 +133,8 @@ static inline uint32_t bswap_32(uint32_t x) {  #if defined(__GNUC__) && (__GNUC__ >= 4) && \          (__GNUC__ > 4 || __GNUC_MINOR__ >= 3)  #define bswap_64(x) __builtin_bswap64(x) -#elif !defined(__STRICT_ANSI__) +#elif !defined (bswap64) +#if !defined(__STRICT_ANSI__)  static inline uint64_t bswap_64(uint64_t x) {          union {                  uint64_t ll; @@ -145,6 +148,7 @@ static inline uint64_t bswap_64(uint64_t x) {  #else  #error "bswap_64 unsupported"  #endif +#endif  #ifdef CPU_BIG_ENDIAN  #define be2me_32(x) (x)  | 
