diff options
| -rw-r--r-- | include/endian.h | 38 | 
1 files changed, 38 insertions, 0 deletions
| diff --git a/include/endian.h b/include/endian.h index 2f7bce100..0ba738463 100644 --- a/include/endian.h +++ b/include/endian.h @@ -55,4 +55,42 @@  # define __LONG_LONG_PAIR(HI, LO) HI, LO  #endif + +#ifdef __USE_BSD +/* Conversion interfaces.  */ +# include <byteswap.h> + +# if __BYTE_ORDER == __LITTLE_ENDIAN +#  define htobe16(x) __bswap_16 (x) +#  define htole16(x) (x) +#  define be16toh(x) __bswap_16 (x) +#  define le16toh(x) (x) + +#  define htobe32(x) __bswap_32 (x) +#  define htole32(x) (x) +#  define be32toh(x) __bswap_32 (x) +#  define le32toh(x) (x) + +#  define htobe64(x) __bswap_64 (x) +#  define htole64(x) (x) +#  define be64toh(x) __bswap_64 (x) +#  define le64toh(x) (x) +# else +#  define htobe16(x) (x) +#  define htole16(x) __bswap_16 (x) +#  define be16toh(x) (x) +#  define le16toh(x) __bswap_16 (x) + +#  define htobe32(x) (x) +#  define htole32(x) __bswap_32 (x) +#  define be32toh(x) (x) +#  define le32toh(x) __bswap_32 (x) + +#  define htobe64(x) (x) +#  define htole64(x) __bswap_64 (x) +#  define be64toh(x) (x) +#  define le64toh(x) __bswap_64 (x) +# endif +#endif +  #endif	/* endian.h */ | 
