|
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