| #ifndef _TOOLS_ENDIAN_H |
| #define _TOOLS_ENDIAN_H |
| |
| #include <byteswap.h> |
| |
| #if __BYTE_ORDER == __LITTLE_ENDIAN |
| |
| #ifndef htole16 |
| #define htole16(x) (x) |
| #endif |
| #ifndef htole32 |
| #define htole32(x) (x) |
| #endif |
| #ifndef htole64 |
| #define htole64(x) (x) |
| #endif |
| |
| #ifndef le16toh |
| #define le16toh(x) (x) |
| #endif |
| |
| #ifndef le32toh |
| #define le32toh(x) (x) |
| #endif |
| |
| #ifndef le64toh |
| #define le64toh(x) (x) |
| #endif |
| |
| #else /* __BYTE_ORDER */ |
| |
| #ifndef htole16 |
| #define htole16(x) __bswap_16(x) |
| #endif |
| #ifndef htole32 |
| #define htole32(x) __bswap_32(x) |
| #endif |
| #ifndef htole64 |
| #define htole64(x) __bswap_64(x) |
| #endif |
| |
| #ifndef le16toh |
| #define le16toh(x) __bswap_16(x) |
| #endif |
| |
| #ifndef le32toh |
| #define le32toh(x) __bswap_32(x) |
| #endif |
| |
| #ifndef le64toh |
| #define le64toh(x) __bswap_64(x) |
| #endif |
| |
| #endif |
| |
| #endif /* _TOOLS_ENDIAN_H */ |