A DCBE is defined by a DCBE macro and mapped by an IHADCBE macro. The IHADCBE macro has no options. It always generates the DCBE DSECT.
Offset | Length or Bit Pattern | Field Name | Description |
---|---|---|---|
0(0) | DCBE | DSECT name. | |
0(0) | 4 | DCBEID | DCBE eyecatcher ‘DCBE’ |
4(4) | 2 | DCBELEN | Length of DCBE. Minimum value is 56. The current level of the system ignores fields beyond that offset; however, future levels may use those fields. |
6(6) | 2 | Reserved. | |
8(4) | 4 | DCBEDCB | DCB address. Set by system. Must be zero when OPEN is issued. Set to zero at CLOSE. |
12(C) | 4 | DCBERELA | Partitioned data set — address (in the form TTRN) of member currently used. |
16(10) | 1 | DCBEFLG1 | Flags set by system. |
1... .... | DCBEOPEN | DCBE has been successfully opened. | |
.1.. .... | DCBEMD31 | System allows user to call access method in 31-bit mode and, if QSAM, system will honor DCBEBU31. Set by system before DCB OPEN exit. | |
..1. .... | DCBESLBI | In DCB OPEN exit routine: the system will support large block interface (LBI) if requested. After DCB OPEN exit routine: the user requested LBI (by turning on DCBEULBI) and OPEN set this bit on before the DCB OPEN exit. In this case, DCBEBLKSI contains a valid value and the user must not use DCBBLKSI. | |
...1 .... | DCBE_32BIT_INUSE | Device using 32-bit block numbers might be due to CAPACITYMODE=XCAP | |
.... 1... | DCBEBENEFIX | Performance would be benefited if the application program were to set DCBEBFXU and fix all data pages. Requires authorization. Set by system before DCB OPEN exit. | |
17(11) | 1 | DCBEFLG2 | Flags set by user. |
1... .... | DCBEBU31 | RMODE31=BUFF. QSAM buffers may be above 16 MB line and CLOSE will free them. System may test this during concatenation. This will be ignored for BSAM and user supplied buffers. | |
.1.. .... | DCBENEOD | PASTEOD=YES. The system's indicator of the end of the data set is to be ignored on input for striped data sets. | |
..1. .... | DCBE_CONCURRENTRW (CONCURRENTRW=YES) | The data set may be read at the same time it is being written. | |
...1 .... | DCBENVER | NOVER=YES. OPEN is to bypass the verification of consistent stripes of a striped data set. | |
.... 1... | DCBEGSIZ | GETSIZE=YES. OPEN is to calculate the size of the data set (RBNs) and store this number in DCBESIZE and DCBEXSIZ. | |
.... .1.. | DCBEULBI | User requests large block interface (LBI). Before OPEN calls the DCB OPEN exit routine, a 1 means that DCBEBLKSI is valid and might be 0. | |
.... ..1. | DCBE_REQST_XCAP | CAPACITYMODE=XCAP. Extended capacity. Device to use 32-bit block identifiers if supported. | |
.... ...1 | DCBEEXPS | Bypass extended data integrity checking. Caller must be system key, supervisor state or APF authorized for this to have effect. | |
18(12) | 2 | DCBENSTR | Number of stripes for a striped data set. Zero if data set is not striped. Set by OPEN or when switching between data sets in a concatenation. Set before OPEN or EOV exit is called. |
20(14) | 1 | DCBEFLAG3 | Flags set by user. |
1... .... | DCBELARGE | Indicates whether the application program can handle the interface for large format data sets. 1 means yes and 0 means no. | |
.1.. .... | DCBEBFXU | FIXED=USER. Indicates no I/O pagefixing needed. User is responsible for passing fixed buffers. | |
..1. .... | DCBEEADSCBOK | EADSCB=OK. Indicates users supports 28-bit cylinder DSCBs. | |
...1 .... | DCBELOCANY | User allows XTIOT and allows DSABs and UCBs to be in 31-bit storage. | |
.... .001 | DCBESYNC_SYSTEM | SYNC=SYSTEM | |
.... .111 | DCBESYNC_NONE | SYNC_NONE. 000 means SYNC is not specified. Combinations of these three bits other than 000, 001 and 111 are reserved. | |
21(15) | 3 | Reserved. | |
24(18) | 8 | DCBEBLKSI8 | Block size in eight bytes. |
28(1C) | 4 | DCBEBLKSI | BLKSIZE coded on DCBE macro or, if BLKSIZE=0 was coded, value set by OPEN. After OPEN, this field is valid only if OPEN set DCBESLBI on. |
32(20) | 8 | DCBEXSIZ | Number of blocks in current data set. Set by system when DCBEGSIZ is set. |
32(20) | 4 | DCBESIZO | High order word of DCBEXSIZ. |
36(24) | 4 | DCBESIZE | Number of blocks in current data set. Set by system when DCBEGSIZ is set. |
40(28) | 4 | DCBEEODA | Address of user provided end-of-data routine. May reside above or below the line. Used instead of DCBEODAD. Will be zero if no address is given. |
44(2C) | 4 | DCBESYNA | Address of user provided SYNAD routine. May reside above or below the line. Used instead of DCBSYNAD. Will be zero if no address is given. |
48(30) | 4 | Reserved. | |
52(34) | 2 | DCBENMFL | Number of tape files written before synchronization (SYNC=nnn). |
54(36) | 1 | DCBEMACC | MULTACC. Accumulation number multiplier. |
55(37) | 1 | DCBEMSDN | MULTSDN. Multiplier of system determined NCP. |
56(38) | DCBEMINL | Minimal length of DCBE in any release. | |
56(38) | DCBEEND | End of DCBE. This label is always after the last DCBE field. |