On 22/07/2019 14:44, Florian Weimer wrote: > * Szabolcs Nagy: > >> (note: in musl these ioctl macros are in sys/ioctl.h >> which is not a posix header so namespace rules are >> less strict than for sys/socket.h and users tend to >> include it for ioctl()) > > <sys/ioctl.h> can be confusing because some of the constants may depend > on types that aren't declared by including the header. This makes their > macros unusable. Defining ioctl constants in headers which also provide > the matching types avoids that problem at least, also it can introduce > namespace issues. yeah, the way we deal with that is we hard code the numbers since the size of struct is abi, they cannot change.