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
|
HP DECwindows Motif
|
22.4.1.1
|
DECwindows Server Height or Width Exceeding 32767 (VAX Only)
|
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
|
Chapter 23 |
23
|
System Service Input/Output Operations
|
23.1
|
Overview of OpenVMS QIO Operations
|
23.2
|
Quotas, Privileges, and Protection
|
23.2.1
|
Buffered I/O Quota
|
23.2.2
|
Buffered I/O Byte Count Quota
|
23.2.3
|
Direct I/O Quota
|
23.2.4
|
AST Quota
|
23.2.5
|
Physical I/O Privilege
|
23.2.6
|
Logical I/O Privilege
|
23.2.7
|
Mount Privilege
|
23.2.8
|
Share Privilege
|
23.2.9
|
Volume Protection
|
23.2.10
|
Device Protection
|
23.2.11
|
System Privilege
|
23.2.12
|
Bypass Privilege
|
23.3
|
Physical, Logical, and Virtual I/O
|
23.3.1
|
Physical I/O Operations
|
23.3.2
|
Logical I/O Operations
|
23.3.3
|
Virtual I/O Operations
|
23.4
|
I/O Function Encoding
|
23.4.1
|
Function Codes
|
23.4.2
|
Function Modifiers
|
23.5
|
Assigning Channels
|
23.5.1
|
Using the Share Privilege with the SYS$ASSIGN and SYS$DASSGN Services
|
23.6
|
Queuing I/O Requests
|
23.7
|
Synchronizing Service Completion
|
23.8
|
Recommended Method for Testing Asynchronous Completion
|
23.9
|
Synchronous and Asynchronous Forms of Input/Output Services
|
23.9.1
|
Reading Operations with SYS$QIOW
|
23.9.2
|
Reading Operations with SYS$QIO
|
23.9.3
|
Write Operations with SYS$QIOW
|
23.10
|
I/O Completion Status
|
23.11
|
Deassigning I/O Channels
|
23.12
|
Using Complete Terminal I/O
|
23.13
|
Canceling I/O Requests
|
23.14
|
Logical Names and Physical Device Names
|
23.15
|
Device Name Defaults
|
23.16
|
Obtaining Information About Physical Devices
|
23.16.1
|
Checking the Terminal Device
|
23.16.2
|
Terminal Characteristics
|
23.16.3
|
Record Terminators
|
23.16.4
|
File Terminators
|
23.17
|
Device Allocation
|
23.17.1
|
Implicit Allocation
|
23.17.2
|
Deallocation
|
23.18
|
Mounting, Dismounting, and Initializing Volumes
|
23.18.1
|
Mounting a Volume
|
23.18.1.1
|
Calling the SYS$MOUNT System Service
|
23.18.1.2
|
Calling the SYS$DISMOU System Service
|
23.18.2
|
Initializing Volumes
|
23.18.2.1
|
Calling the Initialize Volume System Service
|
23.18.2.2
|
Expanding Volumes Dynamically
|
23.19
|
Formatting Output Strings
|
23.20
|
Mailboxes
|
23.20.1
|
Mailbox Name
|
23.20.2
|
System Mailboxes
|
23.20.3
|
Mailboxes for Process Termination Messages
|
23.21
|
Example of Using I/O Services
|
23.22
|
Fast I/O and Fast Path Features (Alpha and I64 Only)
|
23.22.1
|
Fast I/O (Alpha and I64 Only)
|
23.22.1.1
|
Fast I/O Benefits
|
23.22.1.2
|
Buffer Objects
|
23.22.2
|
Fast Path (Alpha and I64 Only)
|
23.22.2.1
|
Fast Path Features and Benefits
|
23.22.2.2
|
Additional Information About Fast Path
|