Version 2 (modified by 14 years ago) ( diff ) | ,
---|
This document serves as an overview of HelenOS standard user space API implemented in HelenOS C library and the relation of this API to common standards such as "C Standard Library" (as defined by various ISO C standards, such as C99) and C POSIX Library standards.
General note: The primary aim of HelenOS C library is not a to be 100% compatible with the standards. For both many fundamental reasons (HelenOS is not an unix-like operating system) and practical reasons (our subjective dislike of some aspects of the standards, security issues, etc.) the HelenOS C library follows the standards very loosely. Many functions are not implemented because lack of current need or simple because lack of manpower and many functions closely resemble their standard-compliant counterparts, but behave very slightly differently.
unistd.h
Implemented functions:
Function | Based on | Std Compliant | Note |
chdir | POSIX-1-2001 | mostly | |
close | POSIX-1.2001 | mostly | |
dup2 | POSIX-1.2001 | mostly | |
exit | POSIX-1.2001, C89, C99 | mostly | should be defined in stdlib.h by POSIX |
fsync | POSIX.1-2001 | partially | non-standard semantics |
ftruncate | POSIX.1-2001 | partially | the absolute offset is aoff64_t |
getcwd | POSIX.1-2001 | mostly | |
lseek | POSIX.1-2001 | partially | relative offset is off64_t |
read | POSIX.1-2001 | mostly | |
rmdir | POSIX.1-2001 | mostly | |
sleep | POSIX.1-2001 | mostly | |
unlink | POSIX.1-2001 | mostly | |
usleep | POSIX.1-2001 | mostly | obsoleted and replaced by nanosleep in POSIX.1-2008 |
write | POSIX.1-2001 | mostly |
Unimplemented functions:
TBD