Data control block extension (DCBE)

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.
Start of change48(30)End of change Start of change4End of change Start of change End of change Start of changeReserved.End of change
Start of change52(34)End of change Start of change2End of change Start of changeDCBENMFLEnd of change Start of changeNumber of tape files written before synchronization (SYNC=nnn).End of change
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.