Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
DHDR
Control Block Contents
DHDR DSECT
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 RELOCATION CONSIDERATIONS : None
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' 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 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. 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 Note that the fields from DHDRLUSE through DHDRODGS 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. 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 * Reserved for IBM use (offset) 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 * Reserved for IBM use (CCPV/PPPV) 0114 276 Signed 4 * Reserved for IBM use (CCPV/PPPV) 0118 280 Signed 4 * Reserved for IBM use (CCPV/PPPV) 011C 284 Signed 4 * Reserved for IBM use (CCPV/PPPV) 0120 288 Signed 4 * (52) 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 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|: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 |/////////////|/////////////| * +-------------+-------------+-------------+-------------+ * 108 |/////////////|/////////////| DHDRLDID | * +-------------+-------------+---------------------------+ * 110 |///////////////////////////|///////////////////////////| * +---------------------------+---------------------------+ * 118 |///////////////////////////|///////////////////////////| * +---------------------------+---------------------------+ * 120 |///////////////////////////////////////////////////////| * =///////////////////////////////////////////////////////= * |///////////////////////////////////////////////////////| * +-------------+-------------+---------------------------+ * 1F0 | DHDRRM | DHDRV | DHDRS | * +-------------+-------------+-------------+-------------+ * 1F8 | DHDRSRES |/////////////| * +---------------------------+------+------+-------------+ * 200 | DHDRDCBS |:RDCBV|:RDCBF| DHDRDCBI | * +---------------------------+------+------+-------------+ * 208 |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * *** DHDR - Directory header block
DHDR Cross Reference
Symbol Dspl Value -------------- ---- ----- DHDRCBV0 0204 00000000 DHDRCMOD 0005 02 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 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 DHDROGFD 00FE DHDROGID 00F0 DHDROIUC 00F8 DHDRONSA 00FA DHDROUID 00EE DHDROVMD 00F2 DHDRRM 01F0 DHDRRMV 01F0 DHDRS 01F4 DHDRSIZE 0000 DHDRSRES 01F8 DHDRSSI 0005 01 DHDRSZ 01FE 00000040 DHDRUID 001C DHDRUSER 0018 DHDRV 01F2 DHDRVERS 0007 DHDRVER0 0007 00000000 DHDRVLEN 0210 00000000 DHDRVRMS 01F0
Copyright IBM Corporation, 1990, 2011