os-test > basic > stdio

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.

stdio

genode
Genode
§ asprintf genode: good
exit: 0
§ clearerr genode: good
exit: 0
§ ctermid genode: good
exit: 0
§ dprintf genode: good
exit: 0
§ fclose genode: good
exit: 0
§ fdopen genode: good
exit: 0
§ feof genode: good
exit: 0
§ ferror genode: good
exit: 0
§ fflush genode: good
exit: 0
§ fgetc genode: good
exit: 0
§ fgetpos genode: good
exit: 0
§ fgets genode: undefined
§ fileno genode: good
exit: 0
§ flockfile genode: good
exit: 0
§ fmemopen genode: undefined
§ fopen genode: good
exit: 0
§ fprintf genode: good
exit: 0
§ fputc genode: good
exit: 0
§ fputs genode: good
exit: 0
§ fread genode: good
exit: 0
§ freopen genode: bad
temporary file had wrong size
§ fscanf genode: undefined
§ fseek genode: good
exit: 0
§ fseeko genode: good
exit: 0
§ fsetpos genode: good
exit: 0
§ ftell genode: good
exit: 0
§ ftello genode: good
exit: 0
§ ftrylockfile genode: good
exit: 0
§ funlockfile genode: good
exit: 0
§ fwrite genode: good
exit: 0
§ getc genode: good
exit: 0
§ getc_unlocked genode: good
exit: 0
§ getchar genode: bad
puts: EBADF
§ getchar_unlocked genode: bad
puts: EBADF
§ getdelim genode: undefined
§ getline genode: undefined
§ open_memstream genode: good
exit: 0
§ pclose genode: bad
pclose: ENOENT
§ perror genode: good
exit: 0
§ popen genode: good
exit: 0
§ printf genode: bad
printf: EBADF
§ putc genode: good
exit: 0
§ putc_unlocked genode: good
exit: 0
§ putchar genode: bad
putchar: EBADF
§ putchar_unlocked genode: bad
putchar_unlocked: EBADF
§ puts genode: bad
puts: EBADF
§ remove genode: good
exit: 0
§ rename genode: good
exit: 0
§ renameat genode: undefined
§ rewind genode: good
exit: 0
§ scanf genode: bad
puts: EBADF
§ setbuf genode: good
exit: 0
§ setvbuf genode: good
exit: 0
§ snprintf genode: good
exit: 0
§ sprintf genode: good
exit: 0
§ sscanf genode: good
exit: 0
§ tmpfile genode: good
exit: 0
§ ungetc genode: undefined
§ vasprintf genode: good
exit: 0
§ vdprintf genode: good
exit: 0
§ vfprintf genode: good
exit: 0
§ vfscanf genode: undefined
§ vprintf genode: bad
vprintf: EBADF
§ vscanf genode: bad
puts: EBADF
§ vsnprintf genode: good
exit: 0
§ vsprintf genode: good
exit: 0
§ vsscanf genode: good
exit: 0
Optional: OB
Obsolescent
§ tmpnam genode: good
exit: 0