C POSIX library
The C POSIX library is a specification of a C standard library for POSIX systems. It was developed at the same time as the ANSI C standard. Some effort was made to make POSIX compatible with standard C; POSIX includes additional functions to those introduced in standard C. On the other hand, the 5 headers that were added to the C standard library with C11, were not likewise included in subsequent revisions of POSIX.
It may be included in any C++ project, however the C++ standard library may have its own implementation of certain features, such as <regex> rather than <regex.h>, <thread> rather than <pthread.h>, or <semaphore> rather than <semaphore.h>.
Header file
Description
First released
C Standard
<aio.h>
Asynchronous input and output
Issue 5
<arpa/inet.h>
Functions for manipulating numeric IP addresses (part of Berkeley sockets)
Issue 6
<assert.h>
Verify assumptions
Issue 1
ANSI (89)
<complex.h>
Complex Arithmetic, see C mathematical functions
Issue 6
C99
<cpio.h>
Magic numbers for the cpio archive format
Issue 3
<ctype.h>
Character types
Issue 1
ANSI (89)
<devctl.h>
Device control
Issue 8
<dirent.h>
Allows the opening and listing of directories
Issue 2
<dlfcn.h>
Dynamic linking
Issue 5
<errno.h>
Retrieving Error Number
Issue 1
ANSI (89)
<endian.h>
Endianness operations
Issue 8
<fcntl.h>
File opening, locking and other operations
Issue 1
<fenv.h>
Floating-Point Environment (FPE), see C mathematical functions
Issue 6
C99
<float.h>
Floating-point types, see C data types
Issue 4
ANSI (89)
<fmtmsg.h>
Message display structures
Issue 4
<fnmatch.h>
Filename matching
Issue 4
<ftw.h>
File tree traversal
Issue 1
<glob.h>
Pathname "globbing" (pattern-matching)
Issue 4
<grp.h>
User group information and control
Issue 1
<iconv.h>
Codeset conversion facility
Issue 4
<inttypes.h>
Fixed sized integer types, see C data types
Issue 5
C99
<iso646.h>
Alternative spellings, see C alternative tokens
Issue 5
NA1 (95)
<langinfo.h>
Language information constants – builds on C localization functions
Issue 2
<libgen.h>
Pathname manipulation
Issue 4
<libintl.h>
Internationalization
Issue 8
<limits.h>
Implementation-defined constants, see C data types
Issue 1
ANSI (89)
<locale.h>
Category macros, see C localization functions
Issue 3
ANSI (89)
<math.h>
Mathematical declarations, see C mathematical functions
Issue 1
ANSI (89)
<monetary.h>
String formatting of monetary units
Issue 4
<mqueue.h>
Message queue
Issue 5
<ndbm.h>
NDBM database operations
Issue 4
<net/if.h>
Listing of local network interfaces
Issue 6
<netdb.h>
Translating protocol and host names into numeric addresses (part of Berkeley sockets)
Issue 6
<netinet/in.h>
Defines Internet protocol and address family (part of Berkeley sockets)
Issue 6
<netinet/tcp.h>
Additional TCP control options (part of Berkeley sockets)
Issue 6
<nl_types.h>
Localization message catalog functions
Issue 2
<poll.h>
Asynchronous file descriptor multiplexing
Issue 4
<pthread.h>
Defines an API for creating and manipulating POSIX threads
Issue 5
<pwd.h>
passwd (user information) access and control
Issue 1
<regex.h>
Regular expression matching
Issue 4
<sched.h>
Execution scheduling
Issue 5
<search.h>
Search tables
Issue 1
<semaphore.h>
POSIX semaphores
Issue 5
<setjmp.h>
Stack environment declarations
Issue 1
ANSI (89)
<signal.h>
Signals, see C signal handling
Issue 1
ANSI (89)
<spawn.h>
Process spawning
Issue 6
<stdalign.h>
Alignment macros
Issue 8
C11
<stdarg.h>
Handle Variable Argument List
Issue 4
ANSI (89)
<stdatomic.h>
Atomic operations
Issue 8
C11
<stdbool.h>
Boolean type and values, see C data types
Issue 6
C99
<stddef.h>
Standard type definitions, see C data types
Issue 4
ANSI (89)
<stdint.h>
Integer types, see C data types
Issue 6
C99
<stdio.h>
Standard buffered input/output, see C file input/output
Issue 1
ANSI (89)
<stdlib.h>
Standard library definitions, see C standard library
Issue 3
ANSI (89)
<stdnoreturn.h>
The noreturn macro
Issue 8
C11
<string.h>
Several String Operations, see C string handling
Issue 1
ANSI (89)
<strings.h>
Case-insensitive string comparisons
Issue 4
<stropts.h>
Stream manipulation, including ioctl
Issue 4
<sys/ipc.h>
Inter-process communication (IPC)
Issue 2
<sys/mman.h>
Memory management, including POSIX shared memory and memory mapped files
Issue 4
<sys/msg.h>
POSIX message queues
Issue 2
<sys/resource.h>
Resource usage, priorities, and limiting
Issue 4
<sys/select.h>
Synchronous I/O multiplexing
Issue 6
<sys/sem.h>
XSI (SysV style) semaphores
Issue 2
<sys/shm.h>
XSI (SysV style) shared memory
Issue 2
<sys/socket.h>
Main Berkeley sockets header
Issue 6
<sys/stat.h>
File information (stat et al.)
Issue 1
<sys/statvfs.h>
File System information
Issue 4
<sys/time.h>
Time and date functions and structures
Issue 4
<sys/times.h>
File access and modification times
Issue 1
<sys/types.h>
Various data types used elsewhere
Issue 1
<sys/uio.h>
Vectored I/O operations
Issue 4
<sys/un.h>
Unix domain sockets
Issue 6
<sys/utsname.h>
Operating system information, including uname
Issue 1
<sys/wait.h>
Status of terminated child processes (see wait)
Issue 3
<syslog.h>
System error logging
Issue 4
<tar.h>
Magic numbers for the tar archive format
Issue 3
<termios.h>
Allows terminal I/O interfaces
Issue 3
<tgmath.h>
Type-Generic Macros, see C mathematical functions
Issue 6
C99
<threads.h>
ISO C threads
Issue 8
C11
<time.h>
Type-Generic Macros, see C date and time functions
Issue 1
ANSI (89)
<trace.h>
Tracing of runtime behavior (DEPRECATED)
Issue 6
<ucontext.h>
manipulate user context (REMOVED in POSIX.1-2008)
<ulimit.h>
Resource limiting (DEPRECATED in favor of <sys/resource.h>)
Issue 1
<unistd.h>
Various essential POSIX functions and constants
Issue 1
<utime.h>
inode access and modification times
Issue 3
<utmpx.h>
User accounting database functions
Issue 4
<wchar.h>
Wide-Character Handling, see C string handling
Issue 4
NA1 (95)
<wctype.h>
Wide-Character Classification and Mapping Utilities, see C character classification
Issue 5
NA1 (95)
<wordexp.h>
Word-expansion like the shell would perform
Issue 4