VMS Record Management Services Manual

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  Part I   General Information about VMS Record Management Services

  1      Introduction to VMS RMS

  1.1     VMS RMS Functions

  1.2     Passing Arguments to VMS RMS
    1.2.1      VMS RMS Services and Control Blocks
    1.2.2      Control Blocks for File Services
    1.2.3      Control Blocks for Record Services
    1.2.4      The Dual Purpose of Control Blocks

  2      The Program Interface with VMS RMS

  2.1     The Run-Time Environment and VMS RMS Programming

  2.2     Conventions for Naming Fields

  2.3     The VMS RMS Calling Sequence

  2.4     Service Completion

  2.5     Allowable Program Execution Modes

  2.6     Access-mode Protected Memory

  2.7     Reserved Event Flags

  2.8     DEC Multinational Character Set

  3      VMS RMS Macros and VAX MACRO Programming

  3.1     VMS RMS Macros
    3.1.1      Conventions for Naming VMS RMS Macros
    3.1.2      Applicable VAX MACRO Syntax Rules

  3.2     Using the VMS RMS Macros
    3.2.1      Control Block Initialization Macros
    3.2.2      Control Block Symbol Definition Macros
    3.2.3      Control Block Store Macros
    3.2.4      Service Macros

  4      VMS RMS Example Programs

  4.1     Creating, Accessing, and Deaccessing a File
    4.1.1      Example of Opening and Creating Files
    4.1.2      Example of Creating a Multiple-Key Indexed File

  4.2     Processing File Specifications

  4.3     Connecting and Disconnecting Record Streams

  4.4     Other File-Processing Operations

  4.5     Retrieving and Inserting Records

  4.6     Deleting Records

  4.7     Updating Records

  4.8     Using Block I/O
    4.8.1      Mixed Block and Record I/O
    4.8.2      The Next Block Pointer (NBP)

  4.9     Other Record-Processing Operations

  4.10    Control Routines

  Part II-VMS RMS Control Blocks

  5      File Access Block (FAB)

  5.1     Summary of Fields

  5.2     FAB$B_ACMODES Field

  5.3     FAB$L_ALQ Field

  5.4     FAB$B_BID Field

  5.5     FAB$B_BKS Field

  5.6     FAB$B_BLN Field

  5.7     FAB$W_BLS Field

  5.8     FAB$V_CHAN_MODE Subfield
    5.8.1      Override Value
    5.8.2      Channel Access Mode Function

  5.9     FAB$L_CTX Field

  5.10    FAB$W_DEQ Field

  5.11    FAB$L_DEV Field

  5.12    FAB$L_DNA Field

  5.13    FAB$B_DNS Field

  5.14    FAB$B_FAC Field

  5.15    FAB$L_FNA Field

  5.16    FAB$B_FNS Field

  5.17    FAB$L_FOP Field

  5.18    FAB$B_FSZ Field

  5.19    FAB$W_GBC Field

  5.20    FAB$W_IFI Field

  5.21    FAB$B_JOURNAL Field

  5.22    FAB$V_LNM_MODE Subfield

  5.23    FAB$L_MRN Field

  5.24    FAB$W_MRS Field

  5.25    FAB$L_NAM Field

  5.26    FAB$B_ORG Field

  5.27    FAB$B_RAT Field

  5.28    FAB$B_RFM Field

  5.29    FAB$B_RTV Field

  5.30    FAB$L_SDC Field

  5.31    FAB$B_SHR Field

  5.32    FAB$L_STS Field

  5.33    FAB$L_STV Field

  5.34    FAB$L_XAB Field

  6      Name Block (NAM)

  6.1     Summary of Fields

  6.2     File Specification Component Descriptors

  6.3     NAM$B_BID Field

  6.4     NAM$B_BLN Field

  6.5     NAM$B_DEV and NAM$L_DEV Fields

  6.6     NAM$W_DID Field

  6.7     NAM$B_DIR and NAM$L_DIR Fields

  6.8     NAM$T_DVI Field

  6.9     NAM$L_ESA Field

  6.10    NAM$B_ESL Field

  6.11    NAM$B_ESS Field

  6.12    NAM$W_FID Field

  6.13    NAM$L_FNB Field

  6.14    NAM$B_NAME and NAM$L_NAME Fields

  6.15    NAM$B_NODE and NAM$L_NODE Fields

  6.16    NAM$B_NOP Field

  6.17    NAM$L_RLF Field

  6.18    NAM$L_RSA Field

  6.19    NAM$B_RSL Field

  6.20    NAM$B_RSS Field

  6.21    NAM$B_TYPE and NAM$L_TYPE Fields

  6.22    NAM$B_VER and NAM$L_VER Fields

  6.23    NAM$L_WCC Field

  7      Record Access Block (RAB)

  7.1     Summary of Fields

  7.2     RAB$B_BID Field

  7.3     RAB$L_BKT Field

  7.4     RAB$B_BLN Field

  7.5     RAB$L_CTX Field

  7.6     RAB$L_FAB Field

  7.7     RAB$W_ISI Field

  7.8     RAB$L_KBF Field

  7.9     RAB$B_KRF Field

  7.10    RAB$B_KSZ Field

  7.11    RAB$B_MBC Field

  7.12    RAB$B_MBF Field

  7.13    RAB$L_PBF Field

  7.14    RAB$B_PSZ Field

  7.15    RAB$B_RAC Field

  7.16    RAB$L_RBF Field

  7.17    RAB$W_RFA Field

  7.18    RAB$L_RHB Field

  7.19    RAB$L_ROP Field

  7.20    RAB$W_RSZ Field

  7.21    RAB$L_STS Field

  7.22    RAB$L_STV Field

  7.23    RAB$B_TMO Field

  7.24    RAB$L_UBF Field

  7.25    RAB$W_USZ Field

  7.26    RAB$L_XAB Field

  8      Allocation Control XAB (XABALL)

  8.1     Summary of Fields

  8.2     XAB$B_AID Fields

  8.3     XAB$B_ALN Field

  8.4     XAB$L_ALQ Field

  8.5     XAB$B_AOP Field

  8.6     XAB$B_BKZ Field

  8.7     XAB$B_BLN Field

  8.8     XAB$B_COD Field

  8.9     XAB$W_DEQ Field

  8.10    XAB$L_LOC Field

  8.11    XAB$L_NXT Field

  8.12    XAB$W_RFI Field

  8.13    XAB$W_VOL Field

  9      Date and Time XAB (XABDAT)

  9.1     Summary of Fields

  9.2     XAB$Q_BDT Field

  9.3     XAB$B_BLN Field

  9.4     XAB$Q_CDT Field

  9.5     XAB$B_COD Field

  9.6     XAB$Q_EDT Field

  9.7     XAB$L_NXT Field

  9.8     XAB$Q_RDT Field

  9.9     XAB$W_RVN Field

  10     File Header Characteristic XAB (XABFHC)

  10.1    Summary of Fields

  10.2    XAB$B_ATR Field

  10.3    XAB$B_BKZ Field

  10.4    XAB$B_BLN Field

  10.5    XAB$B_COD Field

  10.6    XAB$W_DXQ Field

  10.7    XAB$L_EBK Field

  10.8    XAB$W_FFB Field

  10.9    XAB$W_GBC Field

  10.10  XAB$L_HBK Field

  10.11  XAB$B_HSZ Field

  10.12  XAB$W_LRL Field

  10.13  XAB$W_MRZ Field

  10.14  XAB$L_NXT Field

  10.15  XAB$B_RFO Field

  10.16  XAB$L_SBN Field

  10.17  XAB$W_VERLIMIT Field

  11     Item List XAB (XABITM)

  11.1    Summary of Fields
    11.1.1     XAB$B_BLN Field
    11.1.2     XAB$B_COD Field
    11.1.3     XAB$L_ITEMLIST Field
    11.1.4     XAB$B_MODE Field
    11.1.5     XAB$L_NXT Field

  11.2    Network File Access Items (XAB$_NET_...  and XAB$_CAP_...)

  11.3    File User Characteristics Items (XAB$_UCHAR_...)

  11.4    VMS RMS Performance Monitoring (XAB$_STAT_ENABLE)

  11.5    VMS Support for Compound Documents (XAB$_..._SEMANTICS)

  11.6    Specifying the Number of Local Buffers (XAB$_MULTIBUFFER_COUNT)

  11.7    Expiration Date and Time Suppression
    11.7.1     XAB$_NORECORD XABITM
    11.7.2     Application

  12     Journaling XAB (XABJNL)

  13     Key Definition XAB (XABKEY)

  13.1    Summary of Fields

  13.2    XAB$B_BLN Field

  13.3    XAB$B_COD Field

  13.4    XAB$L_COLNAM Field

  13.5    XAB$L_COLSIZ Field

  13.6    XAB$L_COLTBL Field

  13.7    XAB$B_DAN Field

  13.8    XAB$B_DBS Field

  13.9    XAB$W_DFL Field

  13.10  XAB$B_DTP Field

  13.11  XAB$L_DVB Field

  13.12  XAB$B_FLG Field

  13.13  XAB$B_IAN Field

  13.14  XAB$B_IBS Field

  13.15  XAB$W_IFL Field

  13.16  XAB$L_KNM Field

  13.17  XAB$B_LAN Field

  13.18  XAB$B_LVL Field

  13.19  XAB$W_MRL Field

  13.20  XAB$B_NSG Field

  13.21  XAB$B_NUL Field

  13.22  XAB$L_NXT Field

  13.23  XAB$W_POS0 Through XAB$W_POS7 Field

  13.24  XAB$B_PROLOG Field

  13.25  XAB$B_REF Field

  13.26  XAB$L_RVB Field

  13.27  XAB$B_SIZ0 Through XAB$B_SIZ7 Field

  13.28  XAB$B_TKS Field

  14     Protection XAB (XABPRO)

  14.1    Summary of Fields

  14.2    XAB$L_ACLBUF Field

  14.3    XAB$L_ACLCTX Field

  14.4    XAB$W_ACLLEN Field

  14.5    XAB$W_ACLSIZ Field

  14.6    XAB$L_ACLSTS Field

  14.7    XAB$B_BLN Field

  14.8    XAB$B_COD Field

  14.9    XAB$W_GRP Field

  14.10  XAB$W_MBM Field

  14.11  XAB$B_MTACC Field

  14.12  XAB$L_NXT Field

  14.13  XAB$W_PRO Field

  14.14  XAB$B_PROT_OPT Field

  14.15  XAB$L_UIC Field

  15     Revision Date and Time XAB (XABRDT)

  15.1    Summary of Fields

  15.2    XAB$B_BLN Field

  15.3    XAB$B_COD Field

  15.4    XAB$L_NXT Field

  15.5    XAB$Q_RDT Field

  15.6    XAB$W_RVN Field

  16     Recovery Unit XAB (XABRU)

  17     Summary XAB (XABSUM)

  17.1    Summary of Fields

  17.2    XAB$B_BLN Field

  17.3    XAB$B_COD Field

  17.4    XAB$B_NOA Field

  17.5    XAB$B_NOK Field

  17.6    XAB$L_NXT Field

  17.7    XAB$W_PVN Field

  18     Terminal XAB (XABTRM)

  18.1    Summary of Fields

  18.2    XAB$B_BLN Field

  18.3    XAB$B_COD Field

  18.4    XAB$L_ITMLST Field

  18.5    XAB$W_ITMLST_LEN Field

  18.6    XAB$L_NXT Field

  Part III-VMS RMS Services

  $CLOSE

  $CONNECT

  $CREATE

  $DELETE

  $DISCONNECT

  $DISPLAY

  $ENTER

  $ERASE

  $EXTEND

  $FIND

  $FLUSH

  $FREE

  $GET

  $NXTVOL

  $OPEN

  $PARSE

  $PUT

  $READ

  $RELEASE

  $REMOVE

  $RENAME

  $REWIND

  $SEARCH

  $SPACE

  $TRUNCATE

  $UPDATE

  $WAIT

  $WRITE

  A   VMS RMS Completion Status Codes

  B   RMS Control Block Macros

  $FAB

  $FAB_STORE

  $NAM

  $NAM_STORE

  $RAB

  $RAB_STORE

  $XABALL

  $XABALL_STORE

  $XABDAT

  $XABDAT_STORE

  $XABFHC

  $XABFHC_STORE

  $XABITM

  $XABKEY

  $XABKEY_STORE

  $XABPRO

  $XABPRO_STORE

  $XABRDT

  $XABRDT_STORE

  $XABSUM

  $XABSUM_STORE

  $XABTRM

  $XABTRM_STORE

  EXAMPLES

  3-1        Use of the $XABDAT and $XABDAT_STORE Macros

  4-1        Use of the Create, Open, and Close Services

  4-2        Use of the Create Service for an Indexed File

  4-3        Wildcard Processing Using Parse and Search Services

  4-4        Use of the Connect Service and Multiple Keys

  4-5        Use of the Rename Service

  4-6        Use of the Get and Put Services

  4-7        Use of the Delete Service

  4-8        Use of the Update Service

  4-9        Use of Block I/O

  11-1       Using XABITM to Enable VMS RMS Statistics

  FIGURES

  2-1        Argument List Format

  11-1       Item Descriptor Data Structure

  14-1       File Protection Field

  TABLES

  3-1        User Control Blocks

  3-2        VMS RMS Services

  3-3        File, Record, and Block I/O Processing Macros

  5-1        FAB Fields

  5-2        Device Characteristics

  5-3        File Processing Options

  5-4        Maximum Record Size for File Organizations and Record Formats

  6-1        NAM Block Fields

  6-2        NAM$L_FNB Status Bits

  7-1        RAB Fields

  7-2        Record Processing Options

  8-1        XABALL Fields

  9-1        XABDAT Fields

  10-1       XABFHC Fields

  11-1       XABITM Fields

  11-2       XABITM Item List

  11-3       System Networking Capabilities

  11-4       File User Characteristics

  11-5       Tag Support Item Codes

  13-1       XABKEY Fields

  14-1       XABPRO Fields

  15-1       XABRDT Fields

  17-1       XABSUM Fields

  18-1       XABTRM Fields

  RMS-1     Close Service FAB and XAB Input Fields

  RMS-2     Close Service FAB and XAB Output Fields

  RMS-3     Connect Service RAB Input Fields

  RMS-4     Connect Service RAB Output Fields

  RMS-5     Create Service FAB and XAB Input Fields

  RMS-6     Create Service FAB and XAB Output Fields

  RMS-7     Create Service NAM Block Input Fields

  RMS-8     Create Service NAM Block Output Fields

  RMS-9     Delete Service RAB Input Fields

  RMS-10   Delete Service RAB Output Fields

  RMS-11   Disconnect Service RAB Input Fields

  RMS-12   Disconnect Service RAB Output Fields

  RMS-13   Display Service FAB and NAM Input Fields

  RMS-14   Display Service FAB, NAM, and XAB Output Fields

  RMS-15   Enter Service FAB and NAM Input Fields

  RMS-16   Enter Service FAB and NAM Output Fields

  RMS-17   Erase Service FAB and NAM Input Fields

  RMS-18   Erase Service FAB and NAM Output Fields

  RMS-19   Extend Service FAB Input Fields

  RMS-20   Extend Service FAB Output Fields

  RMS-21   Find Service RAB Input Fields

  RMS-22   Find Service RAB Output Fields

  RMS-23   Flush Service RAB Input Fields

  RMS-24   Flush Service RAB Output Fields

  RMS-25   Free Service RAB Input Fields

  RMS-26   Free Service RAB Output Fields

  RMS-27   Get Service RAB Input Fields

  RMS-28   Get Service RAB Output Fields

  RMS-29   Next Volume Service RAB Input Fields

  RMS-30   Delete Service RAB Output Fields

  RMS-31   Open Service FAB and XAB Input Fields

  RMS-32   Open Service FAB and XAB Output Fields

  RMS-33   Open Service NAM Block Input Fields

  RMS-34   Open Service NAM Block Output Fields

  RMS-35   Parse Service FAB and NAM Block Input Fields

  RMS-36   Parse Service FAB and NAM Block Output Fields

  RMS-37   Put Service RAB Input Fields

  RMS-38   Put Service RAB Output Fields

  RMS-39   Read Service RAB Input Fields

  RMS-40   Read Service RAB Output Fields

  RMS-41   Release Service RAB Input Fields

  RMS-42   Release Service RAB Output Fields

  RMS-43   Remove Service FAB and NAM Block Input Fields

  RMS-44   Remove Service FAB and NAM Block Output Fields

  RMS-45   Rename Service FAB and NAM Block Input Fields

  RMS-46   Rename Service FAB and NAM Block Output Fields

  RMS-47   Rewind Service RAB Input Fields

  RMS-48   Rewind Service RAB Output Fields

  RMS-49   Search Service FAB and NAM Block Input Fields

  RMS-50   Search Service FAB and NAM Block Output Fields

  RMS-51   Space Service RAB Input Fields

  RMS-52   Space Service RAB Output Fields

  RMS-53   Truncate Service RAB Input Fields

  RMS-54   Truncate Service RAB Output Fields

  RMS-55   Update Service RAB Input Fields

  RMS-56   Update Service RAB Output Fields

  RMS-57   Wait Service RAB Input Fields

  RMS-58   Wait Service RAB Output Fields

  RMS-59   Write Service RAB Input Fields

  RMS-60   Write Service RAB Output Fields

  A-1        Completion Status Hexadecimal Values and Codes

  A-2        Descriptions of VMS RMS Completion Status Codes