The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group
Rationale: Detailed ToC
Rationale for Base Definitions
Introduction
Scope
Scope of IEEE Std 1003.1-2001
POSIX.1 and the ISO C Standard
FIPS Requirements
Conformance
Normative References
Terminology
conformance document
implementation-defined
may
shall
should
obsolescent
legacy
system documentation
undefined
unspecified
macro
symbolic name
symbolic constant
Portability
Codes
Margin Code Notation
Conformance
Implementation Conformance
Requirements
Documentation
POSIX Conformance
XSI Conformance
Option Groups
Subprofiling Considerations
Options
Application Conformance
Strictly Conforming POSIX Application
Conforming POSIX Application
Conforming POSIX Application Using Extensions
Strictly Conforming XSI Application
Conforming XSI Application Using Extensions
Language-Dependent Services for the C Programming Language
Other Language-Related Specifications
Definitions
Appropriate Privileges
Byte
Character
Child Process
Clock Tick
Command
Column Positions
Controlling Terminal
Device Number*
Direct I/O
Directory
Directory Entry
Display
Dot
Dot-Dot
Epoch
FIFO Special File
File
File Classes
Filename
File System
Graphic Character
Group Database
Group File*
Historical Implementations*
Hosted Implementation*
Implementation*
Incomplete Pathname*
Job Control
Kernel*
Library Routine*
Logical Device*
Map
Memory-Resident
Memory Object*
Mount Point*
Mounted File System*
Name
Native Implementation*
Nice Value
Open File Description
Orphaned Process Group
Page
Passwd File*
Parent Directory
Pipe
Portable Filename Character Set
Process Lifetime
Process Termination
Regular File
Root Directory
Root File System*
Root of a File System*
Signal
Superuser*
Supplementary Group ID
Symbolic Link
Synchronously-Generated Signal
System Call*
System Console
System Databases
System Process
System Reboot
Synchronized I/O Data (and File) Integrity Completion
Text File
Thread
Thread ID
Thread-Safe Function
User Database
Virtual Processor*
XSI
General Concepts
Concurrent Execution
Directory Protection
Extended Security Controls
File Access Permissions
File Hierarchy
Filenames
File Times Update
Host and Network Byte Order
Measurement of Execution Time
Memory Synchronization
Pathname Resolution
Process ID Reuse
Scheduling Policy
Seconds Since the Epoch
Semaphore
Thread-Safety
Tracing
Treatment of Error Conditions for Mathematical Functions
Treatment of NaN Arguments for Mathematical Functions
Utility
Variable Assignment
File Format Notation
Character Set
Portable Character Set
Character Encoding
C Language Wide-Character Codes
Character Set Description File
State-Dependent Character Encodings
Locale
General
POSIX Locale
Locale Definition
LC_CTYPE
LC_COLLATE
LC_MONETARY
LC_NUMERIC
LC_TIME
LC_MESSAGES
Locale Definition Grammar
Locale Lexical Conventions
Locale Grammar
Locale Definition Example
Environment Variables
Environment Variable Definition
Internationalization Variables
Other Environment Variables
COLUMNS, LINES
LOGNAME
PATH
SHELL
TZ
Regular Expressions
Regular Expression Definitions
Regular Expression General Requirements
Basic Regular Expressions
BREs Matching a Single Character or Collating Element
BRE Ordinary Characters
BRE Special Characters
Periods in BREs
RE Bracket Expression
BREs Matching Multiple Characters
BRE Precedence
BRE Expression Anchoring
Extended Regular Expressions
EREs Matching a Single Character or Collating Element
ERE Ordinary Characters
ERE Special Characters
Periods in EREs
ERE Bracket Expression
EREs Matching Multiple Characters
ERE Alternation
ERE Precedence
ERE Expression Anchoring
Regular Expression Grammar
BRE/ERE Grammar Lexical Conventions
RE and Bracket Expression Grammar
ERE Grammar
Directory Structure and Devices
Directory Structure and Files
Output Devices and Terminal Types
General Terminal Interface
Interface Characteristics
Opening a Terminal Device File
Process Groups
The Controlling Terminal
Terminal Access Control
Input Processing and Reading Data
Canonical Mode Input Processing
Non-Canonical Mode Input Processing
Writing Data and Output Processing
Special Characters
Modem Disconnect
Closing a Terminal Device File
Parameters that Can be Set
The termios Structure
Input Modes
Output Modes
Control Modes
Local Modes
Special Control Characters
Utility Conventions
Utility Argument Syntax
Utility Syntax Guidelines
Headers
Format of Entries
Rationale for Shell and Utilities
Introduction
Scope
Conformance
Normative References
Change History
Changes from Issue 5 to Issue 6 (IEEE Std 1003.1-2001)
New Features in Issue 6
Terminology
Definitions
Relationship to Other Documents
System Interfaces
File Read, Write, and Creation
File Removal
Concepts Derived from the ISO C Standard
Portability
Codes
Utility Limits
Grammar Conventions
Utility Description Defaults
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
OPERANDS
STDIN
INPUT FILES
ENVIRONMENT VARIABLES
ASYNCHRONOUS EVENTS
STDOUT
STDERR
OUTPUT FILES
EXTENDED DESCRIPTION
EXIT STATUS
CONSEQUENCES OF ERRORS
APPLICATION USAGE
EXAMPLES
RATIONALE
FUTURE DIRECTIONS
SEE ALSO
CHANGE HISTORY
Considerations for Utilities in Support of Files of Arbitrary Size
Built-In Utilities
Shell Command Language
Shell Introduction
Quoting
Escape Character (Backslash)
Single-Quotes
Double-Quotes
Token Recognition
Alias Substitution
Reserved Words
Parameters and Variables
Positional Parameters
Special Parameters
Shell Variables
Word Expansions
Tilde Expansion
Parameter Expansion
Command Substitution
Arithmetic Expansion
Field Splitting
Pathname Expansion
Quote Removal
Redirection
Redirecting Input
Redirecting Output
Appending Redirected Output
Here-Document
Duplicating an Input File Descriptor
Duplicating an Output File Descriptor
Open File Descriptors for Reading and Writing
Exit Status and Errors
Consequences of Shell Errors
Exit Status for Commands
Shell Commands
Simple Commands
Command Search and Execution
Examples
Pipelines
Lists
Asynchronous Lists
Sequential Lists
AND Lists
OR Lists
Compound Commands
Grouping Commands
For Loop
Case Conditional Construct
If Conditional Construct
While Loop
Until Loop
Function Definition Command
Shell Grammar
Shell Grammar Lexical Conventions
Shell Grammar Rules
Signals and Error Handling
Shell Execution Environment
Pattern Matching Notation
Patterns Matching a Single Character
Patterns Matching Multiple Characters
Examples
Patterns Used for Filename Expansion
Special Built-In Utilities
Batch Environment Services and Utilities
Scope of the Batch Environment Services and Utilities Option
History of Batch Systems
Historical Implementations of Batch Systems
NQS Differences from the at utility
Batch Environment Services and Utilities Option Definitions
Batch General Concepts
Batch Services
Common Behavior for Batch Environment Utilities
Utilities
Exclusion of Utilities
Rationale for System Interfaces
Introduction
Scope
Conformance
Normative References
Change History
Changes from Issue 5 to Issue 6 (IEEE Std 1003.1-2001)
New Features in Issue 6
Terminology
Definitions
Relationship to Other Formal Standards
Portability
Codes
Format of Entries
General Information
Use and Implementation of Functions
The Compilation Environment
POSIX.1 Symbols
The _POSIX_C_SOURCE Feature Test Macro
The _XOPEN_SOURCE Feature Test Macro
The Name Space
Error Numbers
Alternative Solutions for Per-Thread errno
Disallowing Return of the [EINTR] Error Code
Additional Error Numbers
Signal Concepts
Signal Names
Signal Generation and Delivery
Realtime Signal Generation and Delivery
Signal Actions
Signal Effects on Other Functions
Standard I/O Streams
Interaction of File Descriptors and Standard I/O Streams
Stream Orientation and Encoding Rules
STREAMS
Accessing STREAMS
XSI Interprocess Communication
IPC General Information
Realtime
Advisory Information
Message Passing
Semaphores
Realtime Signals
Realtime Signals Extension
Asynchronous I/O
Overview
Models
Requirements
Standardization Issues
Memory Management
Memory Locking Functions
Mapped Files Functions
Shared Memory Functions
Typed Memory Functions
Process Scheduling
Sporadic Server Scheduling Policy
Clocks and Timers
Rationale for the Monotonic Clock
Execution Time Monitoring
Rationale Relating to Timeouts
Threads
Thread Creation Attributes
Thread Implementation Models
Thread-Specific Data
Barriers
Spin Locks
XSI Supported Functions
XSI Threads Extensions
Thread-Safety
Thread IDs
Thread Mutexes
Thread Scheduling
Scheduling Contention Scope
Scheduling Allocation Domain
Scheduling Documentation
Scheduling Contention Scope Attribute
Mixed Scopes
Dynamic Thread Scheduling Parameters Access
Mutex Initialization Scheduling Attributes
Change the Priority Ceiling of a Mutex
Thread Cancellation
Specifying the Operation to Cancel
A Special Signal Versus a Special Interface
Races Between Cancellation and Resuming Execution
Interaction of Cancellation with Asynchronous Signals
Thread Cancellation Overview
Thread Read-Write Locks
Background
Queuing of Waiting Threads
Comparison to fcntl() Locks
History of Resolution Issues
Thread Interactions with Regular File Operations
Use of Application-Managed Thread Stacks
Sockets
Address Families
Addressing
Protocols
Routing
Interfaces
Socket Types
Socket I/O Mode
Socket Owner
Socket Queue Limits
Pending Error
Socket Receive Queue
Socket Out-of-Band Data State
Connection Indication Queue
Signals
Asynchronous Errors
Use of Options
Use of Sockets for Local UNIX Connections
Use of Sockets over Internet Protocols
Use of Sockets over Internet Protocols Based on IPv4
Use of Sockets over Internet Protocols Based on IPv6
Tracing
Objectives
Detailed Objectives
Comments on Objectives
Trace Model
Introduction
Trace Model Description
States of a Trace Stream
Tracing All Processes
Trace Storage
Trace Programming Examples
Trace Operation Control
First Example
Second Example
Application Instrumentation
Trace Analyzer
First Example
Second Example
Several Programming Manipulations
Trace Stream Attribute Manipulation
Create a Trace Event Type Set and Change the Trace Event Type Filter
Retrieve Information from a Trace Log
Retrieve the List of Trace Event Types Used in a Trace Log
Rationale on Trace for Debugging
Rationale on Trace Event Type Name Space
Rationale on Trace Events Type Filtering
Filtering of Trace Event Types Before Tracing
Filtering of Trace Event Types at Runtime
Post-Mortem Filtering of Trace Event Types
Discussions about Trace Event Type-Filtering
Tracing, pthread API
Example
Rationale on Triggering
Rationale on Timestamp Clock
Rationale on Different Overrun Conditions
Overrun in Trace Streams Initialized with POSIX_TRACE_LOOP Policy
Overrun in Dumping Trace Streams into Trace Logs
Reading an Active Trace Stream
Data Types
Footnotes
System Interfaces
Examples for Spawn
Example Library Implementation of Spawn
I/O Redirection with Spawn
Spawning a Process Under a New User ID
Portability Considerations (Informative)
User Requirements
Configuration Interrogation
Process Management
Access to Data
Access to the Environment
Access to Determinism and Performance Enhancements
Operating System-Dependent Profile
I/O Interaction
Internationalization Interaction
C-Language Extensions
Command Language
Interactive Facilities
Accomplish Multiple Tasks Simultaneously
Complex Data Manipulation
File Hierarchy Manipulation
Locale Configuration
Inter-User Communication
System Environment
Printing
Software Development
Portability Capabilities
Configuration Interrogation
Unsatisfied Requirements
Process Management
Access to Data
Access to the Environment
Unsatisfied Requirements
Bounded (Realtime) Response
Operating System-Dependent Profile
Unsatisfied Requirements
I/O Interaction
Unsatisfied Requirements
Internationalization Interaction
Unsatisfied Requirements
C-Language Extensions
Unsatisfied Requirements
Command Language
Unsatisfied Requirements
Interactive Facilities
Unsatisfied Requirements
Accomplish Multiple Tasks Simultaneously
Unsatisfied Requirements
Complex Data Manipulation
Unsatisfied Requirements
File Hierarchy Manipulation
Unsatisfied Requirements
Locale Configuration
Unsatisfied Requirements
Inter-User Communication
Unsatisfied Requirements
System Environment
Unsatisfied Requirements
Printing
Unsatisfied Requirements
Software Development
Unsatisfied Requirements
Future Growth
Profiling Considerations
Configuration Options
Configuration Options (Shell and Utilities)
Configurable Limits
Configuration Options (System Interfaces)
Configurable Limits
Optional Behavior
Footnotes
Subprofiling Considerations (Informative)
Subprofiling Option Groups
Footnotes