| Figures |
| 4-1 |
Image Exit and Process Deletion |
| 7-1 |
Model Database |
| 7-2 |
Three Lock Queues |
| 7-3 |
Deadlock |
| 7-4 |
Lock Status Block |
| 9-1 |
SS$_HPARITH Exception Signal Array |
| 9-2 |
SS$_ALIGN Exception Signal Array |
| 9-3 |
Format of a Condition Value |
| 9-4 |
Searching the Stack for a Condition Handler |
| 9-5 |
Sample Stack Scan for Condition Handlers |
| 9-6 |
Format of the Signal Argument Vector |
| 9-7 |
Signal Argument Vector for the Reserved Operand Error Conditions |
| 9-8 |
Signal Argument Vector for RTL Mathematics Routine Errors |
| 9-9 |
Format of a VAX Mechanism Argument Vector |
| 9-10 |
Mechanism Array on Alpha Systems |
| 9-11 |
Stack After Second Exception Condition Is Signaled |
| 9-12 |
Interaction Between Handlers and Default Handlers |
| 9-13 |
Unwinding the Call Stack |
| 9-14 |
Formats of Message Sequences |
| 9-15 |
Using a Condition Handler to Log an Error Message |
| 9-16 |
Structure of an Exit Handler |
| 10-1 |
32-Bit Virtual Address Space Layout |
| 10-2 |
64-Bit Virtual Address Space Layout |
| 11-1 |
General Format of a 32-Bit Descriptor |
| 11-2 |
General Format of a 64-Bit Descriptor |
| 11-3 |
Item_list_2 Format |
| 11-4 |
Item_list_3 Format |
| 11-5 |
Item_list_64a Format |
| 11-6 |
Item_list_64b Format |
| 11-7 |
item_list_64a |
| 11-8 |
item_list_64b |
| 12-1 |
Layout of Alpha Process Virtual Address Space |
| 12-2 |
Hierarchy of Alpha Memory Management Routines |
| 13-1 |
Virtual Address Overview on VAX Systems |
| 13-2 |
Layout of VAX Process Virtual Address Space |
| 13-3 |
Physical Address Space for VAX Systems with XPA |
| 13-4 |
Virtual Address Space for VAX Systems with XVA |
| 13-5 |
Hierarchy of VAX Memory Management Routines |
| 14-1 |
Memory Fragmentation |
| 14-2 |
Boundary Tags |
| 15-1 |
Aligned and Unaligned Structures |
| 15-2 |
Alignment Using VAX C Compiler |
| 15-3 |
Alignment Using Compaq C Compiler |
| 18-1 |
Call Frame Generated by CALLG and CALLS Instructions |
| 18-2 |
Fixed-Size Stack Frame Format |
| 18-3 |
Variable-Size Stack Frame Format |
| 18-4 |
Structure of a VAX Argument List |
| 18-5 |
Alpha Argument List Format |
| 18-6 |
Argument Information (AI) Register (R25) Format |
| 18-7 |
Alpha Procedure Argument-Passing Mechanisms |
| 18-8 |
VAX Procedure Argument-Passing Mechanisms |
| 18-9 |
Atomic Data Types and Descriptor Classes |
| 18-10 |
String Data Types and Descriptor Classes |
| 18-11 |
Miscellaneous Data Types and Descriptor Classes |
| 18-12 |
Condition Value Format |
| 19-1 |
Calling the Run-Time Library |
| 22-1 |
Defining and Pasting Virtual Displays |
| 22-2 |
Moving a Virtual Display |
| 22-3 |
Repasting a Virtual Display |
| 22-4 |
Popping a Virtual Display |
| 22-5 |
Statistics Display |
| 23-1 |
Mailbox Protection Fields |
| 23-2 |
Physical I/O Access Checks |
| 23-3 |
Logical I/O Access Checks |
| 23-4 |
Physical, Logical, and Virtual I/O |
| 23-5 |
I/O Function Format |
| 23-6 |
Function Modifier Format |
| 23-7 |
I/O Status Block |
| 23-8 |
SYS$MOUNT Item Descriptor |
| 24-1 |
Format of a Variable-Length Bit Field |
| 25-1 |
Using Cross-Reference Routines |
| 25-2 |
Summary of Symbol Names and Values |
| 25-3 |
Summary of Symbol Names, Values, and Name of Referring Modules |
| 25-4 |
Summary Indicating Defining Module |
| 25-5 |
Output Line for LIB$CRF_OUTPUT |
| 27-1 |
Predefined Output Date Formats |
| 27-2 |
Predefined Output Time Formats |
| 29-1 |
Participants in a Distributed Transaction |
| 30-1 |
Flow of Control Accessing a Privileged Routine on VAX Systems |
| 30-2 |
Components of the Privileged Library Vector on VAX Systems |
| 30-3 |
Linkage for a Privileged Routine After Image Activation |
| 31-1 |
ID Format |
| 31-2 |
UIC Identifier Format |
| 31-3 |
Facility-Specific Identifiers |
| 31-4 |
Format of the Identifier Record |
| 31-5 |
Format of the Holder Record |
| 31-6 |
Format of the Holder Argument |
| 31-7 |
Previous Per-Thread Security Model |
| 31-8 |
Per-Thread Security Profile Model |
| 33-1 |
Sequence of Events During Image Initialization on VAX Systems |
| 33-2 |
Sequence of Events During Image Initialization on Alpha Systems |
| Tables |
| 1-1 |
Manual Description |
| 1-2 |
OpenVMS Programming Software |
| 1-3 |
Compilers, Interpreters, and Assemblers |
| 1-4 |
Other OpenVMS Program Development Utilities |
| 1-5 |
Groups of OpenVMS Run-Time Library Routines |
| 1-6 |
Groups of OpenVMS System Services |
| 1-7 |
OpenVMS Utility Routines |
| 2-1 |
Characteristics of Subprocesses and Detached Processes |
| 2-2 |
Comparison of LIB$SPAWN, SYS$CREPRC, and C system : ( ,) Call Context Values |
| 4-1 |
Routines and Commands for Controlling Processes and Kernel Threads |
| 4-2 |
Process Identification |
| 4-3 |
SYS$GETJPI Kernel Threads Item Codes |
| 4-4 |
SYS$PROCESS_SCAN Kernel Threads Item Codes |
| 4-5 |
Item-Specific Flags |
| 4-6 |
Capabilities |
| 4-7 |
SYSMAN Command: Class_Schedule |
| 4-8 |
Class Name Qualifiers |
| 4-9 |
Show Sub-Command Qualifiers |
| 4-10 |
Time Manipulation System Services and Routines |
| 4-11 |
Process Hibernation and Suspension |
| 4-12 |
System Services and Routines Used for Hibernation and Suspension |
| 6-1 |
OpenVMS Compilers |
| 6-2 |
Usage Styles of Event Flags |
| 6-3 |
Event Flag Routines and Services |
| 6-4 |
Event Flags |
| 7-1 |
Lock Manager Services |
| 7-2 |
Lock Modes |
| 7-3 |
Compatibility of Lock Modes |
| 7-4 |
Legal QUECVT Conversions |
| 7-5 |
Effect of Lock Conversion on Lock Value Block |
| 8-1 |
AST System Services |
| 8-2 |
System Services That Use ASTs |
| 8-3 |
AST Arguments for VAX Systems and Alpha Systems |
| 9-1 |
Summary of Exception Conditions |
| 9-2 |
Architecture-Specific Hardware Exceptions |
| 9-3 |
Exception Summary Argument Fields |
| 9-4 |
Run-Time Library Condition-Handling Support Routines |
| 9-5 |
Fields of a Condition Value |
| 9-6 |
Severity of Error Conditions |
| 9-7 |
Privilege Errors |
| 9-8 |
Quota Errors |
| 9-9 |
$CHFDEF Symbolic Names and Arguments on VAX Systems |
| 9-10 |
$CHFDEF2 Symbolic Names and Arguments on Alpha Systems |
| 9-11 |
Fields in the Alpha Mechanism Array |
| 11-1 |
Contents of the General Descriptor Format |
| 11-2 |
64-Bit System Services |
| 11-3 |
Structures Used by_NEW_STARLET Prototypes |
| 11-4 |
Functions with Dual Implementations |
| 11-5 |
Functions Restricted to 32-Bit Pointers |
| 11-6 |
Callbacks that Pass only 32-Bit Pointers |
| 12-1 |
Page and Byte Offset Within Pages on Alpha Systems |
| 12-2 |
Sample Virtual Address Arrays on Alpha Systems |
| 12-3 |
Flag Bits to Set for Specific Section Characteristics on Alpha Systems |
| 13-1 |
Sample Virtual Address Arrays on VAX Systems |
| 13-2 |
Flag Bits to Set for Specific Section Characteristics on VAX Systems |
| 14-1 |
Overhead for Area Control Blocks |
| 14-2 |
Possible Values for the Block Size Attribute |
| 14-3 |
Attribute Values for the Default Zone |
| 14-4 |
Allocation Algorithms |
| 15-1 |
Aligned Data Sizes |
| 17-1 |
Main Headings in the Documentation Format for System Routines |
| 17-2 |
General Rules of Syntax for Procedure Call Formats |
| 17-3 |
Standard Data Types and Their Descriptor Field Symbols |
| 17-4 |
Descriptor Classes of Passing Mechanisms |
| 18-1 |
VAX Register Usage |
| 18-2 |
Alpha Integer Registers |
| 18-3 |
Alpha Floating-Point Registers |
| 18-4 |
Contents of the Argument Information (AI) Register (Alpha only) |
| 18-5 |
String-Passing Descriptors |
| 20-1 |
OpenVMS System Access Modes |
| 20-2 |
Severity Codes of Condition Value Returned |
| 21-1 |
Structures Used by_NEW_STARLET Prototypes |
| 22-1 |
SYS$INPUT and SYS$OUTPUT Values |
| 22-2 |
Setting Video Attributes |
| 23-1 |
Read and Write I/O Functions |
| 23-2 |
Asynchronous Input/Output Services and Their Synchronous Versions |
| 23-3 |
System Services for Translating Logical Names |
| 23-4 |
Default Device Names for I/O Services |
| 23-5 |
SYSGEN Buffer Object Parameters |
| 24-1 |
System Service Access Routines |
| 24-2 |
CLI Access Routines |
| 24-3 |
Variable-Length Bit Field Routines |
| 24-4 |
Integer and Floating-Point Routines |
| 24-5 |
Queue Access Routines |
| 24-6 |
Character String Routines |
| 24-7 |
Miscellaneous Instruction Routines |
| 24-8 |
Processwide Resource Allocation Routines |
| 24-9 |
Performance Measurement Routines |
| 24-10 |
The Code Argument in LIB$SHOW_TIMER and LIB$STAT_TIMER |
| 24-11 |
Routines for Customizing Output |
| 24-12 |
Miscellaneous Interface Routines |
| 25-1 |
Cross-Reference Routines |
| 27-1 |
Time Conversion Routines and System Services |
| 27-2 |
Date/Time Manipulation Routines |
| 27-3 |
Timer RTLs and System Services |
| 27-4 |
Timer System Services |
| 27-5 |
Available Languages for Date/Time Formatting |
| 27-6 |
Format Mnemonics |
| 27-7 |
Input String Punctuation and Defaults |
| 27-8 |
Predefined Output Date Formats |
| 27-9 |
Predefined Output Time Formats |
| 27-10 |
Available Components for Specifying Formats at Compile Time |
| 27-11 |
Legible Format Mnemonics |
| 27-12 |
Sample Input Format Strings |
| 30-1 |
Components of the VAX Privileged Library Vector |
| 30-2 |
Components of the Alpha Privileged Library Vector |
| 31-1 |
Using System Services to Manipulate Elements of the Rights Database |
| 31-2 |
Returned Records of SYS$IDTOASC, SYS$FIND_HELD, and SYS$FIND_HOLDER |
| 31-3 |
Item Code Symbols and Meanings |
| 32-1 |
Logical Name Services and DCL Commands |
| 32-2 |
Summary of Privileges |
| D-1 |
Generic Argument List Macros of the System Service Interface |
| E-1 |
OpenVMS Usage Data Type Entries |
| E-2 |
Ada Implementations |
| E-3 |
APL Implementations |
| E-4 |
BASIC Implementations |
| E-5 |
BLISS Implementations |
| E-6 |
C and C++ Implementations |
| E-7 |
COBOL Implementations |
| E-8 |
FORTRAN Implementations |
| E-9 |
Pascal Implementations |
| E-10 |
PL/I Implementations |
| E-11 |
VAX MACRO Implementations |
| E-12 |
RPG II Implementations |
| E-13 |
SCAN Implementations |