SYMTB - 64-bit CP - V4R4.0

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

#### SYMTB

Prolog

Control Block Contents
SYMTB DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### SYMTB Prolog

     NAME       : HCPSYMTB
     DESCRIPTION: Symbol Table Entry
     DSECT      : SYMTB
     FUNCTION   : The Symbol Table Entry contains information to
                  describe the location, size and (possibly) attributes
                  of CP external labels.
     LOCATED BY : SYMPT, LOCATE process pointer blocks.
     CREATED BY : HCPCFD   as a result of a dynamic load as a result
                  of CPXLOAD.
                  HCPLDR   during the CP nucleus build process.
     DELETED BY : HCPCFD   as a result of a dynamic unload of executable
                  code.
     REFERENCES : None
     SERIALIZED : Additions or changes to the SYMTB entries is controlled
                  by the SYMLHLCK lock.
     NOTES      : SYMTB entries never exist alone, they are always part
                  of @MAPSTRT-@MAPEND set of SYMTB entries, or are part
                  of a page of SYMTB entries created by HCPCFDAD during
                  normal system operation as a result of CPXLOAD.

#### SYMTB Control Block Content

#### SYMTB DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      SYMTB          Symbol Table Entry
    0000    0 Character    8 SYMTBNM        Symbol name
    0008    8 Address      4 SYMTBVA        Virtual address in CP
    000C   12 Bitstring    1 SYMTBF0        Flags
              1... ....      SYMTBF0L       X'80' Added by HCPCFDAD
    000D   13 Signed       3 SYMTBLN        Length (if CSECT), else 0
         The SYMTB described up to this point is the portion (16 bytes) of the
         SYMTB built by HCPLDR and cannot be changed unless HCPLDR is radically
         changed.
         The only way to realize that no additional fields exist is to realize
         that this SYMTB is located by the first SYMPT pointer block that is
         chained from the SYMLH Locate Header Block.
         SYMTBSSZ is the length of these static entries built by HCPLDR.
              00000010       SYMTBSSZ       *-SYMTB Length of SYMTB entries
                                            for @MAPSTRT entries
         These additional fields are built only for SYMTB entries added during
         normal system operation by HCPCFDAD when new external labels come into
         existence, like during dynamic loading of executable code from CMS
         files.
         The way to realize that these additional fields exist is to test
         SYMTBF0.SYMTBF0L, which indicates that this SYMTB describes external
         labels in dynamically loaded modules.
    0010   16 Bitstring    1 SYMTBF1        Flags
    0011   17 Bitstring    1 SYMTBF2        Flags
    0012   18 Bitstring    1 SYMTBF3        Flags
    0013   19 Bitstring    1 SYMTBF4        Flags
              .1.. ....      SYMTBF4T       X'40' Loaded TEMPORARY SYMTBDSZ
                                            is the length of the dynamic
                                            entries built by HCPCFD.
    0014   20 Signed       4 * (0)          Assure fullword alignment
              00000014       SYMTBDSZ       *-SYMTB Length of SYMTB entries
                                            for dynamic entries

#### SYMTB Storage Layout

    *** SYMTB - Symbol Table Entry
    *
    *     +-------------------------------------------------------+
    *   0 |                       SYMTBNM                         |
    *     +---------------------------+------+--------------------+
    *   8 |         SYMTBVA           |:TBF0 |      SYMTBLN       |
    *     +------+------+------+------+------+--------------------+
    *  10 |:TBF1 |:TBF2 |:TBF3 |:TBF4 | 14
    *     +------+------+------+------+
    *
    *** SYMTB - Symbol Table Entry

#### SYMTB Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    SYMTBDSZ       0014 00000014
    SYMTBF0        000C
    SYMTBF0L       000C 80
    SYMTBF1        0010
    SYMTBF2        0011
    SYMTBF3        0012
    SYMTBF4        0013
    SYMTBF4T       0013 40
    SYMTBLN        000D
    SYMTBNM        0000
    SYMTBSSZ       000D 00000010
    SYMTBVA        0008

This information is based on z/VM V4R4.0. Last updated on 30 Jul 2003 at 13:20:23 EDT.
Copyright IBM Corporation, 1990, 2003