HP OpenVMS Systems Documentation |
OpenVMS Record Management Services Reference Manual
10.7 XAB$L_NXT Field
The next XAB address (NXT) field contains the symbolic address of the
next XAB to be used. A value of 0 (the default) indicates that the
current XAB is the last (or only) XAB in the chain.
The revision date and time (RDT) field contains a 64-bit binary value representing the date and time when the file was last revised. The Open and Display services use this field to read the revision date and time. The Create service uses this field to set the revision date and time. However, a subsequent Close service overrides the value set by the Create service by using the value in the XAB$Q_RDT field of the XABRDT.
If the application program specifies this field as 0 (either explicitly or by default), the Create service uses the current date and time as the revision date and time. Note that this field is limited to a granularity of 1 second for remote files.
This field corresponds to the FDL attribute DATE REVISION.
The revision number (RVN) field contains a numeric value that indicates the number of times this file was opened for write operations.
This field corresponds to the FDL attribute FILE REVISION.
On VAX systems, the XAB$Q_RCD (RCD) field contains a 64-bit binary value expressing the date and time that the file was recorded.
This field is applicable only to ISO 9660 files and has no
corresponding FDL attribute.
On VAX systems, the XAB$Q_EFF (EFF) field contains a 64-bit binary value expressing the date and time when the file information may be used. If no value is specified in this field, the data may be used immediately.
This field is applicable only to ISO 9660 files and has no
corresponding FDL attribute.
To support POSIX-compliant file timestamps on ODS--5 disks, the XABDAT structure has been extended to include the following three access timestamps:
Because these access dates must be written out to disk, there is a
performance impact when these dates are used. The SET VOLUME command
can be used to either limit the frequency of the updates or disable
support for this set of access dates. (See the DCL SET VOLUME/VOLUME_
CHARACTERISTICS command.) A SETMODE XABITM access date interface can be
used to update these dates on a $CLOSE operation regardless of the
volume setting. (See Chapter 12 in this manual.)
On Alpha systems, the XAB$Q_ACC field contains a 64-bit binary value expressing the date and time that the file was last assessed (corresponding to POSIX st_atime). This field is restricted to ODS--5 disks; if specified for a non-ODS--5 disk, the field will contain zero.
This field cannot be initialized by the $XABDAT macro and has no
corresponding FDL attribute. It is not supported for DECnet for OpenVMS
operations; it is ignored.
On Alpha systems, the XAB$Q_ATT field contains a 64-bit binary value expressing the date and time that a file attribute was last modified (corresponding to POSIX st_ctime). This field is restricted to ODS--5 disks; if specified for a non-ODS--5 disk, the field will contain zero.
This field cannot be initialized by the $XABDAT macro and has no
corresponding FDL attribute. It is not supported for DECnet for OpenVMS
operations; it is ignored.
On Alpha systems, the XAB$Q_MOD field contains a 64-bit binary value expressing the date and time that file data was last modified (corresponding to POSIX st_mtime). This field is restricted to ODS--5 disks; if specified for a non-ODS--5 disk, the field will contain zero. This field cannot be initialized by the $XABDAT macro and has no corresponding FDL attribute. It is not supported for DECnet for OpenVMS operations; it is ignored.
Chapter 11
|
Field Offset | Size (Bytes) |
Description |
---|---|---|
XAB$B_ATR 1 | 1 | Record attributes; equivalent to FAB$B_RAT |
XAB$B_BKZ 1 | 1 | Bucket size; equivalent to FAB$B_BKS |
XAB$B_BLN 2 | 1 | Block length |
XAB$B_COD 2 | 1 | Type code |
XAB$W_DXQ 1 | 2 | Default file extension quantity; equivalent to FAB$W_DEQ |
XAB$L_EBK 1 | 4 | End-of-file block |
XAB$W_FFB 1 | 2 | First free byte in the end-of-file block |
XAB$W_GBC 1 | 2 | Default global buffer count |
XAB$L_HBK 1 | 4 | Highest virtual block in the file; equivalent to FAB$L_ALQ |
XAB$B_HSZ 1 | 1 | Fixed-length control header size; equivalent to FAB$B_FSZ |
XAB$W_LRL 1 | 2 | Longest record length |
XAB$W_MRZ 1 | 2 | Maximum record size; equivalent to FAB$W_MRS |
XAB$L_NXT | 4 | Next XAB address |
XAB$B_RFO 1 | 1 | File organization and record format; combines FAB$B_RFM and FAB$B_ORG |
XAB$L_SBN 1 | 4 | Starting logical block number for the file if it is contiguous; otherwise this field is 0 |
XAB$W_VERLIMIT 1 | 2 | Version limit for the file |
There are no FDL equivalents for the XABFHC fields. Unless otherwise
indicated, each field is supported for DECnet for OpenVMS operations on
files at remote OpenVMS systems. See the DECnet for OpenVMS Networking Manual for information
about the support of RMS options for remote file access to other
systems.
11.2 XAB$B_ATR Field
The record attributes (ATR) field indicates the record attributes (special control information) associated with each record in this file. This field is equivalent to the FAB$B_RAT field.
This field is a binary options field where each record attribute has a corresponding bit assignment. Options are identified using mnemonics. Each option in the field has its own symbolic offset and constant value. For example, the CR record attribute has the symbolic offset XAB$V_CR and the mask value XAB$M_CR. The record attribute options are described in the following list.
XAB$V_BLK
Records do not cross block boundaries in sequential files.XAB$V_CR
Each record is preceded by a line feed and followed by a carriage return.XAB$V_FTN
Each record contains a FORTRAN (ASA) carriage return in the first byte.XAB$V_PRN
Print file format.
For more information about the XAB$B_ATR field, refer to the
description of the FAB$B_RAT field in Section 4.27.
11.3 XAB$B_BKZ Field
The bucket size (BKZ) field specifies the number of blocks in each bucket of the file. It is equivalent to the FAB$B_BKS (or XAB$B_BKZ) field and is used only for relative or indexed files.
This field contains a numeric value in the range of 0 to 63.
For more information about the XAB$B_BKZ field, refer to the
description of the FAB$B_BKS field in Section 4.5 and the description
of the XAB$B_BKZ field in Section 9.6.
11.4 XAB$B_BLN Field
The block length (BLN) field is a static field that defines the length
of the XABFHC, in bytes. Once set, this field must not be altered
unless the control block is no longer needed. This field must be
initialized to the symbolic value XAB$C_FHCLEN (this is done by the
$XABFHC macro).
11.5 XAB$B_COD Field
The type code (COD) field is a static field that identifies this
control block as a XABFHC. Once set, this field must not be altered
unless the control block is no longer needed. This field must be
initialized to the symbolic value XAB$C_FHC (this is done by the
$XABFHC macro).
11.6 XAB$W_DXQ Field
The default file extension quantity (DXQ) field specifies the number of blocks to be added when a disk file is extended automatically. This automatic extension occurs whenever your program performs a Put or Write service and the currently allocated file space is exhausted.
This field is equivalent to the FAB$W_DEQ (or XAB$W_DEQ) field; it contains a numeric value in the range 0 through 65,535, which is rounded up to the value of the next cluster boundary.
For more information about the XAB$W_DXQ field, refer to the
description of the FAB$W_DEQ field in Section 4.10 and the description
of the XAB$W_DEQ field in Section 9.9.
11.7 XAB$L_EBK Field
When you open a file, RMS stores the VBN of the physical block where the next record will be written in the XAB$L_EBK field. For example, assume that a file is allocated five physical blocks and that the last record written to the file is at byte 0FF _16 in the file's second physical block. When your program opens this file, RMS stores the VBN of the second physical block in XAB$L_EBK and it stores 100_16 in the XAB$W_FFB field.
If the previous block is full when you open the file, RMS stores the first location ( 000_16 ) of the next block in XAB$W_FFB and the VBN of the next block in XAB$L_EBK. By way of contrast, in a similar situation RMS-11 stores the last byte ( 200_16 ) of the filled block in the XAB$W_FFB field and the VBN of the filled block in the XAB$L_EBK field.
The XAB$L_EBK field is meaningful for sequential files only.
11.8 XAB$W_FFB Field
The first free byte in the end-of-file block (FFB) field contains the
byte location in the end-of-file block where the next record will be
written. The XAB$W_FFB field is meaningful for sequential files only.
11.9 XAB$W_GBC Field
The default global buffer count (GBC) field contains the current global buffer count for this file. For more information about the XAB$W_GBC field, refer to the description of the FAB$W_GBC field in Section 4.19.
This field is not supported for DECnet for OpenVMS operations; it is
ignored.
11.10 XAB$L_HBK Field
The highest virtual block (HBK) field contains the virtual block number
currently allocated to this file. It is equivalent to the FAB$L_ALQ
field after a Create, Open, or Display service executes. For sequential
files, the difference between XAB$L_HBK and XAB$L_EBK equals the number
of blocks in the file available for additional records without
extending the file.
11.11 XAB$B_HSZ Field
The fixed-length control header size (HSZ) field indicates the length of the fixed portion for records in the VFC format. It is equivalent to the FAB$B_FSZ field.
This field contains a numeric value (1 to 255) that indicates, in bytes, the size of the fixed-length control area. This field is not applicable to indexed files.
For more information about the XAB$B_HSZ field, refer to the
description of the FAB$B_FSZ field in Section 4.18.
11.12 XAB$W_LRL Field
The longest record length (LRL) field contains a numeric value that
indicates the longest record currently in the file, in bytes. This
value is meaningful for sequential files only. If you specify the
XAB$W_MRZ field, the LRL field takes the same value as the XAB$W_MRZ
field.
11.13 XAB$W_MRZ Field
The maximum record size (MRZ) field indicates the size of all records in a file with fixed-length records, the maximum size of variable-length records, the maximum size of the data area for variable with fixed-length control records, and the cell size for relative files. It is equivalent to the FAB$W_MRS field.
This field contains a numeric value in the range applicable to the file type and record format (see Table 4-4), in bytes.
For fixed-length records, the value represents the actual size of each record in the file.
For variable-length records, the value represents the size of the largest record that can be written into the file. If the file is not a relative file, a value of 0 is used to suppress record size checking, thus indicating that there is no user limit on record size.
For variable with fixed-length control records, the value includes only the data portion; it does not include the size of the fixed control area.
For more information about the XAB$W_MRZ field, refer to the
description of the FAB$W_MRS field in Section 4.24.
11.14 XAB$L_NXT Field
The next XAB address (NXT) field contains the symbolic address of the
next XAB. A value of 0 (the default) indicates that the current XAB is
the last (or only) XAB in the chain.
11.15 XAB$B_RFO Field
The file organization and record format (RFO) field combines the FAB$B_RFM and FAB$B_ORG fields using an inclusive OR.
The following table lists the record formats.
Record Format | Description |
---|---|
FIX | Fixed length |
STM | Stream, delimited by FF, VT, LF, or CR LF |
STMCR | Stream, delimited by CR |
STMLF | Stream, delimited by LF |
UDF | Undefined |
VAR | Variable length |
VFC | Variable length with fixed control area |
The following table lists the file organizations.
File Organization | Description |
---|---|
IDX | Indexed sequential |
REL | Relative |
SEQ | Sequential |
For more information about the XAB$B_RFO field, refer to the
description of the FAB$B_ORG field and the FAB$B_RFM field in
Section 4.28.
11.16 XAB$L_SBN Field
The starting logical block number (SBN) field contains the starting
logical block number for a contiguous file; if the file is not
contiguous, this field contains 0.
11.17 XAB$W_VERLIMIT Field
The file version limit (VERLIMIT) field contains the version limit for this file. This value is not available if the file was opened by file ID.
This field is not supported for DECnet for OpenVMS operations; it is ignored.
Previous | Next | Contents | Index |