summaryrefslogtreecommitdiff
path: root/doc/posix-functions/ioctl.texi
blob: d44d269959bc9542c5bea80303208cf1efb08fe0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@node ioctl
@section @code{ioctl}
@findex ioctl

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

LSB specification:
@itemize
@item
@url{https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-ioctl-2.html}
@item
@url{https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-ttyio-2.html}
@item
@url{https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-sockio-2.html}
@end itemize

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, macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Haiku 2017.
@end itemize

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