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.
 RELOCATION CONSIDERATIONS : None
 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' SYMTBF0L 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' SYMTBF4T 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 V6R2.0. Last updated on 21 Nov 2011 at 11:25:51 EDT.
Copyright IBM Corporation, 1990, 2011