This is a reference of the POSIX functions which are not part of the Standard C Library.
The POSIX 1003.1 specification was developed at the same time as the ANSI C standard. Although the POSIX standard is language-independent it is closely related to C and UNIX. Some effort was made to ensure that the C and POSIX libraries were compatible, but in fact there are functions which are part of the POSIX standard but were never introduced into ANSI C.
This is a very condensed list, consult your operating system's man-pages for a detailed information about each function.
#include <unistd.h>
char *getcwd(char *buf, size_t size);
int mkdir(const char *pathname, mode_t mode);
int rmdir(const char *pathname);
int chdir(const char *path);
int link(const char *oldpath, const char *newpath);
int unlink(const char *pathname);
int rename(const char *oldpath, const char *newpath);
int stat(const char *file_name, struct stat *buf);
int chmod(const char *path, mode_t mode);
int chown(const char *path, uid_t owner, gid_t group);
int utime(const char *filename, struct utimbuf *buf);
DIR *opendir(const char *name);
struct dirent *readdir(DIR *dir);
int closedir(DIR *dir);
void rewinddir(DIR *dir);
#include <unistd.h>
int access(const char *pathname, int mode);
int open(const char *pathname, int flags);
int creat(const char *pathname, mode_t mode);
int close(int fd);
ssize_t read(int fd, void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);
int fcntl(int fd, int cmd);
int fstat(int filedes, struct stat *buf);
off_t lseek(int fildes, off_t offset, int whence);
int dup(int oldfd);
int dup2(int oldfd, int newfd);
int pipe(int filedes[2]);
int mkfifo ( const char *pathname, mode_t mode );
mode_t umask(mode_t mask);
FILE *fdopen (int fildes, const char *mode);
int fileno( FILE *stream);
#include <unistd.h>
pid_t fork(void);
int execl( const char *path, const char *arg, ...);
execle
int execlp( const char *file, const char *arg, ...);
int execv( const char *path, char *const argv[]);
execve
int execvp( const char *file, char *const argv[]);
pid_t waitpid(pid_t pid, int *status, int options);
pid_t waitpid(pid_t pid, int *status, int options);
void _exit(int status);
int kill(pid_t pid, int sig);
unsigned int sleep(unsigned int seconds);
int pause(void);
unsigned int alarm(unsigned int seconds);
setuid
setgid
#include <setjmp.h>
int setjmp(jmp_buf env);
int sigsetjmp(sigjmp_buf env, int savesigs);
void longjmp(jmp_buf env, int val);
void siglongjmp(sigjmp_buf env, int val);
#include <signal.h>
struct sigaction *oldact);
int sigemptyset(sigset_t *set);
int sigfillset(sigset_t *set);
int sigaddset(sigset_t *set, int signum);
int sigdelset(sigset_t *set, int signum);
int sigismember(const sigset_t *set, int signum);
sigprocmask
int sigpending(sigset_t *set);
int sigsuspend(const sigset_t *mask);
#include <unistd.h>
#include <pwd.h>
#include <grp.h>
pid_t getpid(void);
pid_t getppid(void);
char * getlogin ( void );
uid_t getuid(void);
uid_t geteuid(void);
char * cuserid ( char *string );
gid_t getgid(void);
gid_t getegid(void);
struct passwd *getpwuid(uid_t uid);
struct passwd *getpwnam(const char * name);
struct group *getgrgid(gid_t gid);
struct group *getgrnam(const char *name);
int getgroups(int size, gid_t list[]);
char *ctermid(char *s);
int uname(struct utsname *buf);
char *getenv(const char *name);
long sysconf(int name);
long fpathconf(int filedes, int name);
long fpathconf(int filedes, int name);
int isatty ( int desc );
char *ttyname ( int desc );
clock_t times(struct tms *buf);
void tzset (void);
#include <termios.h>
int tcgetattr ( int fd, struct termios *termios_p );
tcsetattr
int tcdrain ( int fd );
int tcflow ( int fd, int action );
int tcflush ( int fd, int queue_selector );
int tcsendbreak ( int fd, int duration );
speed_t cfgetispeed ( struct termios *termios_p );
speed_t cfgetospeed ( struct termios *termios_p );
cfsetispeed
cfsetospeed
pid_t tcgetpgrp ( int fd );
int tcsetpgrp ( int fd, pid_t pgrpid );
#include <unistd.h>
pid_t setsid(void);
int setpgid(pid_t pid, pid_t pgid);
pid_t getpgrp(void);