VMS Help  —  RMS  RMS Control Block Macros
    This topic provides you with the format of each RMS control block
    macro.

1  –  $FAB

    The $FAB macro allocates storage for a FAB and initializes
    certain FAB fields with defaults and user-specified values. No
    value is returned for this assembly-time operation.

    Format

      $FAB  ALQ=allocation-quantity,

            BKS=bucket-size,

            BLS=block-size,

            CHAN_MODE=channel-access-mode

            CTX=user-context-value,

            DEQ=extension-quantity,

            DNA=default-filespec-address,

            DNM=<filespec>,

            DNS=default-filespec-string-size,

            FAC=<BIO BRO DEL GET PUT TRN UPD>,

            FNA=filespec-string-address,

            FNM=<filespec>,

            FNS=filespec-string-size,

            FOP=<CBT CIF CTG DFW DLT MXV NAM NEF NFS OFP POS RCK RWC

            RWO SCF SPL SQO SUP TEF TMD TMP UFO WCK>,

            FSZ=header-size,

            GBC=global-buffer-count,

            LNM_MODE=logical-name-translation-access-mode,

            MRN=maximum-record-number,

            MRS=maximum-record-size,

            NAM=nam-address,

            ORG={IDX|REL|SEQ},

            RAT=<BLK{CR|FTN|PRN}>,

            RFM={FIX|STM|STMCR|STMLF|UDF|VAR|VFC},

            RTV=window-size,

            SHR=<DEL GET MSE NIL PUT UPD UPI NQL>,

            XAB=xab-address

2  –  $FAB STORE

    The $FAB_STORE macro moves user-specified values into fields of
    the specified FAB. The expanded $FAB_STORE code executes at run
    time on a previously initialized (allocated) FAB, in contrast to
    the $FAB macro, which initializes the FAB at assembly time. The
    $FAB_STORE macro must reside in a code program section.

    Format

      $FAB_STORE  fab=fab-address,

                  ALQ=#allocation-quantity,

                  BKS=#bucket-size,

                  BLS=#block-size,

                  CHAN_MODE=#channel-access-mode

                  CTX=user-context-value,

                  DEQ=#extension-quantity,

                  DNA=default-filespec-address,

                  DNS=#default-filespec-string-size,

                  FAC=<BIO BRO DEL GET PUT TRN UPD>,

                  FNA=filespec-string-address,

                  FNS=#filespec-string-size,

                  FOP=<CBT CIF CTG DFW DLT MXV NAM NEF NFS OFP POS

                  RCK RWC RWO SCF SPL SQO SUP TEF TMD TMP UFO WCK>,

                  FSZ=#header-size,

                  GBC=#global-buffer-count,

                  LNM_MODE=#logical-name-translation-access-mode,

                  MRN=#maximum-record-number,

                  MRS=#maximum-record-size,

                  NAM=nam-address,

                  ORG={IDX|REL|SEQ},

                  RAT=<BLK{CR|FTN|PRN}>,

                  RFM={FIX|STM|STMCR|STMLF|UDF|VAR|VFC},

                  RTV=#window-size,

                  SHR=<DEL GET MSE NIL PUT UPD UPI NQL>,

                  XAB=xab-address

3  –  $NAM

    The $NAM macro allocates storage for a NAM block and initializes
    certain NAM fields with default values and user-specified values.
    No value is returned for this assembly-time operation.

    Format

      $NAM  ESA=expanded-string-address,

            ESS=expanded-string-size,

            NOP=<NOCONCEAL PWD NO_SHORT_UPCASE SRCHXABS SYNCHK>,

            RLF=related-file-nam-block-address,

            RSA=resultant-string-address,

            RSS=resultant-string-size

4  –  $NAM STORE

    The $NAM_STORE macro moves user-specified values into fields of
    the specified NAM block. The expanded $NAM_STORE code executes
    at run time on a previously initialized (allocated) NAM block,
    in contrast to the $NAM macro, which initializes a NAM block at
    assembly time. The $NAM_STORE macro must reside in a code program
    section.

    Format

      $NAM_STORE  NAM=nam-address,

                  DID=#directory-identification,

                  DVI=#device-identification,

                  ESA=expanded-string-address,

                  ESS=#expanded-string-size,

                  FID=#file-identification,

                  NOP=<NOCONCEAL NO_SHORT_UPCASE PWD SRCHXABS

                  SYNCHK>,

                  RLF=related-file-nam-block-address,

                  RSA=resultant-string-address,

                  RSS=#resultant-string-size

5  –  $NAML

    The $NAML macro allocates storage for a NAML block and
    initializes certain NAML fields with default values and user-
    specified values.

    Format

      $NAML  ESA=expanded-string-address,

             ESS=expanded-string-size,

             NOP=<NOCONCEAL PWD NO_SHORT_UPCASE SRCHXABS SYNCHK>,

             RLF=related-file-nam-block-address,

             RSA=resultant-string-address,

             RSS=resultant-string-size,

             FILESYS_NAME=file system name buffer address,

             FILESYS_NAME_ALLOC=file system name buffer size,

             INPUT_FLAGS=<NO_SHORT_OUTPUT>,

             LONG_DEFNAME=long default file specification string

             address,

             LONG_DEFNAME_SIZE=long default file specification string

             size,

             LONG_FILENAME=long file specification string address,

             LONG_FILENAME_SIZE=long file specification string size,

             LONG_EXPAND=long expanded string area address,

             LONG_EXPAND_ALLOC=long expanded string area size,

             LONG_RESULT=long resultant string area address,

             LONG_RESULT_ALLOC=long resultant string area size,

             USER_CONTEXT=user context

6  –  $NAML STORE

    The $NAML_STORE macro moves user-specified values into fields of
    the specified NAML block. The expanded $NAML_STORE code executes
    at run time on a previously initialized (allocated) NAML block,
    in contrast to the $NAML macro, which initializes a NAML block
    at assembly time. The $NAML_STORE macro must reside in a code
    program section.

    Format

      $NAML_STORE  NAM=naml-address,

                   DID=#directory-identification,

                   DVI=#device-identification,

                   ESA=expanded-string-address,

                   ESS=#expanded-string-size,

                   FID=#file-identification,

                   NOP=<NOCONCEAL NO_SHORT_UPCASE PWD SRCHXABS

                   SYNCHK>,

                   RLF=related-file-nam-block-address,

                   RSA=resultant-string-address,

                   RSS=#resultant-string-size,

                   FILESYS_NAME=file system name buffer address,

                   FILESYS_NAME_ALLOC=#file system name buffer size,

                   INPUT_FLAGS=<NO_SHORT_OUTPUT>,

                   LONG_DEFNAME=long default file specification

                   string address,

                   LONG_DEFNAME_SIZE=#long default file specification

                   string size,

                   LONG_FILENAME=long file specification string

                   address,

                   LONG_FILENAME_SIZE=#long file specification string

                   size,

                   LONG_EXPAND=long expanded string area address,

                   LONG_EXPAND_ALLOC=#long expanded string area size,

                   LONG_RESULT=long resultant string area address,

                   LONG_RESULT_ALLOC=#long resultant string area

                   size,

                   USER_CONTEXT=#user context

7  –  $RAB

    The $RAB macro allocates storage for a RAB and initializes
    certain RAB fields with defaults and user-specified values.
    You cannot use this macro within a sequence of executable
    instructions. No value is returned for this assembly-time
    operation.

    Format

      $RAB  BKT=bucket-code-number,

            CTX=user-context-value,

            FAB=fab-address,

            KBF=key-buffer-address,

            KRF=key-of-reference-number,

            KSZ=key-size,

            MBC=multiblock-count-number,

            MBF=multibuffer-count-number,

            PBF=prompt-buffer-address,

            PSZ=prompt-buffer-size,

            RAC={KEY|RFA|SEQ},

            RBF=record-buffer-address,

            RHB=record-header-buffer-address,

            ROP=<ASY BIO CCO CDK CVT EOF EQNXT ETO FDL KGE KGT LIM

            LOA LOC NLK NXR NXT PMT PTA RAH REA REV RLK RNE RNF RRL

            TMO TPT UIF ULK WAT WBH>,

            ROP_2=<NQL NODLCKWT NODLCKBLK>,

            RSZ=record-size,

            TMO=time-out-number-of-seconds,

            UBF=user-record-buffer-address,

            USZ=user-record-buffer-size,

            XAB=xab-address

8  –  $RAB STORE

    The $RAB_STORE macro moves user-specified values into fields of
    the specified RAB. The expanded $RAB_STORE code executes at run
    time on a previously initialized (allocated) RAB, in contrast
    to the $RAB macro, which allocates and initializes the RAB at
    assembly time. The $RAB_STORE macro must reside in a code program
    section.

    Format

      $RAB_STORE  RAB=rab-address,

                  BKT=#bucket-code-number,

                  CTX=user-context-value,

                  FAB=fab-address,

                  KBF=key-buffer-address,

                  KRF=#key-of-reference-number,

                  KSZ=#key-size,

                  MBC=#multiblock-count-number,

                  MBF=#multibuffer-count-number,

                  PBF=prompt-buffer-address,

                  PSZ=#prompt-buffer-size,

                  RAC={KEY|RFA|SEQ},

                  RBF=record-buffer-address,

                  RFA=#record-file-address,

                  RHB=record-header-buffer-address,

                  ROP=<ASY BIO CCO CDK CVT EOF EQNXT ETO FDL KGE KGT

                  LIM LOA LOC NLK NXR NXT PMT PTA RAH REA REV RLK RNE

                  RNF RRL TMO TPT UIF ULK WAT WBH>,

                  ROP_2=<NQL NODLCKWT NODLCKBLK>,

                  RSZ=#record-size,

                  TMO=#time-out-number-of-seconds,

                  UBF=user-record-buffer-address,

                  USZ=#user-record-buffer-size,

                  XAB=xab-address

9  –  $RAB64 (Alpha Only)

    On Alpha systems, the $RAB64 macro allocates storage for a RAB64
    and initializes certain RAB64 fields with defaults and user-
    specified values. You cannot use this macro within a sequence of
    executable instructions. No value is returned for this assembly-
    time operation.

    The defaults unique to $RAB64 are as follows:

    o  RAB64$B_BLN is initialized to RAB64$C_BLN64.

    o  The original longword I/O buffers (KBF, RHB, RBF, and UBF) are
       initialized to -1; USZ and RSZ word sizes are initialized to
       0.

    User-specified values using the CTX, KBF, RHB, RBF, RSZ, UBF,
    or USZ keywords are moved into the quadword fields for these
    keywords. In contrast, the $RAB macro moves them into the
    longword (or word) fields for these keywords.

    Format

      $RAB64  BKT=bucket-code-number,

              CTX=user-context-value,

              FAB=fab-address,

              KBF=key-buffer-address,

              KRF=key-of-reference-number,

              KSZ=key-size,

              MBC=multiblock-count-number,

              MBF=multibuffer-count-number,

              PBF=prompt-buffer-address,

              PSZ=prompt-buffer-size,

              RAC={KEY|RFA|SEQ},

              RBF=record-buffer-address,

              RHB=record-header-buffer-address,

              ROP=<ASY BIO CCO CDK CVT EOF EQNXT ETO FDL KGE KGT LIM

              LOA LOC NLK NXR NXT PMT PTA RAH REA REV RLK RNE RNF RRL

              TMO TPT UIF ULK WAT WBH>,

              ROP_2=<NQL NODLCKWT NODLCKBLK>,

              RSZ=record-size,

              TMO=time-out-number-of-seconds,

              UBF=user-record-buffer-address,

              USZ=user-record-buffer-size,

              XAB=xab-address

10  –  $RAB64 STORE (Alpha Only)

    On Alpha systems, the $RAB64_STORE macro moves user-specified
    values into fields of the specified RAB64. The expanded $RAB64_
    STORE code executes at run time on a previously initialized
    (allocated) RAB64. In contrast, the $RAB64 macro allocates and
    initializes the RAB64 at assembly time. The $RAB64_STORE macro
    must reside in a code program section.

    User-specified values that use the CTX, KBF, RHB, RBF, RSZ, UBF,
    or USZ keywords are moved into the quadword fields for these
    keywords. In contrast, the $RAB_STORE macro moves them into the
    longword (or word) fields for these keywords.

    Format

      $RAB64_STORE  RAB=rab64-address,

                    BKT=#bucket-code-number,

                    CTX=user-context-value,

                    FAB=fab-address,

                    KBF=key-buffer-address,

                    KRF=#key-of-reference-number,

                    KSZ=#key-size,

                    MBC=#multiblock-count-number,

                    MBF=#multibuffer-count-number,

                    PBF=prompt-buffer-address,

                    PSZ=#prompt-buffer-size,

                    RAC={KEY|RFA|SEQ},

                    RBF=record-buffer-address,

                    RFA=#record-file-address,

                    RHB=record-header-buffer-address,

                    ROP=<ASY BIO CCO CDK CVT EOF EQNXT ETO FDL KGE

                    KGT LIM LOA LOC NLK NXR NXT PMT PTA RAH REA REV

                    RLK RNE RNF RRL TMO TPT UIF ULK WAT WBH>,

                    ROP_2=<NQL NODLCKWT NODLCKBLK>,

                    RSZ=#record-size,

                    TMO=#time-out-number-of-seconds,

                    UBF=user-record-buffer-address,

                    USZ=#user-record-buffer-size,

                    XAB=xab-address

11  –  $XABALL

    The $XABALL macro allocates and initializes a XABALL, which
    allows extended control of file disk space allocation, both for
    initial allocation and later extension. No value is returned for
    this assembly-time operation.

    Format

      $XABALL  AID=area-identification-number,

               ALN={ANY|CYL|LBN|RFI|VBN},

               ALQ=allocation-quantity,

               AOP=<CBT CTG HRD ONC>,

               BKZ=bucket-size,

               DEQ=extension-quantity,

               LOC=location-number,

               NXT=next-xab-address,

               RFI=<f(1), f(2), f(3)>,

               VOL=volume-number

12  –  $XABALL STORE

    The $XABALL_STORE macro moves user-specified values into fields
    of the specified XABALL. The expanded $XABALL_STORE code executes
    at run time on a previously initialized (allocated) XABALL, in
    contrast to the $XABALL macro, which initializes a XABALL at
    assembly time. The $XABALL_STORE macro must reside in a code
    program section.

    Format

      $XABALL_STORE  XAB=xaball-address,

                     AID=#area-identification-number,

                     ALN={ANY|CYL|LBN|RFI|VBN},

                     ALQ=#allocation-quantity,

                     AOP=<CBT CTG HRD ONC>,

                     BKZ=#bucket-size,

                     DEQ=#extension-quantity,

                     LOC=#location-number,

                     NXT=next-xab-address,

                     RFI=#related-file-identification,

                     VOL=#volume-number

13  –  $XABDAT

    The $XABDAT macro allocates and initializes a XABDAT. No value is
    returned for this assembly-time operation.

    Format

      $XABDAT  EDT=date-time,

               NXT=next-xab-address

14  –  $XABDAT STORE

    The $XABDAT_STORE macro moves user-specified values into fields
    of the specified XABDAT. The expanded $XABDAT_STORE code executes
    at run time on a previously initialized (allocated) XABDAT, in
    contrast to the $XABDAT macro, which initializes a XABDAT at
    assembly time. The $XABDAT_STORE macro must reside in a code
    program section.

    Format

      $XABDAT_STORE  XAB=xabdat-address,

                     CDT=#creation-date-time,

                     EDT=#expiration-date-time,

                     RDT=#revision-date-time,

                     RVN=#revision-number,

                     NXT=next-xab-address

15  –  $XABFHC

    The $XABFHC macro allocates and initializes a XABFHC. No value is
    returned for this assembly-time operation.

    Format

      $XABFHC  NXT=next-xab-address

16  –  $XABFHC STORE

    The $XABFHC_STORE macro moves user-specified values into fields
    of the specified XABFHC. The expanded $XABFHC_STORE code executes
    at run time on a previously initialized (allocated) XABFHC, in
    contrast to the $XABFHC macro, which initializes a XABFHC at
    assembly time. The $XABFHC_STORE macro must reside in a code
    program section.

    Format

      $XABFHC_STORE  XAB=xabfhc-address,

                     NXT=next-xab-address

17  –  $XABITM

    The $XABITM macro allocates and initializes a XABITM. No value is
    returned for this assembly-time operation.

    Format

      $XABITM  ITEMLIST=item-list-address,

               MODE={sensemode|setmode},

               NXT=next-xab-address

18  –  $XABKEY

    The $XABKEY macro allocates and initializes a XABKEY. No value is
    returned for this assembly-time operation.

    Format

      $XABKEY  COLTBL=collating-table-address,

               DAN=data-bucket-area-number,

               DFL=data-bucket-fill-size,

               DTP={BN2|DBN2|BN4|DBN4|BN8|DBN8|IN2

               |DIN2|IN4|DIN4|IN8|DIN8|COL|DCOL |PAC|DPAC|STG|DSTG},

               FLG=<CHG DAT_NCMPR DUP IDX_NCMPR KEY_NCMPR NUL>,

               IAN=index-bucket-area-number,

               IFL=index-bucket-file-size,

               KNM=key-name-buffer-address,

               LAN=lowest-level-index-area-number,

               NUL=null-key-value,

               NXT=next-xab-address,

               POS=<position,...>,

               PROLOG=prolog-level,

               REF=key-of-reference-value,

               SIZ=<size,...>

19  –  $XABKEY STORE

    The $XABKEY_STORE macro moves user-specified values into fields
    of the specified XABKEY. The expanded $XABKEY_STORE code executes
    at run time on a previously initialized (allocated) XABKEY, in
    contrast to the $XABKEY macro, which initializes the XABKEY at
    assembly time. The $XABKEY_STORE macro must reside in a code
    program section.

    Format

      $XABKEY_STORE  XAB=xabkey-address,

                     COLTBL=#collating-table-address,

                     DAN=#data-bucket-area-number,

                     DFL=#data-bucket-fill-size,

                     DTP={BN2|DBN2|BN4|DBN4|BN8|DBN8|IN2

                     |DIN2|IN4|DIN4|IN8|DIN8|COL|DCOL

                     |PAC|DPAC|STG|DSTG},

                     FLG=<CHG DAT_NCMPR DUP IDX_NCMPR KEY_NCMPR NUL>,

                     IAN=#index-bucket-area-number,

                     IFL=#index-bucket-fill-size,

                     KNM=key-name-buffer-address,

                     LAN=#lowest-level-index-area-number,

                     NUL=#null-key-value,

                     NXT=next-xab-address,

                     POS=<position,...>,

                     PROLOG=#prolog-level,

                     REF=#key-of-reference-value,

                     SIZ=<size,...>

20  –  $XABPRO

    The $XABPRO macro allocates and initializes a XABPRO. No value is
    returned for this assembly-time operation.

    Format

      $XABPRO  ACLBUF=ACL-buffer-address,

               ACLCTX=<ACL-context>,

               ACLSIZ=ACL-buffer-size,

               MTACC=magnetic-tape-accessibility,

               NXT=next-xab-address,

               PRO=<system, owner, group, world>,

               PROT_OPT=<PROPAGATE>,

               UIC=<group, member>

21  –  $XABPRO STORE

    The $XABPRO_STORE macro moves user-specified values into fields
    of the specified XABPRO. The expanded $XABPRO_STORE code executes
    at run time on a previously initialized (allocated) XABPRO, in
    contrast to the $XABPRO macro, which initializes a XABPRO at
    assembly time. The $XABPRO_STORE macro must reside in a code
    program section.

    Format

      $XABPRO_STORE  XAB=xabpro-address,

                     ACLBUF=ACL-buffer-address,

                     ACLCTX=#<ACL-context>,

                     ACLSIZ=#ACL-buffer-size,

                     MTACC=#magnetic-tape-accessibility,

                     NXT=next-xab-address,

                     PRO=<system, owner, group, world>,

                     PROT_OPT=<PROPAGATE>,

                     UIC=#uic-value

22  –  $XABRDT

    The $XABRDT macro allocates and initializes a XABRDT. No value is
    returned for this assembly-time operation.

    Format

      $XABRDT  NXT=next-xab-address

23  –  $XABRDT STORE

    The $XABRDT_STORE macro moves user-specified values into fields
    of the specified XABRDT. The expanded $XABRDT_STORE code executes
    at run time on a previously initialized (allocated) XABRDT, in
    contrast to the $XABRDT macro, which initializes the XABRDT at
    assembly time. The $XABRDT_STORE macro must reside in a code
    program section.

    Format

      $XABRDT_STORE  XAB=xabrdt-address,

                     RDT=#revision-date-time,

                     RVN=#revision-number,

                     NXT=next-xab-address

24  –  $XABSUM

    The $XABSUM macro allocates and initializes a XABSUM. No value is
    returned for this assembly-time operation.

    Format

      $XABSUM  NXT=next-xab-address

25  –  $XABSUM STORE

    The $XABSUM_STORE macro moves user-specified values into fields
    of the specified XABSUM. The expanded $XABSUM_STORE code executes
    at run time on a previously initialized (allocated) XABSUM, in
    contrast to the $XABSUM macro, which initializes the XABSUM at
    assembly time. The $XABSUM_STORE macro must reside in a code
    program section.

    Format

      $XABSUM_STORE  XAB=xabsum-address,

                     NXT=next-xab-address

26  –  $XABTRM

    The $XABTRM macro allocates and initializes a XABTRM. No value is
    returned for this assembly-time operation.

    Format

      $XABTRM  ITMLST=item-list-address,

               ITMLST_LEN=item-list-length,

               NXT=next-xab-address

27  –  $XABTRM STORE

    The $XABTRM_STORE macro moves user-specified values into fields
    of the specified XABTRM. The expanded $XABTRM_STORE code executes
    at run time on a previously initialized (allocated) XABTRM, in
    contrast to the $XABTRM macro, which initializes a XABTRM at
    assembly time. The $XABTRM_STORE macro must reside in a code
    program section.

    Format

      $XABTRM_STORE  XAB=xabtrm-address,

                     ITMLST=item-list-address,

                     ITMLST_LEN=#item-list-length,

                     NXT=next-xab-address
Close Help