Summary of POSIX.1-2001 Options

Copyright 2002, Garrett A. Wollman. All rights reserved.
See permission notice below.

Code Option Name Requirement
ADV

Advisory Information

Related header files: fcntl.h, limits.h, stdlib.h, and sys/mman.h

optional
AIO

Asynchronous Input and Output

Related header files: aio.h and limits.h

optional
BE

Batch Environment Services and Utilities

Related utilities: qalter, qdel, qhold, qmove, qmsg, qrerun, qrls, qselect, qsig, qstat, and qsub

Subordinate Options
Code Option Name Requirement
N/A

Batch Accounting

optional
N/A

Batch Accounting

optional
N/A

Batch Checkpoint/Restart

optional
N/A

Batch Job Message Request

optional
N/A

Locate Batch Job Request

optional
N/A

Track Batch Job Request

optional

optional
N/A

C-Language Binding (1003.2-1992)

mandatory
CD

C-Language Development Utilities

Related utilities: c99, lex, yacc, and ctags

optional
CS

Clock Selection

Related header files: pthread.h and time.h

optional
FD

FORTRAN Development Utilities (1003.2-1992)

Related utilities: ctags and fort77

optional
FR

FORTRAN Runtime Utilities (1003.2-1992)

Related utilities: asa

optional
N/A

File Name Length Enforced (1003.1-1995)

mandatory-or-getconf
N/A

File Ownership Change Requires Privilege (1003.1-1995)

mandatory-or-getconf
FSC

File Synchronization

optional
MX

IEC 60559 Floating-Point

Related utilities: c99

optional
IP6

IP Version 6 Socket API

Related header files: arpa/inet.h, netinet/in.h, and sys/socket.h

optional
N/A

Job Control (1003.1-1995)

mandatory
N/A

Locale Creation Utilities

Related utilities: localedef

optional
MF

Memory Mapped Files

Related header files: sys/mman.h and sys/mman.h

optional
MPR

Memory Protection

Related header files: sys/mman.h

optional
MSG

Message Passing

Related header files: limits.h and mqueue.h

optional
MON

Monotonic Clock

Related header files: time.h

optional
PIO

Prioritized Input and Output

optional
CPT

Process CPU-Time Clocks

Related header files: time.h

optional
ML

Process Memory Locking

Related header files: sys/mman.h

optional
PS

Process Scheduling

Related header files: sched.h and spawn.h

optional
SS

Process Sporadic Server

Related header files: limits.h and sched.h

optional
MLR

Range Memory Locking

Related header files: sys/mman.h

optional
RS

Raw Sockets

Related header files: netinet/in.h and sys/socket.h

optional
RTS

Realtime Signals

Related header files: limits.h and signal.h

optional
N/A

Saved User and Group Ids (1003.1-1995)

mandatory
SEM

Semaphores

Related header files: limits.h and semaphore.h

optional
SHM

Shared Memory Objects

Related header files: sys/mman.h and sys/mman.h

optional
N/A

Shell

mandatory
SD

Software Development Utilities

Related utilities: ar, make, nm, and strip

optional
SPN

Spawn

Related header files: spawn.h

optional
SIO

Synchronized Input and Output

Related header files: fcntl.h, sys/mman.h, and unistd.h

optional
THR

Threads

Related header files: limits.h, pthread.h, signal.h, sys/types.h, and trace.h

Subordinate Options
Code Option Name Requirement
BAR

Barriers

Related header files: pthread.h, pthread.h, and sys/types.h

optional
N/A

Read-Write Locks

Related header files: pthread.h and sys/types.h

mandatory
SPI

Spin Locks

Related header files: pthread.h and sys/types.h

optional
TCT

Thread CPU-Time Clocks

Related header files: pthread.h and time.h

optional
TPS

Thread Execution Scheduling

Related header files: pthread.h

optional
TPI

Thread Priority Inheritance

Related header files: pthread.h

optional
TPP

Thread Priority Protection

Related header files: pthread.h

optional
TSH

Thread Process-Shared Synchronization

Related header files: pthread.h

optional
TSP

Thread Sporadic Server

Related header files: limits.h and sched.h

optional
TSA

Thread Stack Address

Related header files: pthread.h

optional
TSS

Thread Stack Size

Related header files: pthread.h

optional
TSF

Thread-Safe Functions

Related header files: dirent.h, grp.h, pwd.h, stdio.h, stdlib.h, string.h, and time.h

optional

optional
TMO

Timeouts

Related header files: mqueue.h, pthread.h, semaphore.h, and trace.h

optional
TMR

Timers

Related header files: limits.h, sys/types.h, and time.h

optional
TRC

Trace

Related header files: limits.h, sys/types.h, and trace.h

Subordinate Options
Code Option Name Requirement
TEF

Trace Event Filter

Related header files: sys/types.h and trace.h

optional
TRI

Trace Inherit

Related header files: trace.h

optional
TRL

Trace Log

Related header files: trace.h

optional

optional
TYM

Typed Memory Objects

Related header files: sys/mman.h and sys/stat.h

optional
UP

User Portability Utilities (1003.2-1992)

Related utilities: alias, at, batch, bg, command, crontab, split, ctags, df, du, ex, expand, fc, fg, file, jobs, man, mesg, more, newgrp, nice, patch, ps, renice, split, strings, tabs, talk, time, tput, unalias, unexpand, uudecode, uuencode, vi, who, and write

Subordinate Options
Code Option Name Requirement
N/A

Terminal Characteristics (1003.2-1992)

optional

optional
XSI

X/Open System Interfaces

Pre-requisites: File Synchronization, Memory Mapped Files, Memory Protection, Thread Stack Address, Thread Stack Size, Thread Process-Shared Synchronization, Thread-Safe Functions, Threads, C-Language Development Utilities, and User Portability Utilities

Related header files: sys/mman.h, cpio.h, ctype.h, dirent.h, dlfcn.h, fcntl.h, fmtmsg.h, ftw.h, grp.h, iconv.h, langinfo.h, libgen.h, limits.h, math.h, monetary.h, ndbm.h, nl_types.h, poll.h, pthread.h, pwd.h, search.h, setjmp.h, signal.h, stdint.h, stdio.h, stdlib.h, string.h, strings.h, sys/ipc.h, sys/msg.h, sys/resource.h, sys/sem.h, sys/stat.h, sys/statvfs.h, sys/time.h, sys/types.h, sys/uio.h, sys/wait.h, syslog.h, tar.h, termios.h, time.h, unistd.h, utmpx.h, wchar.h, and wordexp.h

Related utilities: ar, at, batch, cal, chmod, compress, crontab, date, dd, df, fuser, gencat, hash, ipcrm, ipcs, kill, link, ls, nl, nm, od, pr, ps, ps, tabs, test, tr, tsort, type, ulimit, uncompress, unlink, uucp, uustat, uux, who, xargs, and zcat

Subordinate Options
Code Option Name Requirement
N/A

XSI Development Utilities

Related utilities: admin, cflow, ctags, cxref, delta, get, m4, patch, prs, rmdel, sact, sccs, unget, val, and what

optional
N/A

XSI Encryption Option Group

Related header files: stdlib.h and unistd.h

optional
N/A

XSI Enhanced Internationalization

mandatory
N/A

XSI Legacy Option Group

Related header files: stdlib.h, strings.h, sys/time.h, sys/timeb.h, unistd.h, and wchar.h

optional
OB

XSI Obsolete Interfaces

Related header files: fnmatch.h, glob.h, regex.h, wordexp.h, ucontext.h, ulimit.h, and unistd.h

optional
N/A

XSI Realtime Option Group

Pre-requisites: Asynchronous Input and Output, Process Memory Locking, Range Memory Locking, Message Passing, Process Scheduling, Realtime Signals, Semaphores, Shared Memory Objects, Synchronized Input and Output, and Timers

Subordinate Options
Code Option Name Requirement
N/A

XSI Advanced Realtime Option Group

Pre-requisites: Advisory Information, Clock Selection, Process CPU-Time Clocks, Monotonic Clock, Spawn, Process Sporadic Server, Timeouts, and Typed Memory Objects

optional

optional
N/A

XSI Realtime Threads Option Group

Pre-requisites: Thread Priority Inheritance, Thread Priority Protection, and Thread Scheduling

Subordinate Options
Code Option Name Requirement
N/A

Advanced Realtime Threads

Pre-requisites: Barriers, Spin Locks, Thread CPU-Time Clocks, and Thread Sporadic Server

optional

optional
XSR

XSI STREAMS Option Group

Related header files: errno.h and stropts.h

optional
N/A

XSI Shared Memory (Issue 4, Release 2)

Related header files: sys/shm.h

Related utilities: ipcs

mandatory
N/A

XSI Tracing Option Group

Pre-requisites: Trace, Trace Event Filter, Trace Log, and Trace Inherit

optional

optional

Permission to distribute this document, in original or modified form, and to create and distribute derivative works, is hereby granted, subject to the condition that the preceding copyright notice, this statement of permission, and the following disclaimer be reproduced verbatim in all such copies.


This document is based on the author's reading of IEEE Std.1003.1-2001. It does not reflect any corrigenda as may from time to time be issued. This is an unofficial secondary source, defers to the published standard, and in all cases users are advised to examine the text of Standard before making any conclusions on the basis of this analysis. This document is supplied without warranty of any kind, express or implied, not even the implied warranties of merchantability and suitability for a particular purpose.