<sect1 id="std-posix"> <title>Compatibility with POSIX.1</title> <para>The following functions are compatible with POSIX.1:</para> <sect2><title>Process Primitives (Section 3) </title><para> fork, execl, execle, execlp, execv, execve, execvp, wait, waitpid, _exit, kill, sigemptyset, sigfillset, sigaddset, sigdelset, sigismember, sigaction, pthread_sigmask, sigprocmask, sigpending, sigsuspend, alarm, pause, sleep, pthread_kill, pthread_sigmask </para></sect2> <sect2><title>Process Environment (Section 4) </title><para> getpid, getppid, getuid, geteuid, getgid, getegid, setuid, setgid, getgroups, getlogin, getpgrp, setsid, setpgid, uname, time, times, getenv, ctermid, ttyname, isatty, sysconf </para></sect2> <sect2><title>Files and Directories (Section 5) </title><para> opendir, readdir, rewinddir, closedir, chdir, getcwd, open, creat, umask, link, mkdir, unlink, rmdir, rename, stat, fstat, access, chmod, fchmod, chown, utime, ftruncate, pathconf, fpathconf </para></sect2> <sect2><title>Input and Output Primitives (Section 6) </title><para> pipe, dup, dup2, close, read, write, fcntl, lseek, fsync </para></sect2> <sect2><title>Device- and Class-Specific Functions (Section 7) </title><para> cfgetispeed, cfgetospeed, cfsetispeed, cfsetospeed, tcdrain, tcflow, tcflush, tcgetattr, tcgetpgrp, tcsendbreak, tcsetattr, tcsetpgrp </para></sect2> <sect2><title>Language-Specific Services for the C Programming Language (Section 8) </title><para> abort, exit, fclose, fdopen, fflush, fgetc, fgets, fileno, fopen, fprintf, fputc, fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar, gets, perror, printf, putc, putchar, puts, remove, rewind, scanf, setlocale, siglongjmp, sigsetjmp, tmpfile, tmpnam, tzset </para></sect2> <sect2><title>System Databases (Section 9) </title><para> getgrgid, getgrnam, getpwnam, getpwuid </para></sect2> <sect2><title>Synchronization (Section 11) </title><para> sem_init, sem_destroy, sem_wait, sem_trywait, sem_post, pthread_mutex_init, pthread_mutex_destroy, pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock </para></sect2> <sect2><title>Memory Management (Section 12) </title><para> mmap, mprotect, msync, munmap </para></sect2> <sect2><title>Thread Management (Section 16) </title><para> pthread_attr_init, pthread_attr_destroy, pthread_attr_setstacksize, pthread_attr_getstacksize, pthread_create, pthread_exit, pthread_self, pthread_equal </para></sect2> <sect2><title>Thread-Specific Data Functions (Section 17) </title><para> pthread_key_create, pthread_setspecific, pthread_getspecific, pthread_key_delete </para></sect2> <sect2><title>Implementation Details</title> <para><function>setuid</function> and <function>setgid</function> always return ENOSYS.</para> <para><function>link</function> will copy the file if it can't implement a true symbolic link. Currently, symbolic links work, if at all, only under Windows NT.</para> <para><function>chown</function> always returns zero.</para> <para><function>fcntl</function> doesn't support F_GETLK - it returns -1 and sets errno to ENOSYS.</para> <para><function>lseek</function> only works properly on binary files.</para> </sect2> </sect1>