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

genode
Genode
§ _Fork genode: compile_error
§ _exit genode: good
exit: 0
§ access genode: good
exit: 0
§ alarm genode: good
exit: 0
§ chdir genode: good
exit: 0
§ chown genode: bad
chown: ENOSYS
§ close genode: good
exit: 0
§ confstr genode: good
exit: 0
§ dup genode: good
exit: 0
§ dup2 genode: good
exit: 0
§ dup3 genode: bad
dup3: EINVAL
§ execl genode: good
exit: 0
§ execle genode: good
exit: 0
§ execlp genode: good
exit: 0
§ execv genode: good
exit: 0
§ execve genode: good
exit: 0
§ execvp genode: good
exit: 0
§ faccessat genode: undefined
§ fchdir genode: good
exit: 0
§ fchown genode: bad
fchown: ENOSYS
§ fchownat genode: undefined
§ fexecve genode: undefined
§ fork genode: good
exit: 0
§ fpathconf genode: bad
fpathconf _PC_FILESIZEBITS: ENOSYS
§ ftruncate genode: good
exit: 0
§ getcwd genode: good
exit: 0
§ getegid genode: good
exit: 0
§ getentropy genode: good
exit: 0
§ geteuid genode: good
exit: 0
§ getgid genode: good
exit: 0
§ getgroups genode: bad
getgroups: ENOSYS
§ gethostname genode: good
exit: 0
§ getlogin genode: bad
getlogin: ENOSYS
§ getlogin_r genode: good
exit: 0
§ getopt genode: good
exit: 0
§ getpgid genode: undefined
§ getpgrp genode: bad
getpgrp: ENOSYS
§ getpid genode: good
exit: 0
§ getppid genode: bad
getppid: ENOSYS
§ getsid genode: bad
getsid: ENOSYS
§ getuid genode: good
exit: 0
§ isatty genode: good
exit: 0
§ lchown genode: bad
lchown: ENOSYS
§ link genode: bad
link: ENOSYS
§ linkat genode: undefined
§ lseek genode: good
exit: 0
§ pathconf genode: bad
pathconf: .: _PC_FILESIZEBITS: ENOSYS
§ pause genode: bad
pause: ENOSYS
§ pipe genode: good
exit: 0
§ pipe2 genode: good
exit: 0
§ posix_close genode: compile_error
§ pread genode: good
exit: 0
§ pwrite genode: good
exit: 0
§ read genode: good
exit: 0
§ readlink genode: good
exit: 0
§ readlinkat genode: undefined
§ rmdir genode: good
exit: 0
§ setegid genode: bad
setegid: ENOSYS
§ seteuid genode: bad
seteuid: ENOSYS
§ setgid genode: bad
setgid: ENOSYS
§ setpgid genode: undefined
§ setsid genode: undefined
§ setuid genode: bad
setuid: ENOSYS
§ sleep genode: good
exit: 0
§ symlink genode: good
exit: 0
§ symlinkat genode: undefined
§ sysconf genode: good
exit: 0
§ tcgetpgrp genode: undefined
§ tcsetpgrp genode: undefined
§ truncate genode: bad
truncate: ENOSYS
§ ttyname genode: undefined
§ ttyname_r genode: undefined
§ unlink genode: good
exit: 0
§ unlinkat genode: undefined
§ write genode: good
exit: 0
Optional: FSC
File Synchronization
§ fsync genode: good
exit: 0
Optional: OB XSI
Obsolescent and X/Open System Interfaces
§ encrypt genode: compile_error
Optional: SIO
Synchronized Input and Output
§ fdatasync genode: good
exit: 0
Optional: XSI
X/Open System Interfaces
§ crypt genode: bad
crypt: ENOSYS
§ gethostid genode: good
exit: 0
§ getresgid genode: undefined
§ getresuid genode: undefined
§ lockf genode: bad
first lockf: ENOSYS
§ nice genode: bad
nice: ENOSYS
§ setregid genode: bad
setregid: ENOSYS
§ setresgid genode: undefined
§ setresuid genode: undefined
§ setreuid genode: bad
setreuid: ENOSYS
§ swab genode: good
exit: 0
§ sync genode: good
exit: 0