Copyright Digital Equipment Corp. All rights reserved.

RAB64_(Alpha_Only)

   On an Alpha system, the 64-bit record access block (RAB64) is
   an extension of the RAB that allows OpenVMS Alpha users to use
   64-bit addresses for the following I/O buffers:

   o  UBF (user record buffer)

   o  RBF (record buffer)

   o  RHB (fixed-length record header buffer; fixed portion of VFC
      record format)

   o  KBF (key buffer containing the key value for random access)

   RAB64 has fields corresponding to all the RAB fields, plus
   seven additional fields to accommodate 64-bit addressing. The
   additional fields are listed first in the following table; none
   have FDL equivalents. All the other RAB64 fields are equivalent
   to their RAB counterparts and have the same FDL equivalents.

   For each field, this table lists the symbolic offset, the size in
   bytes, the RAB equivalent, and a brief description.

                         RAB
   Offset         Size   Equivalent     Description

   Alpha-Only RAB64 Fields:

   RAB64$Q_CTX    8      None           User context (64-bit)
   RAB64$PQ_KBF   8      None           Key buffer 64-bit address
   RAB64$PQ_RBF   8      None           Record buffer 64-bit address
   RAB64$PQ_RHB   8      None           Record header buffer 64-bit
                                        address
   RAB64$Q_RSZ    8      None           Record buffer size
   RAB64$PQ_UBF   8      None           User record buffer 64-bit
                                        address
   RAB64$Q_USZ    8      None           User record buffer size



   RAB64 Fields Equivalent to RAB Fields:

   RAB64$B_BID    1      RAB$B_BID      Block identifier
   RAB64$L_BKT    4      RAB$L_BKT      Bucket code
   RAB64$B_BLN    1      RAB$B_BLN      Block length
   RAB64$L_CTX    4      RAB$L_CTX      User context
   RAB64$L_FAB    4      RAB$L_FAB      File access block address
   RAB64$W_ISI    2      RAB$W_ISI      Internal stream identifier
   RAB64$L_KBF    4      RAB$L_KBF      Key buffer address
   RAB64$B_KRF    1      RAB$B_KRF      Key of reference
   RAB64$B_KSZ    1      RAB$B_KSZ      Key size
   RAB64$B_MBC    1      RAB$B_MBC      Multiblock count
   RAB64$B_MBF    1      RAB$B_MBF      Multibuffer count
   RAB64$L_PBF    4      RAB$L_PBF      Prompt buffer address
   RAB64$B_PSZ    1      RAB$B_PSZ      Prompt buffer size
   RAB64$B_RAC    1      RAB$B_RAC      Record access mode
   RAB64$L_RBF    4      RAB$L_RBF      Record buffer address
   RAB64$W_RFA    6      RAB$W_RFA      Record file address
   RAB64$L_RHB    4      RAB$L_RHB      Record header buffer address
   RAB64$L_ROP    4      RAB$L_ROP      Record-processing options
   RAB64$W_ROP_   2      Extended
   2                     record-
                         processing
                         options
   RAB64$W_RSZ    2      RAB$W_RSZ      Record buffer size
   RAB64$L_STS    4      RAB$L_STS      Completion status code
   RAB64$L_STV    4      RAB$L_STV      Status value
   RAB64$W_STV0   2      RAB$W_STV0     Low-order word status value
   RAB64$W_STV2   2      RAB$W_STV2     High-order word status value
   RAB64$B_TMO    1      RAB$B_TMO      Timeout period
   RAB64$L_UBF    4      RAB$L_UBF      User record buffer address
   RAB64$W_USZ    2      RAB$W_USZ      User record buffer size
   RAB64$L_XAB    4      RAB$L_XAB      Next XAB address

   The RAB64 $PQ_ fields can hold either 64-bit addresses or 32-bit
   addresses sign-extended to 64-bits. Therefore, you can use these
   fields in all applications whether or not you are using 64-bit
   addresses.

   If your application already uses RAB fields, only minimal source
   code changes are required to use 64-bit RMS support. The RAB64
   64-bit counterpart to a 32-bit address field is used only if the
   following two conditions exist:

   o  The RAB64$B_BLN field has been initialized to RAB64$C_BLN64.

   o  The 32-bit address cell in the 32-bit portion of the RAB64
      contains -1.

   Because the RAB64 is an upwardly compatible version of the RAB,
   RMS allows you to use the RAB64 wherever you can use a RAB.