The data set information block is a control block that
contains information about a file that the I/O replaceable routine
opens. For an OPENR, OPENW, or OPENX function request, the I/O routine
returns the address of the data set information block (DSIB) in parameter
2, and the length of the DSIB in parameter 3. TSO/E provides a mapping
macro IRXDSIB you can use to map the block. The mapping macro is
in SYS1.MACLIB.
Table 1 shows the format of the control
block.
Table 1. Format of the data set information
blockOffset (decimal) |
Number of bytes |
Field name |
Description |
---|
0 |
8 |
ID |
An eight character string that identifies the
information block. It contains the characters ‘IRXDSIB’. |
8 |
2 |
LENGTH |
The length of the data set information block. |
10 |
2 |
— |
Reserved. |
12 |
8 |
DDNAME |
An eight character string that specifies the ddname
for which information is being returned. This is the DD that the
I/O routine opened. |
20 |
4 |
FLAGS |
A fullword of bits that are used as flags. Only
the first nine bits are used. The remaining bits are reserved. The
flag bits indicate whether information is returned in the fields at
offset +24 - offset +42. Each flag bit corresponds to one of the
remaining fields in the control block. Information about how to use
the flag bits and their corresponding fields is provided after the
table.
|
24 |
2 |
LRECL |
The logical record length (LRECL) of the data
set. This field is required. Note: The LRECL field and its corresponding
flag bit (at offset +20) are the last required fields to be returned
in the data set information block. The remaining fields are not required.
|
26 |
2 |
BLKSZ |
The block size (BLKSIZE) of the data set. |
28 |
2 |
DSORG |
The data set organization (DSORG) of the data
set. - ‘0200’ - Data set is partitioned.
- ‘0300’ - Data set is partitioned and unmovable.
- ‘4000’ - Data set is sequential.
- ‘4100’ - Data set is sequential and unmovable.
|
30 |
2 |
RECFM |
The record format (RECFM) of the data set. - ‘F ’ - Fixed
- ‘FB’ - Fixed blocked
- ‘V ’ - Variable
- ‘VB’ - Variable blocked
- 'VS' - Variable spanned
- 'VX' - Variable blocked spanned
- 'U' - Undefined.
|
32 |
4 |
GET_CNT |
The total number of records read by the GET macro
for this DCB. |
36 |
4 |
PUT_CNT |
The total number of records written by the PUT
or PUTX macro for this DCB. |
40 |
1 |
IO_MODE |
The mode in which the DCB was opened. - ‘R’ - open for READ (uses GET macro)
- ‘X’ - open for READX (update uses GET and PUTX macros)
- ‘W’ - open for WRITE (uses PUT macro)
- ‘L’ - open for exec load (uses READ macro)
|
41 |
1 |
CC |
Carriage control information. - ‘A’ - ANSI carriage control
- ‘M’ - machine carriage control
- ‘ ’ - no carriage control
|
42 |
1 |
TRC |
IBM® 3800
Printing Subsystem character set control information. - ‘Y’ - character set control characters are present
- ‘N’ - character set control characters are not present
|
43 |
1 |
— |
Reserved. |
44 |
4 |
— |
Reserved. |
At offset +20 in the data set information block, there is a fullword
of bits that are used as flags. Only the first nine bits are used.
The remaining bits are reserved. The bits are used to indicate whether
information is returned in each field in the control block starting
at offset +24. A bit must be set on if its corresponding field is
returning a value. If the bit is set off, its corresponding field
is ignored.
The flag bits are:
- The LRECL flag. This bit must be on and the logical record length
must be returned at offset +24. The logical record length is the
only data set attribute that is required. The remaining eight attributes
starting at offset +26 in the control block are optional.
- The BLKSIZE flag. This bit must be set on if you are returning
the block size at offset +26.
- The DSORG flag. This bit must be set on if you are returning
the data set organization at offset +28.
- The RECFM flag. This bit must be set on if you are returning
the record format at offset +30.
- The GET flag. This bit must be set on if you are returning the
total number of records read at offset +32.
- The PUT flag. This bit must be set on if you are returning the
total number of records written at offset +36.
- The MODE flag. This bit must be set on if you are returning the
mode in which the DCB was opened at offset +40.
- The CC flag. This bit must be set on if you are returning carriage
control information at offset +41.
- The TRC flag. This bit must be set on if you are returning IBM 3800 Printing Subsystem character
set control information at offset +42.