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

#### DHDR

Prolog

Control Block Contents
DHDR DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### DHDR Prolog

     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

#### DHDR Control Block Content

#### DHDR DSECT

    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. The "old"
            style directory is for VM/ESA 1.2.2 and earlier
            releases. This is Version 0. The Version 1 is the
            initial "new" style object directory for VM/ESA 2.1.0
            release.
    0004    4 Bitstring    1 DHDRODVR       Version code of object directory
              00000000       DHDRODV0       X'00' VM/ESA 1.2.2 and prior
                                            version of object directory
              00000001       DHDRODV1       X'01' VM/ESA 2.1.0 version of
                                            object directory
    0005    5 Bitstring    1 * (2)          Reserved for IBM use
    0007    7 Bitstring    1 DHDRVERS       Version code for this block
              00000000       DHDRVER0       X'00' 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
                 Note that the fields from DHDRLUSE through DHDRODGS
                 are not used by CP.
    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 *              Reserved for IBM use
    0104  260 Signed       4 * (61)         Reserved for IBM use
    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' Initial version
    0205  517 Bitstring    1 DHDRDCBF       Directory control block flag
              00000000       DHDRINIT       X'00' Init flag of this dir CB
              00000080       DHDRIDGD       X'80' The block is contained in
                                            DGDBK
    0206  518 Signed       2 DHDRDCBI       Directory contrl block IDs
              00000001       DHDRDHDR       1 DHDR ID
              00000002       DHDRDNX1       2 DNXBK ID for USER 1st level
                                            index
              00000003       DHDRDNX2       3 DNXBK ID for USER 2nd level
                                            index
              00000004       DHDRDNX3       4 DNXBK ID for UID 1st level
                                            index
              00000005       DHDRDNX4       5 DNXBK ID for UID 2nd level
                                            index
              00000006       DHDRDNX5       6 DNXBK ID for GID index
              00000007       DHDRDUND       7 DUNDX ID
              00000008       DHDRDVMD       8 DVMD ID
              00000009       DHDRDDEV       9 DDEV ID
              0000000A       DHDRDCPU       10 DCPU ID
              0000000B       DHDRDNSA       11 DNSA ID
              0000000C       DHDRDAPP       12 DAPPC ID
              0000000D       DHDRDIUC       13 DIUCV ID
              0000000E       DHDRDGDB       14 DGDBK ID
              0000000F       DHDRDGRP       15 DGRPM ID
              00000010       DHDRDGSB       16 DGSBK ID
              00000011       DHDRDSGR       17 DSGR ID
              00000012       DHDRDBGF       18 DGFBK 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

    *** DHDR - Directory header block
    *
    *     +---------------------------+------+-------------+------+
    *   0 |         DHDRSIZE          |:RODVR|/////////////|: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   |/////////////|///////////////////////////|
    *     +-------------+-------------+///////////////////////////|
    * 108 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +-----------------------------------------+-------------+
    * 1F8 |                DHDRSRES                 |/////////////|
    *     +---------------------------+------+------+-------------+
    * 200 |         DHDRDCBS          |:RDCBV|:RDCBF|  DHDRDCBI   |
    *     +---------------------------+------+------+-------------+
    * 208 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *
    *** DHDR - Directory header block

#### DHDR Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    DHDRCBV0       0204 00000000
    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
    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
    DHDRGID        0020
    DHDRHDR        0000
    DHDRIDGD       0205 00000080
    DHDRINIT       0205 00000000
    DHDRLABL       0008
    DHDRLAPC       00E0
    DHDRLCPU       00D0
    DHDRLDEV       00D4
    DHDRLDGS       00E8
    DHDRLDUN       00C0
    DHDRLEN        01FE 00000200
    DHDRLGFD       00E4
    DHDRLGID       00C8
    DHDRLIUC       00D8
    DHDRLNSA       00DC
    DHDRLUID       00C4
    DHDRLUSE       00BC
    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
    DHDRODUN       00EC
    DHDRODVR       0004
    DHDRODV0       0004 00000000
    DHDRODV1       0004 00000001
    DHDROGFD       00FE
    DHDROGID       00F0
    DHDROIUC       00F8
    DHDRONSA       00FA
    DHDROUID       00EE
    DHDROVMD       00F2
    DHDRSIZE       0000
    DHDRSRES       01F8
    DHDRSZ         01FE 00000040
    DHDRUID        001C
    DHDRUSER       0018
    DHDRVERS       0007
    DHDRVER0       0007 00000000
    DHDRVLEN       0210 00000000

This information is based on z/VM V5R2.0. Last updated on 12 Apr 2006 at 16:51:06 EDT.
Copyright IBM Corporation, 1990, 2005