From 0bbc3ccabb7b460aa437e30b5c0244c25430aeb8 Mon Sep 17 00:00:00 2001 From: Alex James Date: Thu, 16 Dec 2021 20:07:52 -0600 Subject: commonlib: Add endian definitions for macOS macOS has never defined the usual endian(3)/byteorder(9) byte-swapping functions. This change implements these byte-swapping functions using the OSSwap functions, which provide identical functionality. This was tested on macOS 10.15.7. Change-Id: I44d59869a4420030f3ce26118175304c680d57a1 Signed-off-by: Alex James Reviewed-on: https://review.coreboot.org/c/coreboot/+/60219 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner Reviewed-by: Angel Pons --- src/commonlib/bsd/include/commonlib/bsd/sysincludes.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/commonlib/bsd') diff --git a/src/commonlib/bsd/include/commonlib/bsd/sysincludes.h b/src/commonlib/bsd/include/commonlib/bsd/sysincludes.h index 3a87cda1c4..2e539dafb5 100644 --- a/src/commonlib/bsd/include/commonlib/bsd/sysincludes.h +++ b/src/commonlib/bsd/include/commonlib/bsd/sysincludes.h @@ -1,6 +1,23 @@ /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only */ #if defined(__FreeBSD__) #include +#elif defined(__APPLE__) +#include + +#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 #include #endif -- cgit v1.2.3