Chapter 18 |
18
|
Basic Calling Standard Conventions
|
18.1
|
Hardware Registers
|
18.1.1
|
Register Usage for OpenVMS VAX
|
18.1.2
|
Register Usage for OpenVMS Alpha
|
18.1.2.1
|
Integer Registers
|
18.1.2.2
|
Floating-Point Registers
|
18.2
|
Stack Usage for Procedures
|
18.2.1
|
Stack Procedure Usage for VAX
|
18.2.1.1
|
Calling Sequence
|
18.2.1.2
|
Call Frames on Return
|
18.2.2
|
Stack Procedure Usage for Alpha
|
18.2.2.1
|
Fixed-Size Stack Frame
|
18.2.2.2
|
Variable-Size Stack Frame
|
18.3
|
Procedure Representation
|
18.4
|
Argument List
|
18.5
|
Argument Passing Mechanisms
|
18.5.1
|
Passing Arguments by Value
|
18.5.2
|
Passing Arguments by Reference
|
18.5.3
|
Passing Arguments by Descriptor
|
18.6
|
Passing Scalars as Arguments
|
18.7
|
Passing Arrays as Arguments
|
18.8
|
Passing Strings as Arguments
|
18.9
|
Combinations of Descriptor Class and Data Type
|
18.10
|
Return of the Function Value
|
18.11
|
Return of the Condition Value
|
Chapter 19 |
19
|
Calling Run-Time Library Routines
|
19.1
|
Overview
|
19.2
|
Call Instructions
|
19.2.1
|
Facility Prefix and Routine Name
|
19.2.2
|
The RTL Call Entry
|
19.2.2.1
|
JSB Call Entries (VAX Only)
|
19.2.3
|
Returns from an RTL Routine
|
19.2.3.1
|
Facility Return Status and Condition Value Symbols
|
19.3
|
Calling a Library Procedure in VAX MACRO (VAX Only)
|
19.3.1
|
VAX MACRO Calling Sequence
|
19.3.2
|
VAX MACRO CALLS Instruction Example
|
19.3.3
|
VAX MACRO CALLG Instruction Example
|
19.3.4
|
VAX MACRO JSB Entry Points
|
19.3.5
|
Return Status
|
19.3.6
|
Function Return Values in VAX MACRO
|
19.4
|
Calling a Library Routine in BLISS
|
19.4.1
|
BLISS Calling Sequence
|
19.4.2
|
Accessing a Return Status in BLISS
|
19.4.3
|
Calling JSB Entry Points from BLISS
|
Chapter 20 |
20
|
Calling System Services
|
20.1
|
Overview
|
20.2
|
Preserving System Integrity
|
20.2.1
|
User Privileges
|
20.2.2
|
Resource Quotas
|
20.2.3
|
Access Modes
|
20.3
|
System Service Call Entry
|
20.4
|
System Service Completion
|
20.4.1
|
Asynchronous and Synchronous System Services
|
20.4.2
|
System Service Resource Wait Mode
|
20.4.3
|
Condition Values Returned from System Services
|
20.4.4
|
Testing the Condition Value
|
20.4.5
|
Special Condition Values Using Symbolic Codes
|
20.4.6
|
Testing the Return Condition Value for Assembly Languages
|
20.4.7
|
System Messages Generated by Condition Values
|
20.5
|
Program Examples with System Service Calls
|
Chapter 21 |
21
|
STARLET Structures and Definitions for C Programmers
|
21.1
|
SYS$STARLET_C.TLB Equivalency to STARLETSD.TLB
|
21.2
|
NEW STARLET Definitions for C
|
Part 5 |
Part 5
|
I/O, System and Programming Routines
|
Chapter 22 |
22
|
Run-Time Library Input/Output Operations
|
22.1
|
Choosing I/O Techniques
|
22.2
|
Using SYS$INPUT and SYS$OUTPUT
|
22.2.1
|
Default Input and Output Devices
|
22.2.2
|
Reading and Writing to Alternate Devices and External Files
|
22.3
|
Working with Simple User I/O
|
22.3.1
|
Default Devices for Simple I/O
|
22.3.2
|
Getting a Line of Input
|
22.3.3
|
Getting Several Lines of Input
|
22.3.4
|
Writing Simple Output
|
22.4
|
Working with Complex User I/O
|
22.4.1
|
Compaq DECwindows Motif
|
22.4.1.1
|
DECwindows Server Height or Width Exceeding 32767 (VAX Only)
|
22.4.1.2
|
SET DISPLAY Used to Create WSA Pseudo Workstation Devices
|
22.4.2
|
SMG$ Run-Time Routines
|
22.4.3
|
Pasteboards
|
22.4.3.1
|
Erasing a Pasteboard
|
22.4.3.2
|
Deleting a Pasteboard
|
22.4.3.3
|
Setting Screen Dimensions and Background Color
|
22.4.4
|
Virtual Displays
|
22.4.4.1
|
Creating a Virtual Display
|
22.4.4.2
|
Pasting Virtual Displays
|
22.4.4.3
|
Rearranging Virtual Displays
|
22.4.4.4
|
Removing Virtual Displays
|
22.4.4.5
|
Modifying a Virtual Display
|
22.4.4.6
|
Using Spawned Subprocesses
|
22.4.5
|
Viewports
|
22.4.6
|
Writing Text to Virtual Display
|
22.4.6.1
|
Positioning the Cursor
|
22.4.6.2
|
Writing Data Character by Character
|
22.4.6.3
|
Writing Data Line by Line
|
22.4.6.4
|
Drawing Lines
|
22.4.6.5
|
Deleting Text
|
22.4.7
|
Using Menus
|
22.4.8
|
Reading Data
|
22.4.8.1
|
Reading from a Display
|
22.4.8.2
|
Reading from a Virtual Keyboard
|
22.4.8.3
|
Reading from the Keypad
|
22.4.8.4
|
Reading Composed Input
|
22.4.9
|
Controlling Screen Updates
|
22.4.10
|
Maintaining Modularity
|
22.5
|
Performing Special Input/Output Actions
|
22.5.1
|
Using Ctrl/C and Ctrl/Y Interrupts
|
22.5.2
|
Detecting Unsolicited Input
|
22.5.3
|
Using the Type-Ahead Buffer
|
22.5.4
|
Using Echo
|
22.5.5
|
Using Timeout
|
22.5.6
|
Converting Lowercase to Uppercase
|
22.5.7
|
Performing Line Editing and Control Actions
|
22.5.8
|
Using Broadcasts
|
22.5.8.1
|
Default Handling of Broadcasts
|
22.5.8.2
|
How to Create Alternate Broadcast Handlers
|