| Version 2 (modified by , 15 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
