Sortix
Sortix Download Manual Development Source Code News Blog More

os-test > basic > unistd

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.

unistd

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 24.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
§ _Fork aix: undeclared dragonfly: compile_error freebsd: good
exit: 0
haiku: compile_error hurd: good
exit: 0
linux: good
exit: 0
macos: undeclared managarm: compile_error minix: compile_error musl: good
exit: 0
netbsd: compile_error omnios: compile_error openbsd: undeclared redox: compile_error solaris: compile_error sortix: good
exit: 0
§ _exit aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ access aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ alarm aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
relibc: setitimer not implemented
SIGALARM did not occur: errno == 0
solaris: good
exit: 0
sortix: good
exit: 0
§ chdir aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ chown aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ close aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ confstr aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: compile_error openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ dup aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ dup2 aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ dup3 aix: undeclared dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: undeclared managarm: good
exit: 0
minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: good
exit: 0
§ execl aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ execle aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ execlp aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ execv aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ execve aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ execvp aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ faccessat aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: good
exit: 0
§ fchdir aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ fchown aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ fchownat aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: good
exit: 0
§ fexecve aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: compile_error hurd: good
exit: 0
linux: good
exit: 0
macos: undeclared managarm: bad
fexecve: ./fexecve: ENOSYS
exit: 127
minix: compile_error musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: undeclared redox: bad
ld.so: failed to locate './fexecve'
solaris: good
exit: 0
sortix: compile_error
§ fork aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ fpathconf aix: good
exit: 0
dragonfly: bad
fpathconf _PC_FILESIZEBITS: EINVAL
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: bad
fpathconf _PC_FILESIZEBITS: ENOSYS
minix: bad
fpathconf _PC_FILESIZEBITS: EINVAL
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ ftruncate aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
ftruncate: ENOENT
solaris: good
exit: 0
sortix: good
exit: 0
§ getcwd aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getegid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getentropy aix: undeclared dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: undeclared managarm: good
exit: 0
minix: compile_error musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: good
exit: 0
§ geteuid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getgid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getgroups aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: bad
getgroups: ENOSYS
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
relibc getgroups(0, Pointer { addr: 0x4, metadata: 0 }): not implemented
getgroups: ENOSYS
solaris: good
exit: 0
sortix: compile_error
§ gethostname aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getlogin aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: bad
getlogin: errno == 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
getlogin: ENOENT
solaris: good
exit: 0
sortix: good
exit: 0
§ getlogin_r aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: bad
getlogin_r: Unknown error code (?)
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: compile_error openbsd: good
exit: 0
redox: bad
getlogin_r: Unknown error -1
solaris: good
exit: 0
sortix: good
exit: 0
§ getopt aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getpgid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: compile_error musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getpgrp aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getpid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getppid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getsid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ getuid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ isatty aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ lchown aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ link aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: bad
link: EPERM
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ linkat aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: bad
linkat: EPERM
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: good
exit: 0
§ lseek aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ pathconf aix: good
exit: 0
dragonfly: bad
pathconf: .: _PC_FILESIZEBITS: EINVAL
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: bad
pathconf: .: _PC_FILESIZEBITS: EINVAL
minix: bad
pathconf: .: _PC_FILESIZEBITS: EINVAL
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ pause aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: good
exit: 0
§ pipe aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ pipe2 aix: undeclared dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: undeclared managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ posix_close aix: undeclared dragonfly: compile_error freebsd: undeclared haiku: compile_error hurd: compile_error linux: compile_error macos: undeclared managarm: compile_error minix: compile_error musl: good
exit: 0
netbsd: compile_error omnios: compile_error openbsd: undeclared redox: compile_error solaris: compile_error sortix: compile_error
§ pread aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
first write: ENOENT
solaris: good
exit: 0
sortix: good
exit: 0
§ pwrite aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
pwrite: ENOENT
solaris: good
exit: 0
sortix: good
exit: 0
§ read aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ readlink aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ readlinkat aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: good
exit: 0
§ rmdir aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ setegid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ seteuid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ setgid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ setpgid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: compile_error musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ setsid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: compile_error musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ setuid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ sleep aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ symlink aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ symlinkat aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: good
exit: 0
§ sysconf aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ tcgetpgrp aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: bad
tcgetpgrp: ENOTTY
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
TODO: ioctl TIOCSPTLCK
TODO: ioctl TIOCSCTTY
tcgetpgrp() != getpgid(0)
solaris: good
exit: 0
sortix: good
exit: 0
§ tcsetpgrp aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: bad
tcsetpgrp: ENOTTY
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
TODO: ioctl TIOCSPTLCK
TODO: ioctl TIOCSCTTY
solaris: good
exit: 0
sortix: good
exit: 0
§ truncate aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: bad
truncate: ENOSYS
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ ttyname aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: bad
ttyname: ENOTTY
openbsd: good
exit: 0
redox: bad
TODO: ioctl TIOCSPTLCK
TODO: ioctl TIOCSCTTY
solaris: good
exit: 0
sortix: good
exit: 0
§ ttyname_r aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: compile_error openbsd: good
exit: 0
redox: bad
TODO: ioctl TIOCSPTLCK
TODO: ioctl TIOCSCTTY
solaris: bad
ttyname_r: ERANGE
sortix: good
exit: 0
§ unlink aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
§ unlinkat aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: bad
unlinkat: ENOTEMPTY
minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: good
exit: 0
§ write aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
write: ENOENT
solaris: good
exit: 0
sortix: good
exit: 0
Optional: FSC
File Synchronization
§ fsync aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: good
exit: 0
Optional: OB XSI
Obsolescent and X/Open System Interfaces
§ encrypt aix: bad
setkey: ENOENT
dragonfly: good
exit: 0
freebsd: undeclared haiku: good
exit: 0
hurd: compile_error linux: compile_error macos: good
exit: 0
managarm: compile_error minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: compile_error openbsd: undeclared redox: compile_error solaris: compile_error sortix: compile_error
Optional: SIO
Synchronized Input and Output
§ fdatasync aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: compile_error musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: compile_error
Optional: XSI
X/Open System Interfaces
§ crypt aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: compile_error minix: undefined musl: good
exit: 0
netbsd: good
exit: 0
omnios: compile_error openbsd: bad
crypt: EINVAL
redox: bad
crypt: errno == 0
solaris: compile_error sortix: compile_error
§ gethostid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: compile_error hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: compile_error
§ getresgid aix: undeclared dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: compile_error hurd: good
exit: 0
linux: good
exit: 0
macos: undeclared managarm: bad
getresgid: ENOSYS
minix: compile_error musl: good
exit: 0
netbsd: compile_error omnios: compile_error openbsd: good
exit: 0
redox: good
exit: 0
solaris: compile_error sortix: compile_error
§ getresuid aix: undeclared dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: compile_error hurd: good
exit: 0
linux: good
exit: 0
macos: undeclared managarm: bad
getresuid: ENOSYS
minix: compile_error musl: good
exit: 0
netbsd: compile_error omnios: compile_error openbsd: good
exit: 0
redox: good
exit: 0
solaris: compile_error sortix: compile_error
§ lockf aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: bad
child lockf: errno == 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: bad
first lockf: EINVAL
solaris: good
exit: 0
sortix: compile_error
§ nice aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: bad
nice: ENOSYS
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: compile_error solaris: good
exit: 0
sortix: compile_error
§ setregid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: compile_error musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: compile_error
§ setresgid aix: undeclared dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: compile_error hurd: good
exit: 0
linux: good
exit: 0
macos: undeclared managarm: bad
getresgid: ENOSYS
minix: compile_error musl: good
exit: 0
netbsd: compile_error omnios: compile_error openbsd: good
exit: 0
redox: good
exit: 0
solaris: compile_error sortix: compile_error
§ setresuid aix: undeclared dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: compile_error hurd: good
exit: 0
linux: good
exit: 0
macos: undeclared managarm: bad
getresuid: ENOSYS
minix: compile_error musl: good
exit: 0
netbsd: compile_error omnios: compile_error openbsd: good
exit: 0
redox: good
exit: 0
solaris: compile_error sortix: compile_error
§ setreuid aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: compile_error musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: compile_error
§ swab aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: compile_error
§ sync aix: good
exit: 0
dragonfly: good
exit: 0
freebsd: good
exit: 0
haiku: good
exit: 0
hurd: good
exit: 0
linux: good
exit: 0
macos: good
exit: 0
managarm: good
exit: 0
minix: good
exit: 0
musl: good
exit: 0
netbsd: good
exit: 0
omnios: good
exit: 0
openbsd: good
exit: 0
redox: good
exit: 0
solaris: good
exit: 0
sortix: compile_error
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org