Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
DRBK
Control Block Contents
DRBK DSECT
Cross Reference (Contains links to field and bit definitions)
DRBK Prolog
Name : HCPDRBK Description: CP Data Request Block 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 The user fields should remain at the front of the 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 ...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) 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 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 Put request errors .111 1... DRBPUSPR X'0078' ... Attempt to PUT a sparse rec 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 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 General errors 1.11 .... DRBIOERR X'00B0' ... I/O error 1.11 .1.. DRBPGERR X'00B4' ... Paging error 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
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
Last updated on 5 Jun 2001 at 13:24:51 EDT.
Copyright IBM Corporation, 1990, 2001