POSIX stands for Portable Operating System Interface.
Institute of Electrical and Electronics Engineers (IEEE)
The POSIX standard was originally developed to improve the portability of applications in the UNIX environment. However,
POSIX is not limited to UNIX. Many other operating systems such as DEC OpenVMS and
Microsoft Windows NT, both support POSIX standards, especially IEEE Std. 1003.1-1990
(Revised in 1995) or POSIX.1, POSIX.1 provides a source-level C language application programming interface
Interface (API) to the service program of the operating system, such as reading and writing files. POSIX.1 has been standardized internationally
Organization (International Standards Organization, ISO) accepted, named as
ISO/IEC 9945-1:1990 standard.
Required header files defined by the POSIX standard (26 items)
<trace.h> ---------------------- time trace
The Single UNIX Specification is a superset of the POSIX.1 standard that defines some additional interfaces,
These interfaces extend the functionality of the basic POSIX.1 specification. The corresponding system interface corpus is called
X/Open System Interface (XSI, X/Open System Interface), XSI also defines the
Which optional parts of POSIX.1 must be supported to be considered XSI compliant. They include file synchronization,
Storage mapping file, storage protection and thread interface. Only XSI-compliant implementations can be called UNIX operations
operating system.
Commonly used header files in linux are as follows:
Header files defined by the POSIX standard
<dirent.h> directory entry
<fcntl.h> File Control
<fnmatch.h> filename match type
<glob.h> Pathname pattern matching type
<grp.h> group file
<netdb.h> Network database operations
<pwd.h> password file
<regex.h> Regular expression
<tar.h> TAR archive value
<termios.h> Terminal I/O
<unistd.h> symbolic constants
<utime.h> file time
<wordexp.h> Character expansion type
-------------------------
<arpa/inet.h> INTERNET definition
<net/if.h> Socket local interface
<netinet/in.h> INTERNET address family
<netinet/tcp.h> Transmission Control Protocol Definition
-------------------------
<sys/mman.h> Memory management declarations
<sys/select.h> Select function
<sys/socket.h> socket interface
<sys/stat.h> file status
<sys/times.h> Process time
<sys/types.h> Basic system data types
<sys/un.h> UNIX domain socket definitions
<sys/utsname.h> System name
<sys/wait.h> Process Control
------------------------------
POSIX-defined XSI extension headers
<cpio.h> cpio archive values
<dlfcn.h> Dynamic Linking
<fmtmsg.h> message display structure
<ftw.h> File Tree Walkthrough
<iconv.h> code set conversion utility
<langinfo.h> Language information constants
<libgen.h> pattern matching function definitions
<monetary.h> currency type
<ndbm.h> Database Operations
<nl_types.h> message classes
<poll.h> polling function
<search.h> Search table
<strings.h> String manipulation
<syslog.h> System error logging
<ucontext.h> User context
<ulimit.h> User limits
<utmpx.h> User Account Database
-----------------------------
<sys/ipc.h> IPC (Named Pipes)
<sys/msg.h> message queue
<sys/resource.h> Resource Operations
<sys/sem.h> Semaphores
<sys/shm.h> Shared storage
<sys/statvfs.h> file system information
<sys/time.h> time type
<sys/timeb.h> Additional date and time definitions
<sys/uio.h> Vector I/O Operations
------------------------------
Optional headers defined by POSIX
<aio.h> Asynchronous I/O
<mqueue.h> message queue
<pthread.h> thread
<sched.h> Execute scheduling
<semaphore.h> Semaphore
<spawn.h> Real-time spawn interface
<stropts.h> XSI STREAMS interface
<trace.h> Event tracing