XATTR instruction (z/OS and CMS)

The XATTR instruction enables attributes to be assigned to an external symbol. This instruction is only valid when you specify the GOFF assembler option.

Read syntax diagramSkip visual syntax diagram                  .-,---------.  
                  V           |  
>>-symbol--XATTR----attribute-+--------------------------------><
 
symbol
is a symbol which has been declared implicitly or explicitly as an external symbol. Further, if the PSECT attribute is specified, must be a RSECT, CSECT or START name or an ENTRY name (where the entry is in one of the preceding types of section)
attribute
is one or more attributes from the group of attributes described below. The assembler sets the appropriate attribute flags in the GOFF External Symbol Directory record.
Notes:
  1. If more than one value is specified for a given attribute, no diagnostic is issued and only the last value is used.
  2. All attributes of an external symbol must be specified in a single XATTR statement (which may be continued).
ATTRIBUTES
Read syntax diagramSkip visual syntax diagram>>-ATTRIBUTES(label)-------------------------------------------><
 
ATTRIBUTES(label), abbreviation ATTR(label)
is a symbol (internal or external) known in the declaring program. It names the location of the extended attribute information to be associated with symbol.

Instructs the assembler to place the ESDID and offset of the label in the GOFF External Symbol Dictionary record.

LINKAGE
Read syntax diagramSkip visual syntax diagram>>-LINKAGE(-+-OS-----+-)---------------------------------------><
            '-XPLINK-'    
 
LINKAGE(OS), abbreviation LINK(OS)
Instructs the assembler to set the "Linkage Type" attribute to standard OS linkage.
LINKAGE(XPLINK), abbreviation LINK(XPLINK)
Instructs the assembler to set the "Linkage Type" attribute to indicate "Extra Performance Linkage".
PSECT
Read syntax diagramSkip visual syntax diagram>>-PSECT(name)-------------------------------------------------><
 
PSECT (name)
Identifies the private read-write "section" or PSECT associated with name by its being an internal or external symbol belonging to an element in the class to which the PSECT belongs. The name is one of:
REFERENCE
Read syntax diagramSkip visual syntax diagram              .-,---------------------.    
              V                (1)    |    
>>-REFERENCE(---+-+-DIRECT---+------+-+-)----------------------><
                | '-INDIRECT-'      |      
                |          (1)      |      
                '-+-DATA-+----------'      
                  '-CODE-'                 
 
Notes:
  1. Select no more than one option from each group.
REFERENCE(DIRECT), abbreviation REF(DIRECT)
Instructs the assembler to reset (clear) the "Indirect Reference" attribute.
REFERENCE(INDIRECT), abbreviation REF(INDIRECT)
Instructs the assembler to assign the "Indirect Reference" attribute.
REFERENCE(CODE), abbreviation REF(CODE)
Instructs the assembler to set the Executable attribute.
REFERENCE(DATA), abbreviation REF(DATA)
Instructs the assembler to set the Not Executable attribute.
SCOPE
Read syntax diagramSkip visual syntax diagram>>-SCOPE(-+-SECTION-+-)----------------------------------------><
          +-MODULE--+    
          +-LIBRARY-+    
          +-IMPORT--+    
          '-EXPORT--'    
 
SCOPE(SECTION), abbreviation SCOPE(S)
Instructs the assembler to set the binding scope to "Section".
SCOPE(MODULE), abbreviation SCOPE(M)
Instructs the assembler to set the binding scope to "Module".
SCOPE(LIBRARY), abbreviation SCOPE(L)
Instructs the assembler to set the binding scope to "Library".
SCOPE(IMPORT), abbreviation SCOPE(X)
Instructs the assembler to set the binding scope to "Export-Import" (see note following this list).
SCOPE(EXPORT), abbreviation SCOPE(X)
Instructs the assembler to set the binding scope to "Export-Import".

This statement indicates only that the name field symbol has the specified scope. A symbol having SCOPE(X) will have IMPORT status only if declared in an EXTRN statement, and will have EXPORT status only if declared explicitly in an ENTRY statement, or declared implicitly as an entry on a CSECT or RSECT statement.

The SCOPE(IMPORT) or SCOPE(EXPORT) attribute is required for using Dynamic Link Libraries under the Language Environment®. For details, refer to z/OS Language Environment Programming Guide (SA22-7561).


[ Top of Page | Previous Page | Next Page | Contents | Index ]