Contained Within
Find More Documentation
Featured Support Resources
| Download this book in PDF
............................Contents
| |
Preface | xix |
1. A Look at Some Standardization Organizations | 1 |
| ...Institute of Electrical and Electronics Engineers (IEEE) and POSIX | 1 |
| ...X/Open | 2 |
| ...National Institute of Standards and Technology (NIST) | 3 |
| ...International Organization for Standardization (ISO) and the |
| ......International Electrotechnical Commission (IEC) | 3 |
| ...The X Consortium | 3 |
| ...UniForum | 4 |
| ...American National Standards Institute (ANSI) | 4 |
| ...The Open Software Foundation | 5 |
2. UNIX System V Release |
| ...4-Based (SVR4) Specifications | 7 |
| ...UNIX System V Release 4 | 7 |
| ...Application Binary Interface | 8 |
| ......SunOS Compliance With the ABI Specification | 8 |
| |
| ......ABI Specifications and Related Publications | 9 |
| ...System V Interface Definition (SVID) | 9 |
| ......SunOS Compliance With SVID3 | 10 |
| ......SVID Specification | 10 |
| ...Device Driver Interface/Driver-Kernel Interface (DDI/DKI) . | 10 |
| ......SunOS Compliance with the Specification | 11 |
| ......DDI/DKI and DKI Specifications and Related Publications | 11 |
| ...Data Link Provider Interface (DLPI) | 11 |
| ......SunOS Compliance With DLPI | 12 |
| ......DLPI Specification | 12 |
| ...Transport Provider Interface | 12 |
| ......SunOS Compliance with TPI | 12 |
3. X11, PostScript and Sun Microsystems' OpenWindows | 13 |
| ...OPEN LOOK | 13 |
| ......Solaris Compliance With OPEN LOOK | 15 |
| ......OPEN LOOK Specification and Related References | 16 |
| ......Licensing the OPEN LOOK Trademark | 16 |
| ...X Window System, Version 11 (X11) | 17 |
| ...PostScript Language | 18 |
| ......Solaris Compliance With X11 | 18 |
| ......Solaris Compliance with PostScript | 19 |
| ......X11 Specification and Related Publications | 19 |
4. Common Desktop Environment | 21 |
| ...Common Desktop Environment | 21 |
| |
| ......Developers, End Users, and CDE | 22 |
| ...Standardizing the Common Desktop Environment | 22 |
| ......Open Software Foundation/Motif | 22 |
| ......CDE and Motif | 23 |
| ......Solaris Compliance With OSF/Motif | 24 |
| ......The X Window System | 25 |
| ......CDE Compliance with X11 | 26 |
| ......Solaris Compliance with PostScript | 26 |
| ...Future Standardization | 27 |
| ......X/Open CDE Specification | 27 |
| ......X/Open Calendaring and Scheduling API | 28 |
5. X/Open and XPG3 | 29 |
| ......The X/Open Portability Guide, Issue 3 | 29 |
| ......The X/Open Brand Trademark | 30 |
| ...X/Open Conformance Statement for Solaris | 32 |
| ...X/Open Conformance Statement | 32 |
| ...X/Open Specification and Related Publications | 63 |
6. X/Open and XPG4 | 65 |
| ......The X/Open Portability Guide, Issue 4 | 65 |
| ......The X/Open Brand Trademark | 65 |
| ...The X/Open Conformance Statement for Solaris | 67 |
| ...X/Open Conformance Statement | 67 |
7. X/Open Interim UNIX Branding | 105 |
| ...X/Open Conformance Statement for SPARC | 105 |
| |
| ...X/Open Conformance Statement | 105 |
| ...X/Open Conformance Statement for x86 | 106 |
| ...X/Open Conformance Statement | 106 |
8. POSIX.1 | 109 |
| ...Portable Operating System Interface for Computer Environments |
| ......(POSIX.1) | 109 |
| ......Amending POSIX.1: The IEEE Standards 1003.1b and 1003.1c |
| ..................................................109 |
| ...Scope | 110 |
| ...C Standard Compliance | 110 |
| ...Audience | 110 |
| ...Notation Used in the Remainder of this Chapter | 111 |
| ...Implementation-Defined Areas of POSIX.1 | 111 |
| ...POSIX.1 Section 1: General | 111 |
| ......1.3.1 Implementation Conformance | 111 |
| ...POSIX.1 Section 2, Terminology and General Requirements | 112 |
| ......2.2.2 General Terms | 112 |
| ......2.3 General Concepts | 113 |
| ......2.4 Error Numbers | 114 |
| ......2.5 Primitive System Data Types | 115 |
| ......2.6 Environment Description | 116 |
| ......2.7 C Language Definitions | 116 |
| ......2.8 Numerical Limits | 116 |
| ......2.9 Symbolic Constants | 118 |
| ...POSIX.1 Section 3, Process Primitives | 120 |
| |
| ......3.1.1.2 Process Creation: Description | 120 |
| ......3.1.1.4 Errors | 120 |
| ......3.1.2.2 Execute a File: Description | 120 |
| ......3.1.2.4 Execute a File: Errors | 121 |
| ......3.2.1.2 Wait for Process Termination: Description | 122 |
| ......3.2.2.2 Terminate a Process: Description | 122 |
| ......3.3.1.1 Signal Names | 123 |
| ......3.3.1.2 Signal Generation and Delivery | 123 |
| ......3.3.1.3 Signal Actions | 124 |
| ......3.3.2.2 Send a Signal to a Process: Description | 125 |
| ......3.3.3.4 Manipulate Signal Sets: Errors | 125 |
| ......3.3.4.2 Examine and Change Signal Action: Description | 126 |
| ......3.3.6.4 Examine Pending Signals: Errors | 126 |
| ......3.3.8.2 Synchronously Accept a Signal: Description | 126 |
| ...POSIX.1 Section 4, Process Environment | 126 |
| ......4.2.4.4 Get User Name: Errors | 126 |
| ......4.4.1.2 Get System Name: Description | 127 |
| ......4.5.1.4 Get System Time: Errors | 127 |
| ......4.6.1.4 Environment Variables: Errors | 127 |
| ......4.7.1.4 Generate Terminal Pathname: Errors | 127 |
| ......4.7.2.4 Determine Terminal Device Name: Errors | 128 |
| ...POSIX.1 Section 5, Files and Directories | 128 |
| ......5.1.1 Format of Directory Entries | 128 |
| ......5.1.2.4 Directory Operations: Errors | 128 |
| |
| ......5.2.2.4 Get Working Directory Pathname: Errors | 129 |
| ......5.3.1.2 Open a File: Description | 129 |
| ......5.3.3.2 Set File Creation Mask: Description | 130 |
| ......5.3.4.2 Link to a File: Description | 130 |
| ......5.4.1.2 Make a Directory: Description | 130 |
| ......5.4.2.2 Make a FIFO Special File: Description | 131 |
| ......5.5.1.2 Remove Directory Entries: Description | 131 |
| ......5.5.1.4 Remove Directory Entries: Errors | 131 |
| ......5.5.2.2 Remove a Directory: Description | 131 |
| ......5.5.2.4 Remove a Directory: Errors | 132 |
| ......5.5.3.2 Rename a File: Description | 132 |
| ......5.5.3.4 Rename a File: Errors | 132 |
| ......5.6.1.2 File Characteristics: File Modes | 133 |
| ......5.6.2.2 Get File Status: Description | 133 |
| ......5.6.3.4 Check File Accessibility: Errors | 133 |
| ......5.6.4.2 Change File Modes: Description | 133 |
| ......5.6.5.2 Change Owner and Group of a File: Description | 134 |
| ......5.6.5.4 Change Owner and Group of a File: Errors | 134 |
| ......5.7.1.4 Get Configurable Pathname Variables: Errors | 134 |
| ...POSIX.1 Section 6, Input and Output Primitives | 135 |
| ......6.3.1.2 Close a File: Description | 135 |
| ......6.4.1.2 Read from a File: Description | 136 |
| ......6.4.2.2 Write to a File: Description | 136 |
| ......6.5.2.2 File Control: Description | 136 |
| |
| ......6.5.3.2 Reposition Read/Write File Offset: Description | 137 |
| ......6.6 File Synchronization | 137 |
| ......6.6.1.2 Synchronize a File's State: Description | 137 |
| ......6.7.1.1 Data Definitions for Asynchronous Input and Output: |
| ........Asynchronous I/O Control Block | 137 |
| ......6.7.7.2 Cancel Asynchronous I/O Request: Description | 138 |
| ...POSIX.1 Section 7, Device- and Class-Specific Functions | 138 |
| ......7.1 General Terminal Interface | 138 |
| ......7.1.1.3 The Controlling Terminal | 138 |
| ......7.1.1.5 Input Processing and Reading Data | 139 |
| ......7.1.1.6 Canonical Mode Input Processing | 139 |
| ......7.1.1.7 Noncanonical Mode Input Processing | 139 |
| ......7.1.1.8 Writing Data and Output Processing | 140 |
| ......7.1.1.9 Special Characters | 140 |
| ......7.1.2.2 Input Modes | 141 |
| ......7.1.2.3 Output Modes | 141 |
| ......7.1.2.4 Control Modes | 142 |
| ......7.1.2.5 Local Modes | 142 |
| ......7.1.2.6 Special Control Characters | 143 |
| ......7.1.3.4 Baud Rate Functions: Errors | 143 |
| ......7.2.1.2 Get and Set State: Description | 144 |
| ......7.2.2.2 Line Control Functions: Description | 144 |
| ...POSIX.1 Section 8, Language-Specific Services for the C |
| ......Programming Language | 144 |
| |
| ......8.1.1 Referenced C Language Routines, Extensions to Time |
| ........Functions | 144 |
| ......8.1.2.2 Extensions to setlocale(): Description | 145 |
| ......8.2.2.4 Open a Stream on a File Descriptor: Errors | 145 |
| ......8.2.3 Interactions of Other File-Type C Functions | 145 |
| ......8.2.7.4 Stdio with Explicit Client Locking: Errors | 146 |
| ......8.3.2.2 Set Time Zones: Description | 146 |
| ......8.3.4.4 Find String Token: Errors | 146 |
| ......8.3.5.4 ASCII Time Representation: Errors | 146 |
| ......8.3.6.4 Current Time Representation: Errors | 147 |
| ......8.3.7.4 Coordinated Universal Time: Errors | 147 |
| ......8.3.8.4 Local Time: Errors | 147 |
| ...POSIX.1 Section 9, System Databases | 147 |
| ......9.1 System Databases | 147 |
| ......9.2.1.4 Group Database Access: Errors | 147 |
| ......9.2.2.4 User Database Access: Errors | 148 |
| ...POSIX.1 Section 10, Data Interchange Format | 148 |
| ......10.1 Archive/Interchange File Format | 148 |
| ......10.1.1 Extended tar Format | 148 |
| ......10.1.2.1 Header | 149 |
| ......10.1.2.2 File Name | 149 |
| ......10.1.3 Multiple Volumes | 149 |
| ...POSIX.1 Section 11, Synchronization | 150 |
| ......11.2.3.2 Initialize/Open a Named Semaphore: Description | 150 |
| |
| ......11.3.1.2 Mutex Initialization Attributes: Description | 150 |
| ......11.4.1.2 Condition Variable Initialization Attributes: |
| ........Description | 150 |
| ...POSIX.1 Section 12, Memory Management | 150 |
| ......12.1.1.2 Lock/Unlock a Process's Address Space: Description |
| ..................................................151 |
| ......12.1.1.4 Lock/Unlock a Process's Address Space: Errors | 151 |
| ......12.1.2.4 Lock/Unlock a Range of Process Address Space: Errors |
| ..................................................151 |
| ......12.2.1.2 Map Process Addresses to a Memory Object: |
| ........Description | 151 |
| ......12.3.1.2 Open a Shared Memory Object: Description | 152 |
| ......12.4.1.1.1 Process Memory Locking: Models | 152 |
| ...POSIX.1 Section 13, Execution Scheduling | 152 |
| ......13.2 Scheduling Policies | 152 |
| ......13.2.3 Scheduling Policies: SCHED_OTHER | 152 |
| ......13.3.1.2 Set Scheduling Parameters: Description | 153 |
| ......13.3.3.2 Set Scheduling Policy and Scheduling Parameters: |
| ........Description | 153 |
| ......13.4.1 Thread Scheduling Attributes | 154 |
| ......13.4.2 Scheduling Contention Scope | 154 |
| ......13.4.3 Scheduling Allocation Domain | 155 |
| ......13.5.2.2 Dynamic Thread Scheduling Parameters Access: |
| ........Description | 156 |
| ...POSIX.1 Section 14, Clocks and Timers | 156 |
| ......14.2.1.2 Clock and Timer Functions: Description | 156 |
| |
| ......14.2.2.2 Create a Per-Process Timer: Description | 157 |
| ......14.2.4.2 Per-Process Timers: Description | 157 |
| ...POSIX.1 Section 15, Message Passing | 157 |
| ......15.1.1. Data Definitions for Message Queues: Data Structures |
| ..................................................157 |
| ......15.2.1.2 Open a Message Queue: Description | 158 |
9. POSIX.2 | 159 |
| ...Portable Operating System Interface -Part 2: Shell and Utilities |
| ......(POSIX.2) | 159 |
| ...Scope | 159 |
| ...Audience | 160 |
| ...Notation Used in the Remainder of this Chapter | 160 |
| ...Implementation-defined Areas of POSIX.2 | 161 |
| ...POSIX.2 Section 1, General | 161 |
| ......1.3.1 Implementation Conformance | 161 |
| ...POSIX.2 Section 2, Terminology and General Requirements | 162 |
| ......2.2.2 General Terms | 162 |
| ......2.4 Character Set | 164 |
| ......2.4.1 Character Set Description File | 164 |
| ......2.5 Locale | 164 |
| ......2.5.2: Locale Definition | 165 |
| ......2.5.2.1 LC_CTYPE | 165 |
| ......2.5.2.5 LC_TIME | 165 |
| ......2.5.3 Locale Definition Grammar | 166 |
| ......2.6 Environment Variables | 166 |
| |
| ......2.9.1.5 File Removal | 167 |
| ......2.11.5.2 Input Files | 167 |
| ......2.14 Terminal Characteristics | 168 |
| ...POSIX.2 Section 3, Shell Command Language | 169 |
| ......3.5.3 Variables | 169 |
| ......3.7 Redirection | 169 |
| ...POSIX.2 section 4, Execution Environment Utilities | 169 |
| ......4.1.7.3 Variables and Special Variables | 169 |
| ......4.1.7.6.2.3 Input/Output and General Functions | 170 |
| ......4.1.7.8 awk Lexical Conventions | 170 |
| ......4.2.2 basename - Return Nondirectory Portion of Pathname: |
| ........Description | 170 |
| ......4.5.2 cd - Change Working Directory: Description | 170 |
| ......4.5.4 Operands | 170 |
| ......4.7.2 chmod - Change File Modes: Description | 171 |
| ......4.7.7 chmod - Extended Description | 171 |
| ......4.13.2 cp - Copy Files: Description | 172 |
| ......4.13.3 Options | 173 |
| ......4.18.2 dirname - Return Directory Portion of Pathname: |
| ........Description | 173 |
| ......4.19.4 Operands | 173 |
| ......4.20.7.3.14 List Command | 174 |
| ......4.24.4 Operands | 174 |
| ......4.30.2 id - Return User Identity: Description | 174 |
| ......4.33.2 ln - Link Files: Description | 175 |
| |
| ......4.33.4 Operands | 175 |
| ......4.34.3 Options | 175 |
| ......4.34.4 Operands | 175 |
| ......4.35.2 localedef - Define Locale Environment: Description | 175 |
| ......4.36.2 logger - Log Messages: Description | 176 |
| ......4.39.3 Options | 176 |
| ......4.39.5.3 Environment Variables | 176 |
| ......4.39.6.1 Standard Output | 177 |
| ......4.40.6.3 Output Files | 177 |
| ......4.40.7.1 mailx Internal Variables | 178 |
| ......4.40.7.3 mailx Command Escapes | 178 |
| ......4.43.2 mv - Move Files: Description | 178 |
| ......4.45.7 Extended Description | 178 |
| ......4.48.2 pax - Portable Archive Interchange: Description | 180 |
| ......4.48.3 Options | 180 |
| ......4.48.5.2 Input Files | 181 |
| ......4.48.6.1 Standard Output | 181 |
| ......4.48.6.3 Output Files | 181 |
| ......4.55.7.3 sed Editing Commands | 181 |
| ......4.56.5.3 Environment Variables | 182 |
| ......4.59.2 stty - Set the Options for a Terminal: Description | 182 |
| ......4.59.4.4 Local Modes | 183 |
| ......4.59.4.6 Combination Modes | 183 |
| ......4.62.4 Operands | 183 |
| |
| ......4.63.3 Options | 184 |
| ......4.64.7 Extended Description | 184 |
| ......4.68.2 uname - Return System Name: Description | 184 |
| ......4.68.6.1 Standard Output | 185 |
| ...POSIX.2 Section 5, User Portability Utilities Option | 185 |
| ......5.2.2 Execute Commands at a Later Time: Description | 185 |
| ......5.2.3 Options | 185 |
| ......5.2.4 Operands | 186 |
| ......5.5.2 crontab - Schedule Periodic Background Work: |
| ........Description | 186 |
| ......5.7.4 Extended Description | 186 |
| ......5.7.7 Operands | 186 |
| ......5.8.6.1 Standard Output | 187 |
| ......5.10.7.2.5 chdir | 187 |
| ......5.10.7.2.13 list | 187 |
| ......5.10.7.2.14 map | 188 |
| ......5.10.7.2.21 print | 188 |
| ......5.10.7.2.29 source | 188 |
| ......5.10.7.2.37 write | 188 |
| ......5.10.7.5.8 list | 188 |
| ......5.10.7.5.12 paragraphs, para | 189 |
| ......5.10.7.5.18 sections | 189 |
| ......5.10.7.5.24 tags | 189 |
| ......5.10.7.5.28 window | 189 |
| |
| ......5.12.2 fc - Process Command History List: Description | 189 |
| ......5.12.5.3 Environment Variables | 190 |
| ......5.14.2 file - Determine File Type: Description | 190 |
| ......5.16.2 man - Display System Documentation: Description | 191 |
| ......5.16.6.1 Standard Output | 191 |
| ......5.17.2 mesg - Permit or Deny Messages: Description | 191 |
| ......5.18.3 Options | 191 |
| ......5.18.7 Extended Description | 191 |
| ......5.18.7.1 Help | 192 |
| ......5.18.7.24 Invoke Editor | 192 |
| ......5.19.2 newgrp - Change to a New Group: Description | 192 |
| ......5.20.2 nice - Invoke a Utility with an Altered System |
| ........Scheduling Priority: Description | 193 |
| ......5.20.3 Options | 193 |
| ......5.21.5.2 Input Files | 193 |
| ......5.21.6.1 Standard Output | 194 |
| ......5.23.2 ps - Report Process Status: Description | 194 |
| ......5.23.3 Options | 195 |
| ......5.23.61 Standard Output | 195 |
| ......5.24.2 renice - Set System Scheduling Priorities of Running |
| ........Processes: Description | 196 |
| ......5.24.3 Options | 197 |
| ......5.26.2 strings - Find Printable Strings in Files: Description | 197 |
| ......5.26.3 Options | 197 |
| ......5.28.2 talk - Talk to Another User: Description | 197 |
| |
| ......5.30.4 Operands | 198 |
| ......5.36.2 who - Display Who is on the System: Description. | 198 |
| ......5.36.6.1 Standard Output | 198 |
| ......5.37.2 write - Write to Another User: Description | 199 |
| ...POSIX.2 Section 6, Software Development Utilities Option | 199 |
| ......6.2.7.1 Makefile Syntax | 199 |
| ......6.2.7.2 Makefile Execution | 200 |
| ......6.2.7.3 Target Rules | 200 |
| ......6.2.7.4 Macros | 200 |
| ...POSIX.2 Annex A: C Language Development Utilities Option | 201 |
| ......A.1.3 Options | 201 |
| ......A.1.4 Operands | 201 |
| ......A.1.5.2 Input Files | 202 |
| ......A.1.7.2 External Symbols | 202 |
| ......A.2.6.1 Standard Output | 203 |
| ......A.2.6.2 Standard Error | 203 |
| ......A.2.7 Extended Description | 206 |
| ......A.2.7.1 lex Definitions | 206 |
| ......A.2.7.4 lex Regular Expressions | 207 |
| ......A.3.6.3.3 yacc Description File | 207 |
| ......A.3.7.9 Limits | 207 |
10. Other Standards | 209 |
| ...ANSI C Programming Language | 209 |
| ......Compliance With the ANSI C Standard | 210 |
| |
| ......ANSI C Specification and Related Publications | 210 |
| ...ANSI/IEEE 754 | 210 |
| ......Compliance With ANSI/IEEE 754 | 210 |
| ......ANSI/IEEE 754-1985 Specification and Related Publications | 211 |
| ...International Standards Organization (ISO) 8859-1 | 211 |
| ......Compliance With ISO 8859-1 | 211 |
| ......ISO 8859 Standard | 211 |
| ...Federal Information Processing Standard (FIPS) 151 | 212 |
| ......Compliance With FIPS 151 | 212 |
| ......FIPS 151 Specification | 212 |
| ...Federal Information Processing Standard (FIPS) 158 | 212 |
| ......Compliance With FIPS 158 | 213 |
| ......FIPS 158 Specification and Related Publications | 213 |
| ...The Application Binary Interface (ABI) | 213 |
| ......Compliance With the ABI | 214 |
| ......ABI Publication | 214 |
| ...SPARC Compliance Definition (SCD) | 214 |
| ......Compliance With the SCD | 214 |
| ......SPARC Compliance Definition Specification | 214 |
|
|