os-test > include > sys_socket
Legend
| Outcomes | ||||||
|---|---|---|---|---|---|---|
| Good | Good | Missing optional | Outside libc | |||
| Partial | Extension | Previous posix | ||||
| Neutral | None | |||||
| Bad | Compile error | Incompatible | Missing header | Undeclared | Undefined reference | Unknown type |
Good. A cell is good if the declaration is present
in the header and can be linked with libc. This outcome means the test
succeeded with the appropriate -D_POSIX_C_SOURCE=202405 or
-D_XOPEN_SOURCE=800 feature macros and the standard
libraries libc, libpthread, libm, librt, and libxnet.
Missing optional. A cell is missing_optional if the test could not be compiled, but the declaration is optional in POSIX and need not be provided.
Outside libc. A cell is outside_libc if the test could be compiled, but had to be linked with another standard library than the ones prescribed by POSIX: libc, libpthread, libm, librt, and libxnet. This may not conform to POSIX depending on the linking options provided by getconf(1)/confstr(3).
Extension. A cell is extension if the test could
not be compiled with the _POSIX_C_SOURCE and
_XOPEN_SOURCE feature macros, but it could instead be
compiled with other system-specific feature macros that provide the
entire API. This outcome means the system header feature macro logic
does not support the latest POSIX.1-2024 standard and only receives
partial credit. This outcome typically indicates a declaration new to
POSIX.1-2024.
Previous posix. A cell is previous_posix if the
test could not be compiled with the
-D_POSIX_C_SOURCE=202405 or
-D_XOPEN_SOURCE=800 feature macros from the POSIX.1-2024
standard, but the test could instead be compiled with the older
-D_POSIX_C_SOURCE=200809L or
-D_XOPEN_SOURCE=700
feature macros from the older POSIX.1-2008 standard. This
outcome means the system header feature macro logic does not support
the latest POSIX.1-2024 standard and only receives partial credit. In
particular, the header did not check if the value was higher than the
supported value, but instead hard-coded the supported values, and
failed to be forward compatible with new standard versions.
None. A cell is none if there is no test data result for that operating system.
Compile error. A cell is compile_error if the test could not be compiled and the error message was not recognized as a more precise error test outcome.
Incompatible. A cell is incompatible if the declaration existed in the header, but had a signature that is incompatible with the standardized declaration. This outcome typically indicates a type error in the declaration. Addressing the issue may require an incompatible ABI change or special compatibility logic.
Missing header. A cell is missing_header if the header did not exist.
Undeclared. A cell is undeclared if the header did not contain the declaration.
Undefined reference. A cell is undefined if the test could be compiled, but could not be linked with the standard library.
Unknown type. A cell is unknown_type if the test could not be compiled and failed because a required type was not declared. In some cases, functions fail because the header omitted a required type for a function and instead declared the function in an alternate fashion with an incompatible alias for the type.
§. The § link on the left of each row links to that row.
sys_socket
| aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.3-RELEASE-p2 amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.16.12+deb14+1-amd64 x86_64 |
macos Darwin 21.6.0 arm64 |
managarm Managarm 0.0.1-rolling x86_64 |
minix Minix 3.4.0 i386 |
musl Linux 6.12.54-0-lts x86_64 |
netbsd NetBSD 10.1 amd64 |
omnios SunOS 5.11 i86pc |
openbsd OpenBSD 7.7 amd64 |
redox Redox 0.5.12 x86_64 |
solaris SunOS 5.11 sun4v |
sortix Sortix 1.1.0-dev x86_64 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| § AF_INET | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § AF_UNIX | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § AF_UNSPEC | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § CMSG_DATA | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § CMSG_FIRSTHDR | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § CMSG_LEN | aix: good | dragonfly: extension | freebsd: extension | haiku: good | hurd: good | linux: good | macos: extension | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § CMSG_NXTHDR | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § CMSG_SPACE | aix: good | dragonfly: extension | freebsd: extension | haiku: good | hurd: good | linux: good | macos: extension | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § MSG_CMSG_CLOEXEC | aix: undeclared | dragonfly: extension | freebsd: extension | haiku: good | hurd: undeclared | linux: good | macos: undeclared | managarm: good | minix: extension | musl: good | netbsd: extension | omnios: good | openbsd: good | redox: undeclared | solaris: good | sortix: good |
| § MSG_CMSG_CLOFORK | aix: undeclared | dragonfly: undeclared | freebsd: undeclared | haiku: good | hurd: undeclared | linux: undeclared | macos: undeclared | managarm: undeclared | minix: undeclared | musl: undeclared | netbsd: undeclared | omnios: good | openbsd: undeclared | redox: undeclared | solaris: good | sortix: good |
| § MSG_CTRUNC | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § MSG_DONTROUTE | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § MSG_EOR | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § MSG_NOSIGNAL | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: undeclared | solaris: good | sortix: good |
| § MSG_OOB | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § MSG_PEEK | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § MSG_TRUNC | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § MSG_WAITALL | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SCM_RIGHTS | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SHUT_RD | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SHUT_RDWR | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SHUT_WR | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SOCK_CLOEXEC | aix: undeclared | dragonfly: extension | freebsd: extension | haiku: good | hurd: good | linux: good | macos: undeclared | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: extension | redox: good | solaris: extension | sortix: good |
| § SOCK_CLOFORK | aix: undeclared | dragonfly: undeclared | freebsd: undeclared | haiku: good | hurd: undeclared | linux: undeclared | macos: undeclared | managarm: undeclared | minix: undeclared | musl: undeclared | netbsd: undeclared | omnios: good | openbsd: undeclared | redox: undeclared | solaris: extension | sortix: good |
| § SOCK_DGRAM | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SOCK_NONBLOCK | aix: undeclared | dragonfly: extension | freebsd: extension | haiku: good | hurd: good | linux: good | macos: undeclared | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: extension | redox: good | solaris: extension | sortix: good |
| § SOCK_SEQPACKET | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SOCK_STREAM | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SOL_SOCKET | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SOMAXCONN | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_ACCEPTCONN | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_BROADCAST | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_DEBUG | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_DOMAIN | aix: undeclared | dragonfly: undeclared | freebsd: extension | haiku: undeclared | hurd: undeclared | linux: extension | macos: undeclared | managarm: good | minix: undeclared | musl: good | netbsd: undeclared | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_DONTROUTE | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_ERROR | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_KEEPALIVE | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_LINGER | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_OOBINLINE | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_PROTOCOL | aix: undeclared | dragonfly: undeclared | freebsd: extension | haiku: undeclared | hurd: undeclared | linux: extension | macos: undeclared | managarm: good | minix: undeclared | musl: good | netbsd: undeclared | omnios: good | openbsd: good | redox: good | solaris: undeclared | sortix: good |
| § SO_RCVBUF | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_RCVLOWAT | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_RCVTIMEO | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_REUSEADDR | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_SNDBUF | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_SNDLOWAT | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_SNDTIMEO | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § SO_TYPE | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § accept | aix: undeclared | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: previous_posix | sortix: good |
| § accept4 | aix: undeclared | dragonfly: extension | freebsd: extension | haiku: outside_libc | hurd: extension | linux: extension | macos: undeclared | managarm: good | minix: undeclared | musl: good | netbsd: good | omnios: outside_libc | openbsd: extension | redox: undeclared | solaris: extension | sortix: good |
| § bind | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § connect | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § getpeername | aix: undeclared | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: previous_posix | sortix: good |
| § getsockname | aix: undeclared | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: previous_posix | sortix: good |
| § getsockopt | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: previous_posix | sortix: good |
| § listen | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § recv | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § recvfrom | aix: undeclared | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: previous_posix | sortix: good |
| § recvmsg | aix: undeclared | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § sa_family_t | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § send | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § sendmsg | aix: undeclared | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § sendto | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § setsockopt | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § shutdown | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § size_t | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § sockatmark | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: undeclared | solaris: good | sortix: good |
| § socket | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § socketpair | aix: good | dragonfly: good | freebsd: good | haiku: outside_libc | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § socklen_t | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § ssize_t | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-cmsghdr | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-cmsghdr-cmsg_len | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: incompatible | macos: good | managarm: incompatible | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-cmsghdr-cmsg_level | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-cmsghdr-cmsg_type | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-iovec | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-linger | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-linger-l_linger | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-linger-l_onoff | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-msghdr | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-msghdr-msg_control | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: previous_posix | sortix: good |
| § struct-msghdr-msg_controllen | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: incompatible | macos: good | managarm: incompatible | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: previous_posix | sortix: good |
| § struct-msghdr-msg_flags | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: previous_posix | sortix: good |
| § struct-msghdr-msg_iov | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-msghdr-msg_iovlen | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: incompatible | macos: good | managarm: incompatible | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: incompatible | solaris: good | sortix: good |
| § struct-msghdr-msg_name | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-msghdr-msg_namelen | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-sockaddr | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-sockaddr-sa_data | aix: good | dragonfly: good | freebsd: good | haiku: incompatible | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-sockaddr-sa_family | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-sockaddr_storage | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: extension | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
| § struct-sockaddr_storage-ss_family | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: extension | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
|
Optional: IP6 IPV6 |
||||||||||||||||
| § AF_INET6 | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |
|
Optional: RS Raw Sockets |
||||||||||||||||
| § SOCK_RAW | aix: good | dragonfly: good | freebsd: good | haiku: good | hurd: good | linux: good | macos: good | managarm: good | minix: good | musl: good | netbsd: good | omnios: good | openbsd: good | redox: good | solaris: good | sortix: good |