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 |