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

#### HASHTAB

Prolog

Control Block Contents
HASHTAB DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### HASHTAB Prolog

     Name       : HASHTAB
     Description: Hash Table Complex
     DSECT      : HASHTAB
     Function   : HASHTAB is used exclusively by file management
                  to reduce the paging overhead when searching
                  for a file on a read/write disk. It contains a
                  header plus a pointer array with the address of
                  each hyperblock associated with the disk, and a
                  scatter index table with a 4-byte entry for
                  each file on the disk. HASHTAB is called by the
                  HASHTAB macro.

#### HASHTAB Control Block Content

#### HASHTAB DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      HASHTAB        H E A D E R
    0000    0 Signed       4 HYPTSIZE       Size of Hyperblock Address Table
                                            (bytes)
    0004    4 Signed       4 SCTSIZE        Size of Scatter Table (bytes)
    0008    8 Signed       4 NSCTSLOT       Number of 4 byte slots in Scatter
                                            Table
    000C   12 Signed       4 NSCTUSED       Number of used Scatter Table
                                            slots
    0010   16 Character    7 HASHEYEC       Hash Table eyecatcher
    0017   23 Character    1 HASHVERS       Hash Table version number
    0018   24 Character    8 *              Reserved
              00000020       HSHLENHD       *-HASHTAB Size of header H Y P E
                                            R B L O C K A D D R E S S T A B L
                                            E
    0020   32 Signed       4 HYPTABLE (0)   Start of Hyperblock Address
                                            Portion
    0020   32 Signed       4 HYPADD         Address of hyperblock
              00000004       HADDLEN        *-HYPADD Size of an address entry
                                            S C A T T E R T A B L E
    0024   36 Signed       4 SCATTRTB (0)   Start of Scatter Table Portion
    0024   36 Signed       3 HTABINDX       Index into hyperblock address
                                            table
    0027   39 Character    1 SECHBYTE       Secondary hash byte
              00000004       SLOTSIZE       *-HTABINDX Size of a Scatter
                                            Table slot

#### HASHTAB Storage Layout

    *** HASHTAB - Control Block in HASHTAB
    *
    *     +---------------------------+---------------------------+
    *   0 |         HYPTSIZE          |         SCTSIZE           |
    *     +---------------------------+---------------------------+
    *   8 |         NSCTSLOT          |         NSCTUSED          |
    *     +---------------------------+--------------------+------+
    *  10 |                   HASHEYEC                     |:HVERS|
    *     +------------------------------------------------+------+
    *  18 |///////////////////////////////////////////////////////|
    *     +---------------------------+--------------------+------+
    *  20 |          HYPADD           |     HTABINDX       |:HBYTE|
    *     +---------------------------+--------------------+------+
    *  28
    *
    *** HASHTAB - Control Block in HASHTAB

#### HASHTAB Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    HADDLEN        0020 00000004
    HASHEYEC       0010
    HASHVERS       0017
    HSHLENHD       0018 00000020
    HTABINDX       0024
    HYPADD         0020
    HYPTABLE       0020
    HYPTSIZE       0000
    NSCTSLOT       0008
    NSCTUSED       000C
    SCATTRTB       0024
    SCTSIZE        0004
    SECHBYTE       0027
    SLOTSIZE       0027 00000004

This information is based on z/VM V4R4.0.
Last updated on 28 Jul 2003 at 08:15:18 EDT.
Copyright IBM Corporation, 1990, 2003