Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8959efff authored by Elliott Hughes's avatar Elliott Hughes Committed by android-build-merger
Browse files

Merge "Use as much of the macOS endian support as we can."

am: e5abcddf

Change-Id: I4f0d5f330a9e9fc447a3696c6dfc254ce8b38e3d
parents a548cdd7 e5abcddf
Loading
Loading
Loading
Loading
+15 −10
Original line number Diff line number Diff line
@@ -41,23 +41,28 @@

#else

/* Mac OS and Windows have nothing. */

#define __LITTLE_ENDIAN 1234
#if defined(__APPLE__)
/* macOS has some of the basics. */
#include <sys/_endian.h>
#else
/* Windows really has nothing. */
#define LITTLE_ENDIAN __LITTLE_ENDIAN

#define __BIG_ENDIAN 4321
#define BIG_ENDIAN __BIG_ENDIAN

#define __BYTE_ORDER __LITTLE_ENDIAN
#define BYTE_ORDER __BYTE_ORDER

#define htons(x) __builtin_bswap16(x)
#define htonl(x) __builtin_bswap32(x)
#define htonq(x) __builtin_bswap64(x)

#define ntohs(x) __builtin_bswap16(x)
#define ntohl(x) __builtin_bswap32(x)
#endif

/* Neither macOS nor Windows have the rest. */

#define __LITTLE_ENDIAN 1234
#define __BIG_ENDIAN 4321
#define __BYTE_ORDER __LITTLE_ENDIAN

#define htonq(x) __builtin_bswap64(x)

#define ntohq(x) __builtin_bswap64(x)

#define htobe16(x) __builtin_bswap16(x)