z/OS MVS Program Management: Advanced Facilities
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


External symbol definition record

z/OS MVS Program Management: Advanced Facilities
SA23-1392-00

An external symbol definition ("ESD") record describes a single symbol. An initial record has the following form:

Table 1. External symbol definition record
Field Offset Type Description
PTV 0-2 Byte(3) Type of record
X'030000'
If not continued
X'030100'
If continued
Symbol Type 3 Binary(1) Type of the external symbol:
X'00'
SD, section definition. This will include current OBJ ESD items of types SD, CM and PC (private code, blank SD name). The "Parent" or "Owning" ID must be zero.
Note: PC sections are defined by having a blank section name, not by a special section type (see Mapping object module ESD PC items).

See the comments in the description of the COMMON flag in Table 1.

X'01'
ED, element definition.

The "Parent ID" must be nonzero, and is the SD ID of the section of which this element is a component.

Note: The class to which this element belongs is specified by the external name on this record.

If any RLD items refer to this class, an ED record must be present, even if the class contains no text.

X'02'
LD, label definition. The "Parent ID" must be nonzero, and is the EDID of the element in which the LD item resides.
X'03'
PR, part reference.

The "Parent ID" must be nonzero, and is the EDID of the element in which this PR item resides.

Note: This supersedes current OBJ PR (pseudo-register definition).
X'04'
ER and WX, external reference. (WX is described by the "Binding Strength" value in the Attributes field below.)

All other types are reserved.

ESDID 4-7 Binary(4) ESDID of this item. This value must be greater than zero. ESDIDs in a GOFF file must be numbered sequentially starting at one, with no gaps.
Parent or Owning ESDID 8-11 Binary(4) ESDID of the object that "defines" or "owns" this item, if any. (For example, an LD item has its own ESDID, but the element to which it belongs has the "owning" ESDID.) If there is no "owning" ESDID, this field contains binary zero. See Table 1 for a summary.
  12-15 Binary(4) Reserved.
Offset 16-19 Binary(4) Offset associated with the ESD item named on this record.
Note: The only ESD types currently having offsets are LD items (and ED items as currently produced by the Assembler).
  20-23 Binary(4) Reserved.
Length 24-27 Binary(4) Length of the item named on this record.
Note: Length values apply only to ED and PR items. For SD, LD, and ER items, this field must be zero.

To distinguish a true zero length from a deferred length, specify -1 if the length specification is deferred. See Deferred element length record.

Extended Attribute ESDID 28-31 Binary(4) ESDID of the element that contains extended attribute information. This information is stored in the program object and may be made available to Language Environment® DLL support for dynamically resolved symbols. Valid for ED and LD records.
Extended Attribute Data Offset 32-35 Binary(4) Offset (within the element defined by the previous field) of the extended attribute data defined for this symbol. Valid for ED and LD records.
  36-39 Byte(4) Reserved.
Name Space ID 40 Binary(1) Identification of the name space to which this name belongs.
0
Reserved to program management binder
1
Normal external names (these can be specified as PDS member and alias names)
2
Pseudo-Register (PR) names
3
Parts. External data items for which storage is allocated in the program object and which can have initial text (for example, data items in C writable static).

All other values are reserved.

Fill-Byte Value Presence Field 41.0 Bit(1) Indicates the presence of a fill-byte value in Byte 42.
B'0'
No fill byte is present.
B'1'
A fill byte value is present.

Valid only for ED records.

Mangled Flag 41.1 Bit(1) Indicates whether this symbol is a C++ mangled name.
B'0'
The symbol is not mangled.
B'1'
The symbol may be mangled.
Renameable Flag 41.2 Bit(1) Indicates whether or not the symbol can participate in Language Environment type renaming.
B'0'
The symbol cannot be renamed (same as 'mapped' flag in XOBJ).
B'1'
The symbol can be renamed.
Removable Class Flag 41.3 Bit(1) Indicates that this class may be optionally deleted from a program object without affecting the executability of the program.
B'0'
Not removable. This is the default.
B'1'
Removable. This attribute applies only to ED ESD items.
  41.4-6 Bit(3) Reserved.
  41.7 Bit(1)
B'1'
Reserve 16 bytes at beginning of class. MRG class ED records only.
B'0'
No space reserved.
Fill Byte Value 42 Byte(1) Fill byte value, if bit 41.0 is one. ED records only.
  43 Byte(1) Reserved.
Associated data ID 44-47 Binary(4) This ID identifies the associated data (the environment or static area) for this symbol. Valid for LD items only. Supported only for XPLINK definitions and references.
Priority 48-51 Binary(4) Supported for PR items only. This unsigned field is used as a sort field when determining the order of PR items.
  52-59 Byte(8) Reserved. Must be binary zero.
Behavioral Attributes 60-69 Byte(10) Behavioral attribute information for the ESD item named on this record. The format of the behavioral attribute information is shown in Table 1.
Name Length 70-71 Binary(2) Length of the name of this ESD item. This length field cannot be zero.
Name 72-* Byte(n) Name of this ESD item. All names (including blank names) must be at least one character long. Trailing blanks should be removed.
Trailer   Byte(m) Unused space at the end of a record is reserved and cannot be used for any other purpose.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014