DSM for OpenVMS Programmer's Guide

*HyperReader

CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Overview of DSM
    System Overview
      DSM Language
      DSM Application Environment
      Data Management
      Precompiler
      Input/Output Processing
      External Routine Interface
      Callable Interface
      Application Interlocking
      Journaling
      Library and System Utilities
      DSM Shareable Images
      DSM Background Processes
      Shared Areas of Memory

  2      DSM Command Line
    Getting Started
    DSM Command Syntax
    DSM User Modes
      Running DSM in Programmer Mode
        Programmer Mode Defaults
      Running DSM in Application Mode
        Application Mode Defaults
    Exiting from DSM
    DSM Command Line Qualifiers
      Command Line Qualifier Syntax
      Modifying the Default Command Line Qualifiers Using ^CONFIG
      Description of Command Line Qualifiers
      Command Line Qualifier Examples

  3      Developing DSM Applications in a VMS Environment
    Logical Names in a DSM Environment
    Programming Techniques
    Running DSM from a DCL Command Procedure
    Executing a Routine in a Detached Process Using the JOB Command
    Using Sequential Files to Store Routines
      Saving a Routine in a Sequential File
      Restoring a Routine from a Sequential File
    Printing a Routine
    Saving and Restoring Globals ( ^%GTI and ^%GTO )
    Source Routine Code Protection
    Using the VAX DEC/Code Management System ( ^%CMS )
      Introduction to CMS
      Routine and Global Naming Conventions Used by ^%CMS
      Running the ^%CMS Utility

  4      Parameter Passing and Extrinsic Functions
    DO Command and Parameter Passing
    Extrinsic Functions
      Rules for Extrinsic Function Calls
      Passing Arrays to Extrinsic Functions
      Summary

  5      Using the DSM Debugger
    Overview
    Enabling and Disabling the DSM Debugger
    Breakpoints
      Setting Breakpoints with the $ZBREAK Special Variable
      Setting Breakpoints with the BREAK Command
      Setting XECUTE String Breakpoints
      Setting Breakpoint Action Strings
      Examining Breakpoints
      Clearing Breakpoints
    Watchpoints
      Setting Watchpoints with the $ZWATCH Special Variable
      Setting Watchpoint Action Strings
      Examining Watchpoints
      Clearing Watchpoints
    Continuing Execution After a Breakpoint or a Watchpoint
    Debugging Utilities
      Using the ^%STACK Utility
      Using the ^%TRACE Utility

  6      Using Error Processing
    Types of Errors
    Overview of Error Processing
      Error-Processing Functions, Variables, and Commands
    Determining the Error Code
      Establishing Error Handlers
    Call Stacks and DO Frames
      $ETRAP Error Handling and the Call Stack
      $ETRAP Error Handler Flow Control Options
      $ZTRAP Error Handling and the Call Stack
      $ZTRAP Error Handler Flow Control Options
      $ETRAP and $ZTRAP Error Handler Interaction
      Errors in an Error Handler
    Forcing an Error
      SET $ECODE Command
      ZTRAP Command
      CTRAP I/O Option
    Using Error Handlers

  7      DSM Library Utilities
    Overview
      Library Utility Conventions
      Running the DSM Library Utilities
    CMS Utility ( ^%CMS )
    Conversion Utilities
      Date and Time Converter ( ^%H )
      Numeric Conversion Utilities
        Decimal to Hex ( ^%DH )
        Decimal to Octal ( ^%DO )
        Hex to Decimal ( ^%HD )
        Hex to Octal ( ^%HO )
        Octal to Decimal ( ^%OD )
        Octal to Hex ( ^%OH )
    Debugger Utilities
    DSM Information Utilities
      Devices ( IO^%STAT )
      Directories ( ^%DIRSHO )
      Job Monitor ( ^%JOB )
      System Status ( ^%SY )
      Terminals ( TERM^%STAT )
      External Call ( ^%CD )
    Volume Set Global Utilities
      Block Mode Restore ( ^%GBR )
      Block Mode Save ( ^%GBS )
      Copy ( ^%GC )
      Directory ( ^%GD )
      Directory (Extended) ( ^%EGD )
      Directory (Library) ( LIB^%GD )
      Edit ( ^%GEDIT )
      Efficiency ( ^%GE )
      Journaling ( SETJRN^%GLOMAN )
      List ( ^%G )
      Management ( ^%GLOMAN )
      Protection ( SETPRO^%GLOMAN )
      Sequential Restore ( ^%GTI )
      Sequential Save ( ^%GTO )
      Translation Display ( ^%TRAN )
    Miscellaneous Utilities
      Additional Utility Help ( HELP^%INF )
        Error Trapping
          Error Trapping Utility ( ^%ET )
          Error Reporting Utility ( ^%ER )
        Global Select ( ^%GSEL )
        DSM Help ( ^%HELP )
        Device Select ( ^%IOS )
        Magtape Status ( ^%MTCHK )
        Routine Recompile ( ^%REPLACE )
        Routine Select ( ^%RSEL )
      Close Devices ( IO^%CLOSE )
      Date ( ^%D )
      Help List ( ^%HELPLIS )
      Menu List ( ^%MENULIS )
      Spawn ( ^%SPAWN )
      Time ( ^%T )
    Routine Utilities
      Change Every ( ^%RCE )
      Compare ( ^%RCMP )
      Copy ( ^%RCOPY )
      Delete ( ^%RPURGE )
      Directory ( ^%RD )
      Directory (Extended) ( ^%RDX )
      Directory (Library) ( LIB^%RD )
      EDT Edit ( ^%EDT )
      First Line List ( ^%FL )
      Precompiled Routine Restore ( ^%PR )
      Precompiled Routine Save ( ^%PS )
      Restore ( ^%RR )
      Save ( ^%RS )
      Search ( ^%RSE )
      Size ( ^%RSIZE )
      Syntax Check ( ^%ERRCHK )
      TPU Edit ( ^%TPU )
      Transfer ( ^%RXFER )
    VMS Information Utilities
      Device ( ^%GETDVI )
      File ( ^%GETFILE )
      General ( VMS^%STAT )
      Message ( ^%GETMSG )
      Process ( ^%GETJPI )
      System ( ^%GETSYI )
    Extrinsic Functions
      DSM Process Information Function
      DSM Job Table Information Function
      DSM Command Line Options Information Function
      DSM Open Device List Function

  8      Introduction to I/O Processing
    Overview
    Accessing Devices and Files
      I/O Command Syntax
      I/O Device Specifiers
      Device or File Type Recognition
      Principal I/O Device
    I/O Commands
    I/O Special Variables

  9      I/O Processing for Terminals
    Setting Terminal Characteristics
    Terminal Commands
      OPEN Command for Terminals
      USE Command for Terminals
      Using the ^%TERMUTL Utility to Show, Get, and Set Terminal USE Parameters
      Screen Management Facility and Foreign Terminal Support
      CLOSE Command for Terminals
      READ Command for Terminals
      READ * Command for Terminals
      WRITE Command for Terminals
      WRITE * Command for Terminals
    Optimizing Terminal Output
    Recognition of Ctrl/C and Ctrl/Y
    Escape Sequence Processing
      $ZB Special Variable in Escape Sequence Processing
      VT200, VT300, and VT400 Function Key Support
    Terminal Status and Error Conditions
    Local Area Transport Support for Terminals
      Logging In to a VMS System Using LAT
      Server and Port Names
      Printers and Host-Initiated Connections
      Modifying LAT Terminal Characteristics
      Using Dedicated LAT Ports
        Creating Dedicated LAT Ports
        Dedicated Port Example
        Using a Dedicated Port for $PRINCIPAL

  10     I/O for DSM Magnetic Tape
    Magnetic Tape Commands
      OPEN Command for Magnetic Tape
      USE Command for Magnetic Tape
      CLOSE Command for Magnetic Tape
      WRITE and ZPRINT Commands for Magnetic Tape
      WRITE * Command for Magnetic Tape
      READ and ZLOAD Commands for Magnetic Tape
    Magnetic Tape Operations
    VIEW Buffer Mode
    Tape Labels and Multiple File Structures
    Data Formats
    Magnetic Tape Error Conditions
    Modifying the ASCII/EBCDIC Conversion Tables
    Utility Support for DSM Magnetic Tape

  11     Input/Output Processing for RMS Files, VMS Mailboxes, and Network Devices
    Using RMS Files
      File Organization
      File Access Methods
        Record I/O
        Block I/O
      Creating and Opening Files
      Positioning Files
      Overview of Writing and Reading Records
      File Sharing
      File Protection
    Sequential Files on Disk
      Sequential File Commands
        OPEN Command for Sequential Files
        USE Command for Sequential Files
        CLOSE Command for Sequential Files
        READ Command for Sequential Files
        READ * Command for Sequential Files
        WRITE Command for Sequential Files
        WRITE * Command for Sequential Files
        ZPRINT Command for Sequential Files
        ZLOAD Command for Sequential Files
      Sequential File Status and Error Conditions
    Sequential Files on Magnetic Tape
      RMS Magnetic Tape Operations
      RMS Magnetic Tape Access Modes
        Accessing File-Structured Tapes
        Accessing Non-File-Structured Tapes
      RMS Magnetic Tape Status and Error Conditions
      RMS Magnetic Tape Commands
        OPEN Command for RMS Magnetic Tape
        USE Command for RMS Magnetic Tape
        CLOSE Command for RMS Magnetic Tape
        READ and WRITE Commands for RMS Magnetic Tape
    Indexed Files
      Indexed File Commands
        OPEN Command for Indexed Files
        USE Command for Indexed Files
        CLOSE Command for Indexed Files
        READ Command for Indexed Files
        WRITE Command for Indexed Files
      Record Locking for Indexed Files
      Indexed File Status and Error Conditions
    Relative Files
      Relative File Commands
        OPEN Command for Relative Files
        USE Command for Relative Files
        CLOSE Command for Relative Files
        READ Command for Relative Files
        WRITE Command for Relative Files
      Relative File Record Locking
      Relative File Status and Error Conditions
    Using Mailboxes
      Creating Mailboxes
      Mailbox Logical Names
      Mailbox Commands
        OPEN Command for Mailboxes
        OPEN Command Timeout
        USE Command for Mailboxes
        CLOSE Command for Mailboxes
        READ Command for Mailboxes
        WRITE Command for Mailboxes
        Mailbox Status and Error Conditions
    Communicating with Remote Computers Using DECnet Software
      Limitations on Operations Across the Network
      Reading and Writing Files Across the Network
      DECnet Task-to-Task Communication Across the Network
        Defining a DECnet Object
        Writing a Network Command Procedure
        Writing DSM Programs
      Using Mailboxes Across the Network

  12     I/O Over TCP/IP
    TCP/IP Network Communication
      TCP/IP Support for OpenVMS Systems
      DSM Server
      DSM Client
      DSM Client and DSM Server

  13     Using Device Control Mnemonics
    Device Handling Overview
      Device Control Mnemonic Spaces and Device Control Mnemonics
      Performing Output Format Control
      Associating Mnemonic Spaces with Devices
      Customizing Applications to Handle Different Device Types
      Developing a Device Control Mnemonic Space
      Creating the Device Control Mnemonics Table
        Format of the Device Control Mnemonics Table
      Creating the Device Control Mnemonics Table Source File

  14     DSM Supplied External Routines
    Overview
    External Call Directory Utility ( ^%CD )
    VMS Related External Routines
      VMS Service Functions
      Mathematical Functions
      Text-Manipulation Functions
      File-Related Functions
    DSM Functions
    Alphabetical List of Supplied External Routines
      %ARCCOS
      %ARCSIN
      %ARCTAN
      %ASCEBC
      %ATTACH
      %BASEDIT
      %BOOLEAN
      %CDATASC
      %CDATNUM
      %CHKSUM
      %COS
      %CRELOG
      %CTIMASC
      %CTIMNUM
      %CURRENCY
      %CVMSHOR
      %DAYS
      %DEJRNL
      %DELLOG
      %DELSYM
      %DES
      %DIGISEP
      %DIRECTORY
      %DISABLCTRL
      %DISMOUNT
      %EBCASC
      %EDT
      %ENABLCTRL
      %EXP
      %FDLCREATE
      %GETDVI
      %GETFILE
      %GETJPI
      %GETMSG
      %GETSYI
      %GETSYM
      %GETUAI
      %HIBER
      %IOCLOSE
      %LOG10
      %LOG
      %LPLINES
      %MAX
      %MIN
      %MOUNT
      %MTerm
      %OPCOM
      %PARSE
      %POWER
      %PRINT
      %PROMPT
      %RADIXPT
      %SECMAP
      %SECSHOW
      %SETPRI
      %SETPRN
      %SETSYM
      %SETUCI
      %SIN
      %SPAWN
      %SQRT
      %SUBMIT
      %SYSFAO
      %TAN
      %TPU
      %TRANSLATE
      %TRNLNM
      %TRNLOG
      %UCI
      %UPCASE
      %UPCASEQ
      %VERSION
      %VIEWASSIGN
      %VIEWBUFFER
      %WAKE
    Memory Management External Routines
      Block Allocation/Deallocation External Routines
        %VMGET
        %VMFREE
      Block Writing External Routines
      Block Reading External Routines
      BLOCK INPUT Line Keyword

  A Error Messages
    Error Message Format
      Level 2 Errors
      Level 4 Errors
    Error Messages
      ALLOC . . . BLPRT
      BREAK . . . CI_NOTINIT
      CI_SDB . . . DBDGD
      DDPBUFFR . . . DDPINVCODE
      DDPLNKEXISTS . . . DEALLOC
      DELETERR . . . ECODE
      ECODETRAP . . . FRAME
      FUNC . . . GLSACCERR
      GLSALRMNT . . . GLSDBDGD10
      GLSDBDGD11 . . . GLSOPNERR
      GLSOPTION . . . ICBADTYP
      ICBADUCI . . . ICNORIGHT
      ICOSETIS . . . INVDEVNAM
      INVGBLNAM . . . LCKBUFOVF
      LCKERR . . . MAXGLOBAL
      MAXTERM . . . MW_BITMAP
      MW_ILLEVENT . . . MW_NOFILE
      MW_NONMODAL . . . NOMSG
      NOPRIV . . . NUMBER
      OPENERR . . . PLDER
      PNAME . . . RULEVELERR
      RUNDOWN . . . SHUTINPROG
      SPACERR . . . TPINVTXID
      TPLOGIC . . . VIEWERR
      VIEWPROT . . . ZCPARSE
      ZCSIGNAL . . . ZUSERR

  B Modifying the DSM Error Message File