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 Signed       4 * (111)        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
     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 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-----------------------------------------+-------------+
* 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
DHDRDCBE       0200
DHDRDCBF       0205
DHDRDCBI       0206
DHDRDCBS       0200
DHDRDCBT       0200
DHDRDCBV       0204
DHDRDCPU       0206 0000000A
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
DHDRLEN        01FE 00000200
DHDRMXBS       0210 00000FE0
DHDRMXDS       0210 000001FC
DHDRMXLN       0210 00000DE0
DHDRMXTE       0210 000000DE
DHDRNCBE       0038
DHDRNXTE       0210
DHDRODVR       0004
DHDRODV0       0004 00000000
DHDRODV1       0004 00000001
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 V4R2.0. Last updated on 17 Oct 2001 at 15:07:02 EDT.
Copyright IBM Corporation, 1990, 2001