Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only.

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
 STATUS     : VM/ESA Version 2, Release 1.0
 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

(contains links to field and bit definitions)
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 VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 12:37:24 EDT.
Copyright IBM Corporation, 1990, 1999