Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

#### 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
     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').
    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       Host logical address 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. The storage for the buffer
                                            may be backed anywhere in storage
                                            since format 2 IDA lists will be
                                            used to read in data.
    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
              .111 11..      DRBNOTUP       X'007C' Not opened for
                                            output/update
              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
    DRBNOTUP       007E 7C
    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 z/VM V5R2.0. Last updated on 12 Apr 2006 at 16:51:21 EDT.
Copyright IBM Corporation, 1990, 2005