DHDR | Back to Index page

| Prolog Control Block Contents DHDR DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

DHDR Prolog | Top of page

     NAME       : HCPDHDR
     DESCRIPTION: Directory header block
     DSECT      : DHDR
     FUNCTION   : This control block points to all of the parts
                  that make up the object directory.
     LOCATED BY : SYSDHDR
     CREATED BY : HCPDIR
                  HCPUDTBH
     DELETED BY : HCPUDS
     RELOCATION CONSIDERATIONS : None

DHDR Control Block Content | Top of page

     DHDR DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      DHDR           Directory header block
    0000    0 Bitstring  512 DHDRHDR (0)    Fixed-length header portion
    0000    0 Signed       4 DHDRSIZE       The length of the DHDR block in
                                            bytes
            The version code for the currently online object
            directory has been created to distinguish between the
            different styles of the object directory.
            Code Description
              0  Original format for VM/ESA 1.2.2 and earlier
              1  Added index structure for VM/ESA 2.1.0 and higher
              2  Added VLDBK as an optional DDEV extension.
                 If DDEVNIC_VIDCTR > 1 (a complex vidset) then
                 DDEVNIC_VIDDAS is the DASD page address and
                 DDEVNIC_VIDDSP is the page offset of a VLDBK.
            NOTES      : CP does not use the DHDRODVR version code, but
            it is supported to allow DIRMAINT and other directory
            maintenance utilities to recognize a compatible object
            directory.
    0004    4 Bitstring    1 DHDRODVR       Version code of object directory
              00000000       DHDRODV0       X'00' DHDRODV0 VM/ESA 1.2.2 and
                                            prior version of object directory
              00000001       DHDRODV1       X'01' DHDRODV1 VM/ESA 2.1.0
                                            version of object directory
              00000002       DHDRODV2       X'02' DHDRODV2 z/VM 6.4.0 with
                                            support for the NICDEF VLDBK
                                            extension
    0005    5 Bitstring    1 DHDRFLAG       Flag Byte
              .... ...1      DHDRSSI        X'01' DHDRSSI SSI directory flag
              .... ..1.      DHDRCMOD       X'02' DHDRCMOD Compatibility Mode
                                            indicator for debug use.
              .... .1..      DHDRSUB1       X'04' DHDRSUB1 DDEVS1 indicator
                                            supported
    0006    6 Bitstring    1 *              Reserved for IBM use
    0007    7 Bitstring    1 DHDRVERS       Version code for this block
              00000000       DHDRVER0       X'00' DHDRVER0 Initial version
    0008    8 Character   16 DHDRLABL       Eye catcher - (CL16'DIRECTORY
                                            HEADER')
                 Note that each of the following fields sometimes
                 contains storage addresses, not DASD addresses.
                       DHDRUSER
                       DHDRUID
                       DHDRGID
    0018   24 Signed       4 DHDRUSER       CCPV/PPPV of userid index start
    001C   28 Signed       4 DHDRUID        CCPV/PPPV of uid index start
    0020   32 Signed       4 DHDRGID        CCPV/PPPV of gid index start
    0024   36 Signed       4 * (5)          Reserved for IBM use (good place
                                            for additional index ptrs)
    0038   56 Signed       4 DHDRNCBE       Count of dir cntrl blck entries
    003C   60 Bitstring  128 DHDRDCRY       Bit map for dedicated AP crypto
                                            queues. This field is maintained
                                            for compatibility and should only
                                            be used if DHDRCRM1/DHDRCRM2 are
                                            zero or if the object directory
                                            is being used by a level of CP
                                            that does not support the Crypto
                                            APXA facility.
                 Note that the fields from DHDRLUSE through DHDRVLD
                 are not used by CP. They are used by Dirmaint and
                 the relative offsets of these fields should not
                 change. Therefore new fields must not be inserted.
                 New fields should be allocated using the reserved
                 areas for these specific fields.
          Notes      :  CP does not set or maintain these fields.
    00BC  188 Signed       4 DHDRLUSE       CCPV/PPPV of last page used
    00C0  192 Signed       4 DHDRLDUN       CCPV/PPPV of last DUNDX page
    00C4  196 Signed       4 DHDRLUID       CCPV/PPPV of last UID page
    00C8  200 Signed       4 DHDRLGID       CCPV/PPPV of last GID page
    00CC  204 Signed       4 DHDRLVMD       CCPV/PPPV of last DVMD page
    00D0  208 Signed       4 DHDRLCPU       CCPV/PPPV of last DCPU page
    00D4  212 Signed       4 DHDRLDEV       CCPV/PPPV of last DDEV page
    00D8  216 Signed       4 DHDRLIUC       CCPV/PPPV of last IUCV page
    00DC  220 Signed       4 DHDRLNSA       CCPV/PPPV of last NSA page
    00E0  224 Signed       4 DHDRLAPC       CCPV/PPPV of last APPC page
    00E4  228 Signed       4 DHDRLGFD       CCPV/PPPV of last DGFBK page
    00E8  232 Signed       4 DHDRLDGS       CCPV/PPPV of last DGSBK page
    00EC  236 Signed       2 DHDRODUN       Offset to next DUNDX slot
    00EE  238 Signed       2 DHDROUID       Offset to next UID slot
    00F0  240 Signed       2 DHDROGID       Offset to next GID slot
    00F2  242 Signed       2 DHDROVMD       Offset to next DVMD slot
    00F4  244 Signed       2 DHDROCPU       Offset to next DCPU slot
    00F6  246 Signed       2 DHDRODEV       Offset to next DDEV slot
    00F8  248 Signed       2 DHDROIUC       Offset to next IUCV slot
    00FA  250 Signed       2 DHDRONSA       Offset to next NSA slot
    00FC  252 Signed       2 DHDROAPC       Offset to next APPC slot
    00FE  254 Signed       2 DHDROGFD       Offset to next DGFBK slot
    0100  256 Signed       2 DHDRODGS       Offset to next DGSBK slot
    0102  258 Signed       2 DHDRODID       Offset to next DIDBK slot
    0104  260 Signed       2 DHDROVLD       Offset to next VLDBK slot
    0106  262 Signed       2 *              Reserved for IBM use (offset)
    0108  264 Signed       2 *              Reserved for IBM use (offset)
    010A  266 Signed       2 *              Reserved for IBM use (offset)
    010C  268 Signed       4 DHDRLDID       CCPV/PPPV of last DIDBK page
    0110  272 Signed       4 DHDRCRM1       CCPV/PPPV of page containing the
                                            dedicated bit map for Crypto APs
                                            0-127.
    0114  276 Signed       4 DHDRCRM2       CCPV/PPPV of page containing the
                                            dedicated bit map for Crypto APs
                                            128-255.
    0118  280 Signed       4 DHDRLVLD       CCPV/PPPV of last VLDBK page
    011C  284 Signed       4 *              Reserved for IBM use (CCPV/PPPV)
    0120  288 Signed       4 *              Reserved for IBM use (CCPV/PPPV)
    0124  292 Signed       4 * (51)         Reserved for IBM use
    01F0  496 Character    8 DHDRVRMS (0)   Associated DIRECTXA CP Level
    01F0  496 Character    4 DHDRRMV (0)    Rel/Mod/Version
    01F0  496 Character    2 DHDRRM         Release/Mod Level
    01F2  498 Character    2 DHDRV          Version
    01F4  500 Character    4 DHDRS          Service Level
    01F8  504 Character    6 DHDRSRES       &SYSRES substitution value
    01FE  510 Bitstring    2 *              Reserved for IBM use
              00000200       DHDRLEN        (*-DHDR) Size of fixed-length
                                            portion of the DHDR, in bytes
              00000040       DHDRSZ         (*-DHDR+7)/8 Size of fixed-length
                                            portion of the DHDR, in
                                            doublewords
                 The directory control block table (DHDRDCBT)
                 contains the DHDRDCBE entries for each control
                 block in the object directory. The order of the
                 DHDRDCBE entries in the table must be the same as
                 the order of the directory control block IDs
                 defined in DHDRDCBI.
    0200  512 Dbl-Word     8 DHDRDATA (0)   Variable-length portion of DHDR
    0200  512 Dbl-Word     8 DHDRDCBT (0)   Directory control block table
                                            (starts at offset X'200')
    0200  512 Character   16 DHDRDCBE (0)   Dir control block table entry
    0200  512 Signed       4 DHDRDCBS       Size (in bytes) of the cntrl blck
    0204  516 Bitstring    1 DHDRDCBV       Version code for this cntrl blck
              00000000       DHDRCBV0       X'00' DHDRCBV0 Initial version
    0205  517 Bitstring    1 DHDRDCBF       Directory control block flag
              00000000       DHDRINIT       X'00' DHDRINIT Init flag of this
                                            dir CB
              00000080       DHDRIDGD       X'80' DHDRIDGD The block is
                                            contained in DGDBK
    0206  518 Signed       2 DHDRDCBI       Directory contrl block IDs
              00000001       DHDRDHDR       1 DHDRDHDR DHDR ID
              00000002       DHDRDNX1       2 DHDRDNX1 DNXBK ID for USER 1st
                                            level index
              00000003       DHDRDNX2       3 DHDRDNX2 DNXBK ID for USER 2nd
                                            level index
              00000004       DHDRDNX3       4 DHDRDNX3 DNXBK ID for UID 1st
                                            level index
              00000005       DHDRDNX4       5 DHDRDNX4 DNXBK ID for UID 2nd
                                            level index
              00000006       DHDRDNX5       6 DHDRDNX5 DNXBK ID for GID index
              00000007       DHDRDUND       7 DHDRDUND DUNDX ID
              00000008       DHDRDVMD       8 DHDRDVMD DVMD ID
              00000009       DHDRDDEV       9 DHDRDDEV DDEV ID
              0000000A       DHDRDCPU       10 DHDRDCPU DCPU ID
              0000000B       DHDRDNSA       11 DHDRDNSA DNSA ID
              0000000C       DHDRDAPP       12 DHDRDAPP DAPPC ID
              0000000D       DHDRDIUC       13 DHDRDIUC DIUCV ID
              0000000E       DHDRDGDB       14 DHDRDGDB DGDBK ID
              0000000F       DHDRDGRP       15 DHDRDGRP DGRPM ID
              00000010       DHDRDGSB       16 DHDRDGSB DGSBK ID
              00000011       DHDRDSGR       17 DHDRDSGR DSGR ID
              00000012       DHDRDBGF       18 DHDRDBGF DGFBK ID
              00000013       DHDRDDID       19 DHDRDDID DIDBK ID
              00000014       DHDRVLD        20 DHDRVLD VLDBK ID
                 Notes      : In order to avoid changing the existing
                       directory control block IDs in DHDRCBI, the
                       new ID should be added at the end with the
                       number of the last directory control block
                       ID in DHDRDCBI plus one.
    0208  520 Dbl-Word     8 *              Reserved field
    0210  528 Character   16 DHDRNXTE (0)   Next dir cntrl blck table entry
         **** THE VALUE OF FSMAXB FOR DATAMAP IS 4072
              000000DE       DHDRMXTE       (FSMAXB-DHDRLEN)/L'DHDRDCBE
                                            Maximum number of dir control
                                            block table entries
              00000DE0       DHDRMXLN       (DHDRMXTE*L'DHDRDCBE) Maximum
                                            length of DHDRDCBT
              00000FE0       DHDRMXBS       (DHDRLEN+DHDRMXLN) Maximum DHDR
                                            size in bytes
              000001FC       DHDRMXDS       (DHDRMXBS+7)/8 Maximum DHDR size
                                            in DBs
              00000000       DHDRVLEN       0 Length zero for variable len CB

DHDR Storage Layout | Top of page

    *** DHDR - Directory header block
    *
    *     +---------------------------+------+------+------+------+
    *   0 |         DHDRSIZE          |:RODVR|:RFLAG|//////|:RVERS|
    *     +---------------------------+------+------+------+------+
    *   8 |                       DHDRLABL                        |
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  18 |         DHDRUSER          |         DHDRUID           |
    *     +---------------------------+---------------------------+
    *  20 |         DHDRGID           |///////////////////////////|
    *     +---------------------------+///////////////////////////|
    *     |///////////////////////////////////////////////////////|
    *     |///////////////////////////////////////////////////////|
    *     +---------------------------+---------------------------+
    *  38 |         DHDRNCBE          |                           |
    *     +---------------------------+                           |
    *  40 |                                                       |
    *     =                       DHDRDCRY                        =
    *     |                           +---------------------------+
    *  B8 |                           |         DHDRLUSE          |
    *     +---------------------------+---------------------------+
    *  C0 |         DHDRLDUN          |         DHDRLUID          |
    *     +---------------------------+---------------------------+
    *  C8 |         DHDRLGID          |         DHDRLVMD          |
    *     +---------------------------+---------------------------+
    *  D0 |         DHDRLCPU          |         DHDRLDEV          |
    *     +---------------------------+---------------------------+
    *  D8 |         DHDRLIUC          |         DHDRLNSA          |
    *     +---------------------------+---------------------------+
    *  E0 |         DHDRLAPC          |         DHDRLGFD          |
    *     +---------------------------+-------------+-------------+
    *  E8 |         DHDRLDGS          |  DHDRODUN   |  DHDROUID   |
    *     +-------------+-------------+-------------+-------------+
    *  F0 |  DHDROGID   |  DHDROVMD   |  DHDROCPU   |  DHDRODEV   |
    *     +-------------+-------------+-------------+-------------+
    *  F8 |  DHDROIUC   |  DHDRONSA   |  DHDROAPC   |  DHDROGFD   |
    *     +-------------+-------------+-------------+-------------+
    * 100 |  DHDRODGS   |  DHDRODID   |  DHDROVLD   |/////////////|
    *     +-------------+-------------+-------------+-------------+
    * 108 |/////////////|/////////////|         DHDRLDID          |
    *     +-------------+-------------+---------------------------+
    * 110 |         DHDRCRM1          |         DHDRCRM2          |
    *     +---------------------------+---------------------------+
    * 118 |         DHDRLVLD          |///////////////////////////|
    *     +---------------------------+---------------------------+
    * 120 |///////////////////////////|///////////////////////////|
    *     +---------------------------+///////////////////////////|
    * 128 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +-------------+-------------+---------------------------+
    * 1F0 |   DHDRRM    |   DHDRV     |          DHDRS            |
    *     +-------------+-------------+-------------+-------------+
    * 1F8 |                DHDRSRES                 |/////////////|
    *     +---------------------------+------+------+-------------+
    * 200 |         DHDRDCBS          |:RDCBV|:RDCBF|  DHDRDCBI   |
    *     +---------------------------+------+------+-------------+
    * 208 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *
    *** DHDR - Directory header block

DHDR Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    DHDRCBV0       0204 00000000
    DHDRCMOD       0005 02
    DHDRCRM1       0110
    DHDRCRM2       0114
    DHDRDAPP       0206 0000000C
    DHDRDATA       0200
    DHDRDBGF       0206 00000012
    DHDRDCBE       0200
    DHDRDCBF       0205
    DHDRDCBI       0206
    DHDRDCBS       0200
    DHDRDCBT       0200
    DHDRDCBV       0204
    DHDRDCPU       0206 0000000A
    DHDRDCRY       003C
    DHDRDDEV       0206 00000009
    DHDRDDID       0206 00000013
    DHDRDGDB       0206 0000000E
    DHDRDGRP       0206 0000000F
    DHDRDGSB       0206 00000010
    DHDRDHDR       0206 00000001
    DHDRDIUC       0206 0000000D
    DHDRDNSA       0206 0000000B
    DHDRDNX1       0206 00000002
    DHDRDNX2       0206 00000003
    DHDRDNX3       0206 00000004
    DHDRDNX4       0206 00000005
    DHDRDNX5       0206 00000006
    DHDRDSGR       0206 00000011
    DHDRDUND       0206 00000007
    DHDRDVMD       0206 00000008
    DHDRFLAG       0005
    DHDRGID        0020
    DHDRHDR        0000
    DHDRIDGD       0205 00000080
    DHDRINIT       0205 00000000
    DHDRLABL       0008
    DHDRLAPC       00E0
    DHDRLCPU       00D0
    DHDRLDEV       00D4
    DHDRLDGS       00E8
    DHDRLDID       010C
    DHDRLDUN       00C0
    DHDRLEN        01FE 00000200
    DHDRLGFD       00E4
    DHDRLGID       00C8
    DHDRLIUC       00D8
    DHDRLNSA       00DC
    DHDRLUID       00C4
    DHDRLUSE       00BC
    DHDRLVLD       0118
    DHDRLVMD       00CC
    DHDRMXBS       0210 00000FE0
    DHDRMXDS       0210 000001FC
    DHDRMXLN       0210 00000DE0
    DHDRMXTE       0210 000000DE
    DHDRNCBE       0038
    DHDRNXTE       0210
    DHDROAPC       00FC
    DHDROCPU       00F4
    DHDRODEV       00F6
    DHDRODGS       0100
    DHDRODID       0102
    DHDRODUN       00EC
    DHDRODVR       0004
    DHDRODV0       0004 00000000
    DHDRODV1       0004 00000001
    DHDRODV2       0004 00000002
    DHDROGFD       00FE
    DHDROGID       00F0
    DHDROIUC       00F8
    DHDRONSA       00FA
    DHDROUID       00EE
    DHDROVLD       0104
    DHDROVMD       00F2
    DHDRRM         01F0
    DHDRRMV        01F0
    DHDRS          01F4
    DHDRSIZE       0000
    DHDRSRES       01F8
    DHDRSSI        0005 01
    DHDRSUB1       0005 04
    DHDRSZ         01FE 00000040
    DHDRUID        001C
    DHDRUSER       0018
    DHDRV          01F2
    DHDRVERS       0007
    DHDRVER0       0007 00000000
    DHDRVLD        0206 00000014
    DHDRVLEN       0210 00000000
    DHDRVRMS       01F0

This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:27:47 EDT.
Copyright IBM Corporation, 1990, 2020