Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only.

DRBK

Prolog  

Control Block Contents  

DRBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  

DRBK Prolog

 Name       : HCPDRBK
 Description: CP Data Request Block
 STATUS     : VM/ESA Version 2, Release 2.0
 DSECT      : DRBK
 Function   : The DRBK contains information used during
              open, read and close processing
 Located by : OFBDRB chain of open Data Request Blocks
              ACSPOPEN chain of pre-openned DRBKs
 Created by : DRBKs are created by any routine that
              wishes to read a CMS file.
              DRBKs are created by CPCACHE processing.
 Deleted by : Generally, whoever creates it.
              Although DRBKs created by CPCACHE
              will be deleted by HCPZIR during release
              processing.

 

DRBK Control Block Content


DRBK DSECT

Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure DRBK CP Data Request Block 0000 0 Dbl-Word 8 DRBUSRD1 Reserved for non-IBM use 0008 8 Dbl-Word 8 DRBUSRD2 Reserved for non-IBM use 0010 16 Signed 4 DRBUSRF1 Reserved for non-IBM use 0014 20 Signed 4 DRBUSRF2 Reserved for non-IBM use 0018 24 Signed 2 DRBUSRH1 Reserved for non-IBM use 001A 26 Signed 2 DRBUSRH2 Reserved for non-IBM use 001C 28 Bitstring 1 DRBUSRX1 Reserved for non-IBM use 001D 29 Bitstring 1 DRBUSRX2 Reserved for non-IBM use 001E 30 Bitstring 1 DRBUSRX3 Reserved for non-IBM use 001F 31 Bitstring 1 DRBUSRX4 Reserved for non-IBM use 0020 32 Address 4 DRBFWD A( next DRBK on open chain ) 0024 36 Address 4 DRBOFB A( OFB ) 0028 40 Character 16 DRBFID (0) File id, filename-filetype 0028 40 Character 8 DRBFIDFN File id, filename portion 0030 48 Character 8 DRBFIDFT File id, filetype portion 0038 56 Character 8 DRBMEMBR Member name (or x'00' if none) 0040 64 Signed 4 DRBMEMS Member starting record number 0044 68 Signed 4 DRBMEME Member ending record number 0048 72 Signed 4 * Reserved for future IBM use 004C 76 Signed 4 * Reserved for future IBM use 0050 80 Address 4 DRBPOPEN A(next DRBK on pre-open chain) 0054 84 Bitstring 1 DRBFLAG1 DRBK flags. Look at HCPZIOPX for bit conflict checking. 1... .... DRBNDRCT X'80' DRBBUFAD --> indirectly to bufr EQU X'40' EQU X'20' ...1 .... DRBUNIQE X'10' Don't search for OFBK .... 1... DRBNDFER X'08' Don't stack CPEBK .... .1.. DRBPHYSR X'04' Physical Read performed .... ..1. DRBPHYSW X'02' Physical Write performed .... ...1 DRBSEUDO X'01' Perform Pseudo-OPEN 0055 85 Bitstring 1 DRBFLAG2 DRBK flags. Look at HCPZIOPX for bit conflict checking. 1... .... DRBOUTPT X'80' File is for output .1.. .... DRBBUFFR X'40' Delay write till buffer full ..1. .... DRBSPARS X'20' File is a CMS "sparse file" ...1 .... DRBNOUPD X'10' Need't read block before writing .... 1... DRBCACHE X'08' File has been cached. This is sometimes referred to as a pre-opened file. Hence the chain of DRBKs anchored on ACSPOPEN. .... .1.. DRBCNTRY X'04' Century for DRBDATIM (0=19, 1=20) EQU X'02' EQU X'01' 0056 86 Character 1 DRBRECFM Record format (c'V' or c'F'). The file RECFM is stored here as a single character, even though in the FSBK, which you aren't supposed to look at anyway, it is stored as a single bit. 0057 87 Bitstring 1 * Reserved for future IBM use 0058 88 Signed 4 DRBRECDS How many records are in the file 005C 92 Signed 4 DRBRECNO Record number desired 0060 96 Signed 4 * Reserved for future IBM use 0064 100 Signed 4 DRBBUFAL ALET of addr space of DRBBUFAD 0068 104 Address 4 DRBBUFAD R-addr of buffer or buffer list. A buffer list is indicated by the DRBNDRCT flag being on. A buffer list is a series of pairs of fullwords, where each pair contains the ad-len (address and length) of a section of the buffer. The sections may be discontiguous. The length of a section may be zero. 006C 108 Signed 4 DRBBUFSZ Size of buffer; for a buffer list, the sum of all sections. 0070 112 Signed 4 DRBRECSZ Size of record retrieved 0074 116 Signed 4 DRBLRECL Largest record in file 0078 120 Address 4 DRBACSBK A( ACSBK ) if DRBACSBX = 0 007C 124 Signed 2 DRBACSBX Index into ACSPK 007E 126 Signed 2 DRBRETCD Rc from service routines .... .... DRBOK X'0000' ... Request completed OK Access request errors .... .1.. DRBCHBIG X'0004' ... CPCACHE FILES big LRECL .... 1... DRBCHOTH X'0008' ... CPCACHE FILES other error .... 11.. DRBOFFLN X'000C' ... RDEV is OFFLINE ...1 .... DRBBDDEV X'0010' ... Unacceptable device type ...1 .1.. DRBBDACC X'0014' ... Unacceptable filemode number ...1 1... DRBACC2 X'0018' ... Competing ACCESS request ...1 11.. DRBRELRQ X'001C' ... Release required first ..1. .... DRBNTEDF X'0020' ... Mdisk not CMS EDF format ..1. .1.. DRBBDLNK X'0024' ... LINK processing failed EQU X'0028' . Reserved EQU X'002C' . Reserved Open request errors ..11 .... DRBOPN X'0030' ... File was already open ..11 .1.. DRBNTACC X'0034' ... Filemode number not accessed ..11 1... DRBNTFND X'0038' ... File was not found ..11 11.. DRBBDRCF X'003C' ... Unacceptable RECFM .1.. .... DRBINCLP X'0040' ... Imbed would cause a loop .1.. .1.. DRBNOMEM X'0044' ... Member not found .1.. 1... DRBBXBK X'0048' ... BX ^= 0 & BK ^= 0 .1.. 11.. DRBBITS X'004C' ... Invalid combination of flags Get request errors .1.1 .... DRBSMBFS X'0050' ... DRBBUFSZ < DRBRECSZ . Small buffer size is only . a problem when trying to . read a PDS directry. .1.1 .1.. DRBNTOPN X'0054' ... File was not open .1.1 1... DRBEOF X'0058' ... E-O-F (DRBRECNO > FSBRECDS) . E-O-F (DRBRECNO > DRBRECDS) . E-O-F (buffer contains member separator) .1.1 11.. DRBBDRCN X'005C' ... Unacceptable DRBRECNO .11. .... DRBBDBFA X'0060' ... Unacceptable DRBBUFAD .11. .1.. DRBBDBFS X'0064' ... Unacceptable DRBBUFSZ .11. 1... DRBBDEXT X'0068' ... Outside minidisk extents .11. 11.. DRBBDINT X'006C' ... Bad internal format in file EQU X'0070' . Reserved EQU X'0074' . Reserved Put request errors .111 1... DRBPUSPR X'0078' ... Attempt to PUT a sparse rec EQU X'007C' . Reserved 1... .... DRBBDRCS X'0080' ... DRBRECSZ not eq record size Close request errors 1... .1.. DRBPSOPN X'0084' ... Pseudo-open still in effect Release request errors EQU X'0088' . Reserved 1... 11.. DRBREL2 X'008C' ... Competing RELEASE request 1..1 .... DRBBDDET X'0090' ... Error detaching VDEV CPCACHE request errors 1..1 .1.. DRBCACHD X'0094' ... File was already cached State (or State Next) request errors 1..1 1... DRBNMORE X'0098' ... No more files on disk 1..1 11.. DRBBDSTA X'009C' ... Invalid STATE resume point PDS processing errors 1.1. .... DRBNTLIB X'00A0' ... Filetype not *LIB 1.1. .1.. DRBNTPDS X'00A4' ... Invalid PDS internal id 1.1. 1... DRBBDPDS X'00A8' ... Invalid PDS internal format EQU X'00AC' . Reserved General errors 1.11 .... DRBIOERR X'00B0' ... I/O error 1.11 .1.. DRBPGERR X'00B4' ... Paging error EQU X'00B8' . Reserved 1.11 1... DRBRETMX X'00B8' Maximum value supported for DRBRETCD 0080 128 Address 4 DRBSTACK Push down stack ptr for IMBEDs 0084 132 Address 4 * Reserved for future IBM use 0088 136 Character 6 DRBDATIM Date & time (yy mm dd hh mm ss) 008E 142 Signed 2 * Reserved for future IBM use 0090 144 Dbl-Word 8 * (0) D-word alignment for DRBSTWRK 0090 144 Bitstring 6 DRBSTWRK (0) Work area for STATE 0090 144 Address 4 DRBSTFSH STATE FSHBK pointer 0094 148 Signed 1 * STATE reserved field 0095 149 Signed 1 DRBSTFSI STATE FSBK index in page 0096 150 Signed 2 * Reserved for future IBM use 0098 152 Signed 4 DRBOPENS Count of times opened 009C 156 Signed 4 DRBCLOSD Count of times closed 00A0 160 Signed 4 * Reserved for future IBM use 00A4 164 Signed 4 * Reserved for future IBM use 00A8 168 Dbl-Word 8 * (0) End of DRBK 000000A8 DRBSIZEB (*-DRBK) Size in bytes 00000015 DRBSIZED (*-DRBK+7)/8 Size in d-words 0058 88 Signed 4 DRBSUOPC Count of pseudo-open requests . that are not yet closed. 0010 16 Signed 4 DRBUSER0 Reserved for non-IBM use 0014 20 Signed 4 DRBUSER1 Reserved for non-IBM use

 

DRBK Storage Layout

*** DRBK - CP Data Request Block
*
*     +-------------------------------------------------------+
*   0 |                       DRBUSRD1                        |
*     +-------------------------------------------------------+
*   8 |                       DRBUSRD2                        |
*     +---------------------------+---------------------------+
*  10 |         DRBUSRF1          |         DRBUSRF2          |
*     +-------------+-------------+------+------+------+------+
*  18 |  DRBUSRH1   |  DRBUSRH2   |:USRX1|:USRX2|:USRX3|:USRX4|
*     +-------------+-------------+------+------+------+------+
*  20 |          DRBFWD           |          DRBOFB           |
*     +---------------------------+---------------------------+
*  28 |                       DRBFIDFN                        |
*     +-------------------------------------------------------+
*  30 |                       DRBFIDFT                        |
*     +-------------------------------------------------------+
*  38 |                       DRBMEMBR                        |
*     +---------------------------+---------------------------+
*  40 |         DRBMEMS           |         DRBMEME           |
*     +---------------------------+---------------------------+
*  48 |///////////////////////////|///////////////////////////|
*     +---------------------------+------+------+------+------+
*  50 |         DRBPOPEN          |:FLAG1|:FLAG2|:RECFM|//////|
*     +---------------------------+------+------+------+------+
*  58 |         DRBRECDS          |         DRBRECNO          |
*     +---------------------------+---------------------------+
*  60 |///////////////////////////|         DRBBUFAL          |
*     +---------------------------+---------------------------+
*  68 |         DRBBUFAD          |         DRBBUFSZ          |
*     +---------------------------+---------------------------+
*  70 |         DRBRECSZ          |         DRBLRECL          |
*     +---------------------------+-------------+-------------+
*  78 |         DRBACSBK          |  DRBACSBX   |  DRBRETCD   |
*     +---------------------------+-------------+-------------+
*  80 |         DRBSTACK          |///////////////////////////|
*     +---------------------------+-------------+-------------+
*  88 |                DRBDATIM                 |/////////////|
*     +---------------------------+------+------+-------------+
*  90 |         DRBSTFSH          |//////|:STFSI|/////////////|
*     +---------------------------+------+------+-------------+
*  98 |         DRBOPENS          |         DRBCLOSD          |
*     +---------------------------+---------------------------+
*  A0 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  A8
*
*** DRBK - CP Data Request Block
*** Overlay for DRBRECDS in DRBK
*
*     +---------------------------+
*  58 |         DRBSUOPC          | 5C
*     +---------------------------+
*
*** Overlay for DRBRECDS in DRBK
*** Overlay for DRBUSRF1 in DRBK
*
*     +---------------------------+---------------------------+
*  10 |         DRBUSER0          |         DRBUSER1          |
*     +---------------------------+---------------------------+
*  18
*
*** Overlay for DRBUSRF1 in DRBK

 

DRBK Cross Reference

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

DRBACC2 007E 18

DRBACSBK 0078

DRBACSBX 007C

DRBBDACC 007E 14

DRBBDBFA 007E 60

DRBBDBFS 007E 64

DRBBDDET 007E 90

DRBBDDEV 007E 10

DRBBDEXT 007E 68

DRBBDINT 007E 6C

DRBBDLNK 007E 24

DRBBDPDS 007E A8

DRBBDRCF 007E 3C

DRBBDRCN 007E 5C

DRBBDRCS 007E 80

DRBBDSTA 007E 9C

DRBBITS 007E 4C

DRBBUFAD 0068

DRBBUFAL 0064

DRBBUFFR 0055 40

DRBBUFSZ 006C

DRBBXBK 007E 48

DRBCACHD 007E 94

DRBCACHE 0055 08

DRBCHBIG 007E 04

DRBCHOTH 007E 08

DRBCLOSD 009C

DRBCNTRY 0055 04

DRBDATIM 0088

DRBEOF 007E 58

DRBFID 0028

DRBFIDFN 0028

DRBFIDFT 0030

DRBFLAG1 0054

DRBFLAG2 0055

DRBFWD 0020

DRBINCLP 007E 40

DRBIOERR 007E B0

DRBLRECL 0074

DRBMEMBR 0038

DRBMEME 0044

DRBMEMS 0040

DRBNDFER 0054 08

DRBNDRCT 0054 80

DRBNMORE 007E 98

DRBNOMEM 007E 44

DRBNOUPD 0055 10

DRBNTACC 007E 34

DRBNTEDF 007E 20

DRBNTFND 007E 38

DRBNTLIB 007E A0

DRBNTOPN 007E 54

DRBNTPDS 007E A4

DRBOFB 0024

DRBOFFLN 007E 0C

DRBOK 007E 00

DRBOPENS 0098

DRBOPN 007E 30

DRBOUTPT 0055 80

DRBPGERR 007E B4

DRBPHYSR 0054 04

DRBPHYSW 0054 02

DRBPOPEN 0050

DRBPSOPN 007E 84

DRBPUSPR 007E 78

DRBRECDS 0058

DRBRECFM 0056

DRBRECNO 005C

DRBRECSZ 0070

DRBRELRQ 007E 1C

DRBREL2 007E 8C

DRBRETCD 007E

DRBRETMX 007E B8

DRBSEUDO 0054 01

DRBSIZEB 00A8 000000A8

DRBSIZED 00A8 00000015

DRBSMBFS 007E 50

DRBSPARS 0055 20

DRBSTACK 0080

DRBSTFSH 0090

DRBSTFSI 0095

DRBSTWRK 0090

DRBSUOPC 0058

DRBUNIQE 0054 10

DRBUSER0 0010

DRBUSER1 0014

DRBUSRD1 0000

DRBUSRD2 0008

DRBUSRF1 0010

DRBUSRF2 0014

DRBUSRH1 0018

DRBUSRH2 001A

DRBUSRX1 001C

DRBUSRX2 001D

DRBUSRX3 001E

DRBUSRX4 001F


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 11:52:39 EDT.
Copyright IBM Corporation, 1990, 1999