Date: Sun, 22 Oct 2017 05:59:41 +0200
From: Kamil Rytarowski <[email protected]>
Message-ID: <[email protected]>
| As far as I can tell, if something defines a namespace like
| _POSIX_SOURCE, it excludes _NETBSD_SOURCE. I've not researched the
| source of this mechanism, but this is my observation and common in 3rd
| party software.
Excludes by default, yes, it is from sys/featuretest.h (which is included
by just about every other standard header file.)
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
!defined(_XOPEN_SOURCE) && !defined(_NETBSD_SOURCE)
#define _NETBSD_SOURCE 1
#endif
That's where the _NETBSD_SOURCE definition normally comes from.
I'm not sure that case is important for the current issue though, as if
something is specifically defining _POSIX_SOURCE (or one of the other 2)
then it certainly should not be using ioctl() and if there are such
applications, and we break them, well, good...
kre