gtpc2mjrC/C++ Language Support User's Guide

Format of Global Tags

Every global tagname is assigned a unique 32-bit number that describes its displacement in a global area, its length as defined, the number of the global area in which it resides, and characteristics of online handling such as keypointability, subsystem commonality, or uniqueness. The format of the global tagname is shown in Table 53.

Table 53. Format of Global Tag Definitions

Bits Description
0-3 Reserved, and set to B'0000'.
4-15 Displacement of the item in its global area (a value between X'000' and X'FFF').
16-23
  • Field length, if tagname refers to a field
  • Length of the directory, if tagname refers to a record
  • The SIGT slot number of the field or record, if the field or record is synchronizable.

24

0 =
not keypointable

1 =
keypointable

25

0 =
not synchronizable

1 =
synchronizable
Note:
This attribute is determined from the contents of the SYNLST copy member. (This is produced in SIP Stage II, when SIP macro SKSYNC is assembled.)
26

0 =
field

1 =
record

27 Reserved for IBM use.
28

0 =
field or record is not SSU common

1 =
field or record is SSU common

29 Reserved for customer use.
30-31

1 =
global area 1

3 =
global area 3

Non-relocatable Symbols

The GNTAGH program does not convert non-relocatable symbols found in the GLOBALS assembly to global tags. Instead, these are defined in the c$globz.h header file with the same value to which they are equated to in GLOBALS. Non-relocatable symbols are usually defined like

    @EXAMPLE EQU   X'80'

If your installation defines global record or field names as non-relocatable symbols, and you require GNTAGH to convert them to global tags, you can do so by compiling GNTAGH with the CONVNONRELOC macro defined, either by adding

    DEFINE(CONVNONRELOC)

to the compiler parameter list, or by adding

    #define CONVNONRELOC

to the gldefh.h header file.