Version 3 (modified by 8 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 (items marked wit D have been removed in the development version):
Function | Based on | Std Compliant | Note |
chdir (D) | POSIX-1-2001 | mostly | |
close (D) | POSIX-1.2001 | mostly | |
dup2 (D) | POSIX-1.2001 | mostly | |
exit | POSIX-1.2001, C89, C99 | mostly | should be defined in stdlib.h by POSIX |
fsync (D) | POSIX.1-2001 | partially | non-standard semantics |
ftruncate (D) | POSIX.1-2001 | partially | the absolute offset is aoff64_t |
getcwd (D) | POSIX.1-2001 | mostly | |
lseek (D) | POSIX.1-2001 | partially | relative offset is off64_t |
read (D) | POSIX.1-2001 | mostly | |
rmdir (D) | POSIX.1-2001 | mostly | |
sleep | POSIX.1-2001 | mostly | |
unlink (D) | POSIX.1-2001 | mostly | |
usleep | POSIX.1-2001 | mostly | obsoleted and replaced by nanosleep in POSIX.1-2008 |
write (D) | POSIX.1-2001 | mostly |
Unimplemented functions:
TBD