gtps1m5pSystem Macros

USATC-Create User Storage Allocation Table Entry

Use this system macro to create an entry in the user storage allocation table (USAT). The system initializer (CT26) uses the contents of the USAT to carve user space in main storage. The USAT information is used only when the CCCTIN user exit is active. The table is mapped by the DSECT IUSAT.

See TPF System Installation Support Reference for more information about the CCCTIN user exit.

Format




TAG=ccc
Specifies the 3-character dump tag used to identify this area of storage. This parameter is required.

TAGF=xx
Specifies the 2-hex digit format indicator. This parameter is optional. The default is 00. The format indicators are described in the code for the DLTEC macro.

SIZE=n
The size, in number of bytes, of the area to be allocated. If size is set to zero, ALLOCATE is set to NO. The parameter is optional and the default is 0.

The area is allocated by CT26 so that it starts and ends on a 4 KB boundary. Aligning the area on 4 KB gives users the ability to key protect their tables.

LOC
The location where storage is allocated.

HIGH
Indicates that the area resides in storage above 16 MB.

LOW
Indicates the area resides in storage below 16 MB.

The default is 31BIT.

ALLOCATE=YES|NO
Indicates whether or not the area is to be allocated. ALLOCATE=NO can be used to define spare USAT slots. The default is YES.

Spare table slots allow new user areas to be created by manipulating the table size using ZAPGM and then reinitializing the TPF system.

KEYWORD=keyword
Specifies the keyword used to identify the area of storage on the IDOTB macro and the ZIDOT command. The default is no keyword.

CINFC=interface_label
Specifies the label used to identify the associated CINFC entry. The default is no label. The label must be defined in UCNFEQ.

END
Specifies the end of the USAT build sequence. When specified, this parameter is the only one invoked; other parameters are ignored.
Note:
If the END parameter is not coded, the TPF system interprets material following proper table entries as though they were also table entries. This results in unpredictable behavior.

Entry Requirements

None.

Return Conditions

Control is returned to the next sequential instruction (NSI).

Programming Considerations

Examples

The following example shows three entries being built in an allocation table. The table created by the three USATC calls is represented by the following.

  1. The following call defines and allocates 32 MB of user storage below 16 MB with a dump tag (TL1), a IDOTB keyword (MYTBL), and a CINFC keyword (UMMYTBL).
    USATC TAG=TL1,             Dump tag TL1
          SIZE=32000,          32K user area
          LOC=LOW,             Allocated below the 16MB
          KEYWORD=MYTBL,       IDOTB keyword is MYTBL
          CINFC=UMMYTBL,       Reference label is UMMYTBL
    
  2. The next call defines a USAT slot above 16 MB but without allocating it. This is a dummy slot. Such a slot might be used during development that is not ready to be activated.
    USATC TAG=TL2,             Dump tag TL2
          SIZE=40000,          40K user area
          LOC=HIGH,            Defined above 16MB
          ALLOCATE=NO,         But the area is not allocated
          KEYWORD=HITBL1,      IDOTB keyword is HITBL1
          CINFC=UMHITBL1       Label is UMHITBL1
    
  3. This allocates a spare entry with SP1 as the its tag. When SIZE=0 (the default), the ALLOCATE parameter is NO.
    USATC TAG=SP1              Defines a spare entry
    
  4. This ends a series of USATC specifications. An END parameter must conclude the USATC calls.
    USATC END                  Indicates the end of the USAT build