include/bsd/sys


Log

Author Commit Date CI Message
Guillem Jover fe21244b 2022-12-20T22:47:02 include: Use __has_builtin to detect __builtin_offsetof support The __has_builtin operator is more specific and is supported by GCC and Clang, while __is_identifier() is less specific and only supported by Clang, so we should prefer the former whenever it is available, and only fallback to use the latter when the former is missing and the latter.
Guillem Jover 1c3ff616 2021-02-09T02:46:49 Use uintptr_t and size_t instead of __-prefixed types in <sys/cdefs.h> The __-prefixed types cannot be assumed to be defined. Use the standard types instead. Closes: #6
Faidon Liambotis 46760262 2021-02-07T20:47:00 Update <sys/queue.h> from FreeBSD This brings <sys/queue.h> to the most up-to-date version from FreeBSD, incorporating 18 commits from the past 5 years (2015-02-24 - 2021-01-25): $ git log --oneline 9090a24aed70..8d55837dc133 sys/sys/queue.h share/man/man3/queue.3 Only minimal changes compared to the FreeBSD version have been applied (queue.3 -> queue.3bsd, _LIBBSD_ prefix). [guillem@hadrons.org: Remove reference to kernel mode in man page. ] Closes: !12 Signed-off-by: Guillem Jover <guillem@hadrons.org>
Aaron Dierking 48033408 2018-06-14T11:38:32 Provide a <sys/param.h> with MIN() and MAX() Windows doesn't provide <sys/param.h>. Several libbsd sources require it for MIN(), and these are useful non-system-specific macros anyway. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Aaron Dierking 7cfa2d45 2018-06-14T11:38:31 Correct Clang feature detection Clang's __GNUC__ and __GNUC_MINOR__ definitions are not reliable and may not be defined at all when targeting the MSVC ABI. Use feature-checking macros when possible or check for __clang__. [guillem@hadrons.org: Update for __ protected keyword change. ] Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 574c7a13 2018-06-18T00:36:44 Protect C language extensions with two leading and trailing underscores This should make their usage safer against user macros.
Aaron Dierking c2d9d840 2018-06-14T11:38:32 Guard non-portable forwarded includes These headers are not available on Windows. <bsd/sys/cdefs.h> ensures that __has_include() and __has_include_next() are defined. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover bf697b90 2018-05-22T15:43:48 Add symbol redirection support We need this to be able to select different version symbols at compile-time.
Guillem Jover 30b4d507 2018-05-21T03:00:47 Add __arraycount() macro from NetBSD
Guillem Jover 1f8a3f7b 2018-03-06T01:39:45 Fix function declaration protection for glibc already providing them On non-glibc based systems we cannot unconditionally use the __GLIBC_PREREQ macro as it gets expanded before evaluation. Instead, if it is undefined, define it to 0. We should also always declare these functions on non-glibc based systems. And on systems with a new enough glibc, which provides these functions, we should still provide the declarations if _GNU_SOURCE is *not* defined. Reported-by: Jörg Krause <joerg.krause@embedded.rocks>
Guillem Jover 11ec8f1e 2018-03-06T01:41:35 Handle systems missing <sys/cdefs.h> This is a non-portable header, and we cannot expect it to be provided by the system libc (e.g. musl). We just need and rely on declaration that we have defined ourselves in our own <bsd/sys/cdefs.h>. So we switch to only ever assume that. Fixes: https://bugs.freedesktop.org/105281
Adam Lackorzynski 9afc7100 2017-12-03T16:46:19 Fix <sys/cdefs.h> for gcc with no __has_include or __has_include_next support Fixes: https://bugs.freedesktop.org/103396 Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 0071b979 2017-06-05T05:43:26 Import <sys/time.h> for some of its macros Fixes: https://bugs.freedesktop.org/94320
Guillem Jover ec5d9a68 2017-06-14T02:44:37 Namespace header inclusion protection macros Use LIBBSD_, and remove trailing underscores.
Guillem Jover db7470b0 2017-01-10T04:27:25 Gracefully handle lack of system <sys/cdefs.h> This is the case on musl. Fixes: https://bugs.debian.org/810589
Guillem Jover 337e6202 2017-01-10T04:24:35 Support GCC deprecated attribute for GCC older than 4.5 Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99190 Based-on-patch-by: Eric Smith <brouhaha@fedoraproject.org>
Guillem Jover 6bcb1312 2015-12-07T02:45:52 Relicense my contribution to BSD-2-clause This avoids having two licenses on the same file.
Guillem Jover c7e01e98 2014-11-01T00:22:28 Sync queue(3) from FreeBSD Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=85147
Guillem Jover 32671144 2014-11-01T00:21:30 Add __offsetof, __rangeof and __containerof to sys/cdefs.h Import and adapt from FreeBSD.
Guillem Jover 0e4e3ab2 2014-11-01T00:20:23 Add __DECONST, __DEVOLATILE and __DEQUALIFY macros to sys/cdefs.h Import from FreeBSD.
Guillem Jover e7f39760 2012-03-23T10:31:42 Add email address to my name
Robert Millan 4eab0cc3 2012-01-03T05:29:36 Add inline endian encoding/decoding functions Taken from FreeBSD. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 866f73af 2012-01-03T05:39:22 Move overlay inclusions outside of header protection Glibc tends to include standard headers with special definitions that make few declarations or macros visible, this stomps over the overlay #include_next <> logic. Based-on-patch-by: Robert Millan <rmh@debian.org>
Guillem Jover a7dd4457 2011-05-27T21:13:18 Add new <bsd/sys/poll.h> header
Guillem Jover cd4996ce 2011-05-27T21:23:18 Namespace header protector in <bsd/sys/cdefs.h> with LIBBSD_SYS_
Guillem Jover 8be40010 2011-05-27T20:37:10 Add new <bsd/sys/endian.h> header
Guillem Jover e1f2a6f8 2011-05-25T21:27:58 Add new __packed, __aligned and __nonnull attributes
Guillem Jover 87dd203c 2011-05-25T21:27:12 Define __dead2 and __pure2 to actual gcc attributes if possible
Guillem Jover de206287 2011-05-25T21:25:54 Define <sys/cdefs.h> attributes conditional to the supported gcc version
Guillem Jover 71e5db4c 2011-05-25T21:02:40 Define _SYS_CDEFS_H and _SYS_CDEFS_H after including <sys/cdefs.h> This makes sure the “standard” inclusion protectors are in place, as at least some FreeBSD kernel headers expect these to be defined to do some sanity checks.
Guillem Jover 17a9a847 2011-05-25T07:36:19 Rename transparent support to overlay This affects the pkg-config file now named libbsd-overlay.pc, and the macro to use the overlay LIBBSD_OVERLAY.
Guillem Jover 9baf9640 2011-02-22T20:19:37 Add new <bsd/sys/bitstring.h> header Taken from FreeBSD.
Guillem Jover 520682e5 2011-02-23T14:04:57 Add support for transparent compilation This means that software being ported should not need to be modified in the usual case, as the libbsd headers will take over the standard namespace and fill the missing gaps, and include the system headers. To use this the new libbsd-transparent.pc file can be used through pkg-config, which should end up doing the right thing.
Guillem Jover 3fed78e5 2010-01-10T00:37:03 Replace setproctitle dummy macro with a function stub This way we can replace it later on with a real implementation so that applications can immediately benefit from it w/o the need to recompile them.
Thorsten Glaser a5dbef45 2009-12-10T21:02:30 Make RCS macros take arguments This was breaking code actually using those macros. Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
Thorsten Glaser 27842d7f 2009-12-10T21:00:45 Track bug IDs for __unused collision Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
Guillem Jover 614eb040 2009-10-12T01:43:02 Add new <bsd/sys/tree.h> header
Guillem Jover b6e84690 2009-10-12T01:47:54 Move <bsd/queue.h> to <bsd/sys/queue.h> This maps more closely the location of the real header. For transitional purposes keep a <bsd/queue.h> that warns and includes <bsd/sys/queue.h>.
Guillem Jover d3e14ea9 2009-10-23T23:04:42 Move <bsd/cdefs.h> to <bsd/sys/cdefs.h> This maps more closely the location of the real header. For transitional purposes keep a <bsd/cdefs.h> that warns and includes <bsd/sys/cdefs.h>.