Document revision date: 30 March 2001
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS Programming Concepts Manual


Previous Contents Index

Part 4
Part 4 OpenVMS Programming Interfaces: Calling a System Routine
Chapter 17
17 Call Format to OpenVMS Routines
     17.1     Overview
     17.2     Format Heading
         17.2.1         Procedure Call Format
         17.2.2         JSB Call Format (VAX only)
     17.3     Returns Heading
         17.3.1         Condition Values Returned in a Register
         17.3.2         Other Returned Values
         17.3.3         Condition Values Signaled
     17.4     Arguments Heading
         17.4.1         OpenVMS Usage Entry
         17.4.2         Type Entry
         17.4.3         Access Entry
         17.4.4         Mechanism Entry
         17.4.5         Explanatory Text
     17.5     Condition Values Returned Heading
         17.5.1         Condition Values Returned
         17.5.2         Condition Values Returned in an I/O Status Block
         17.5.3         Condition Values Returned in a Mailbox
         17.5.4         Condition Values Signaled
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


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
5841PRO_CONTENTS_006.HTML