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
     COPYRIGHT -
                  THIS MODULE IS "RESTRICTED MATERIALS OF IBM"
                  LICENSED MATERIALS - PROPERTY OF IBM
                  5654-A17 (C) COPYRIGHT IBM CORP. - 1991, 2001
     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

This information is based on z/VM V4R3.0. Last updated on 1 May 2002 at 08:35:53 EDT.
Copyright IBM Corporation, 1990, 2002