|
|
@@ -37,4 +37,52 @@
|
|
|
#define __LITTLE_ENDIAN LITTLE_ENDIAN
|
|
|
#endif
|
|
|
|
|
|
+#ifndef __linux__
|
|
|
+#if __BYTE_ORDER == __LITTLE_ENDIAN
|
|
|
+#define htobe16(x) bswap_16(x)
|
|
|
+#define be16toh(x) bswap_16(x)
|
|
|
+#define htobe32(x) bswap_32(x)
|
|
|
+#define be32toh(x) bswap_32(x)
|
|
|
+#define htobe64(x) bswap_64(x)
|
|
|
+#define be64toh(x) bswap_64(x)
|
|
|
+#define htole16(x) (uint16_t)(x)
|
|
|
+#define le16toh(x) (uint16_t)(x)
|
|
|
+#define htole32(x) (uint32_t)(x)
|
|
|
+#define le32toh(x) (uint32_t)(x)
|
|
|
+#define htole64(x) (uint64_t)(x)
|
|
|
+#define le64toh(x) (uint64_t)(x)
|
|
|
+#else
|
|
|
+#define htobe16(x) (uint16_t)(x)
|
|
|
+#define be16toh(x) (uint16_t)(x)
|
|
|
+#define htobe32(x) (uint32_t)(x)
|
|
|
+#define be32toh(x) (uint32_t)(x)
|
|
|
+#define htobe64(x) (uint64_t)(x)
|
|
|
+#define be64toh(x) (uint64_t)(x)
|
|
|
+#define htole16(x) bswap_16(x)
|
|
|
+#define le16toh(x) bswap_16(x)
|
|
|
+#define htole32(x) bswap_32(x)
|
|
|
+#define le32toh(x) bswap_32(x)
|
|
|
+#define htole64(x) bswap_64(x)
|
|
|
+#define le64toh(x) bswap_64(x)
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
|
|
+#if __BYTE_ORDER == __LITTLE_ENDIAN
|
|
|
+#define betoh16(x) bswap_16(x)
|
|
|
+#define betoh32(x) bswap_32(x)
|
|
|
+#define betoh64(x) bswap_64(x)
|
|
|
+#define letoh16(x) (uint16_t)(x)
|
|
|
+#define letoh32(x) (uint32_t)(x)
|
|
|
+#define letoh64(x) (uint64_t)(x)
|
|
|
+#else
|
|
|
+#define betoh16(x) (uint16_t)(x)
|
|
|
+#define betoh32(x) (uint32_t)(x)
|
|
|
+#define betoh64(x) (uint64_t)(x)
|
|
|
+#define letoh16(x) bswap_16(x)
|
|
|
+#define letoh32(x) bswap_32(x)
|
|
|
+#define letoh64(x) bswap_64(x)
|
|
|
+#endif
|
|
|
+#endif
|
|
|
+#endif
|
|
|
+
|
|
|
#endif
|