wiki:StandardAPI

Version 2 (modified by Martin Decky, 14 years ago) ( diff )

implemented functions in unistd.h

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

Note: See TracWiki for help on using the wiki.