From 44b3af2b46046d485f33a45a8bf18ba5e6720c34 Mon Sep 17 00:00:00 2001 From: Quinn Date: Thu, 22 Jan 2026 12:20:54 +0100 Subject: [PATCH] Add differing integer types for integers with different endianess. This is inspired by the Linux kernel source code, and reduces endianess-related bugs. --- include/mcaselector-lite/types.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/mcaselector-lite/types.h b/include/mcaselector-lite/types.h index d04edbf..9c3dada 100644 --- a/include/mcaselector-lite/types.h +++ b/include/mcaselector-lite/types.h @@ -23,6 +23,19 @@ typedef __SIZE_TYPE__ usize; typedef __INTPTR_TYPE__ intptr; typedef __UINTPTR_TYPE__ uintptr; +#ifdef __CHECKER__ +#define BITWISE __attribute__((bitwise)) +#else +#define BITWISE +#endif + +typedef u16 BITWISE be16; +typedef u32 BITWISE be32; +typedef u64 BITWISE be64; +typedef u16 BITWISE le16; +typedef u32 BITWISE le32; +typedef u64 BITWISE le64; + #if __SIZEOF_SIZE_T__ == __SIZEOF_LONG_LONG__ typedef llong ssize; #elif __SIZEOF_SIZE_T__ == __SIZEOF_LONG__