Date: Sat, 9 Jul 2022 18:26:37 +0200 From: Marc Veldman <marc@bumblingdork.com> To: freebsd-hackers@freebsd.org Subject: Canonical way / best practice for 128-bit integers Message-ID: <86CB4C22-9CAB-4578-8F11-962B4B08F756@bumblingdork.com>
next in thread | raw e-mail | index | archive | help
Hello, I=E2=80=99m working on some bluetooth code, and that involves handling = 128-bit uuids. There are various ways to handle in the FreeBSD codebase, like in sdp.h: /* * SDP int128/uint128 parameter */ =20 struct int128 { int8_t b[16]; }; typedef struct int128 int128_t; typedef struct int128 uint128_t; and in sys/dev/random/uint128.h #ifdef USE_REAL_UINT128_T typedef __uint128_t uint128_t; #define UINT128_ZERO 0ULL #else typedef struct { /* Ignore endianness */ uint64_t u128t_word0; uint64_t u128t_word1; } uint128_t; static const uint128_t very_long_zero =3D {0UL,0UL}; #define UINT128_ZERO very_long_zero #endif Is there any recommended / standard way to handle 128 bit integers in a = portable way? Best regards, Marc Veldman=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86CB4C22-9CAB-4578-8F11-962B4B08F756>