@node ioctl
@section @code{ioctl}
@findex ioctl

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/ioctl.html}

Gnulib module: ioctl

Portability problems fixed by Gnulib:
@itemize
@item
On Windows platforms (excluding Cygwin), @code{ioctl} is called
@code{ioctlsocket}, and error codes from this function are not placed in
@code{errno}, and @code{WSAGetLastError} must be used instead.
@item
The second parameter is of type @code{unsigned long} rather than @code{int}
on some platforms:
glibc 2.26, Mac OS X 10.5, FreeBSD 11.0, NetBSD 7.0, OpenBSD 6.0, Haiku 2017.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
Most @code{ioctl} requests are platform and hardware specific.
@end itemize
