mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-05 11:44:31 +00:00
* git subrepo clone git@github.com:Thar0/com-plugin.git tools/com-plugin subrepo: subdir: "tools/com-plugin" merged: "e8543312d" upstream: origin: "git@github.com:Thar0/com-plugin.git" branch: "main" commit: "e8543312d" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "110b9eb" * ique-cn OK * Review suggestions * Most suggestions * git subrepo pull tools/com-plugin subrepo: subdir: "tools/com-plugin" merged: "81595ed1c" upstream: origin: "git@github.com:Thar0/com-plugin.git" branch: "main" commit: "81595ed1c" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "110b9eb" * Fix other versions
67 lines
1.6 KiB
C
67 lines
1.6 KiB
C
#ifndef ENDIAN_H
|
|
#define ENDIAN_H
|
|
|
|
#if defined(__linux__) || defined(__CYGWIN__)
|
|
#include <endian.h>
|
|
#elif defined(__APPLE__)
|
|
#include <libkern/OSByteOrder.h>
|
|
|
|
#define htobe16(x) OSSwapHostToBigInt16(x)
|
|
#define htole16(x) OSSwapHostToLittleInt16(x)
|
|
#define be16toh(x) OSSwapBigToHostInt16(x)
|
|
#define le16toh(x) OSSwapLittleToHostInt16(x)
|
|
|
|
#define htobe32(x) OSSwapHostToBigInt32(x)
|
|
#define htole32(x) OSSwapHostToLittleInt32(x)
|
|
#define be32toh(x) OSSwapBigToHostInt32(x)
|
|
#define le32toh(x) OSSwapLittleToHostInt32(x)
|
|
|
|
#define htobe64(x) OSSwapHostToBigInt64(x)
|
|
#define htole64(x) OSSwapHostToLittleInt64(x)
|
|
#define be64toh(x) OSSwapBigToHostInt64(x)
|
|
#define le64toh(x) OSSwapLittleToHostInt64(x)
|
|
#else
|
|
|
|
#if !defined(__BYTE_ORDER__)
|
|
#error "No endian define provided by compiler"
|
|
#endif
|
|
|
|
#if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
|
|
|
|
#define htobe16(x) (x)
|
|
#define htole16(x) __builtin_bswap16(x)
|
|
#define be16toh(x) (x)
|
|
#define le16toh(x) __builtin_bswap16(x)
|
|
|
|
#define htobe32(x) (x)
|
|
#define htole32(x) __builtin_bswap32(x)
|
|
#define be32toh(x) (x)
|
|
#define le32toh(x) __builtin_bswap32(x)
|
|
|
|
#define htobe64(x) (x)
|
|
#define htole64(x) __builtin_bswap64(x)
|
|
#define be64toh(x) (x)
|
|
#define le64toh(x) __builtin_bswap64(x)
|
|
|
|
#else
|
|
|
|
#define htobe16(x) __builtin_bswap16(x)
|
|
#define htole16(x) (x)
|
|
#define be16toh(x) __builtin_bswap16(x)
|
|
#define le16toh(x) (x)
|
|
|
|
#define htobe32(x) __builtin_bswap32(x)
|
|
#define htole32(x) (x)
|
|
#define be32toh(x) __builtin_bswap32(x)
|
|
#define le32toh(x) (x)
|
|
|
|
#define htobe64(x) __builtin_bswap64(x)
|
|
#define htole64(x) (x)
|
|
#define be64toh(x) __builtin_bswap64(x)
|
|
#define le64toh(x) (x)
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|