gtpg2m2lGeneral Macros

GETCC-Get a Working Storage Block

This general macro assigns a storage block of specified size and type to an entry control block (ECB). The address and logical size of the storage block are placed in the specified core block reference word (CBRW) in the ECB.

Format




Notes:

  1. type

label
A symbolic name may be assigned to the macro statement.

datalevel
A symbolic data level index value (D0-DF).

DECB=(reg)|label1
The label or general register (R0-R7) containing the address of the data event control block (DECB).

type
A symbolic block type or a register in the form (reg) containing the block type may be specified for this parameter. The type and SIZE parameters are mutually exclusive. Block types provided and validated by the TPF system are:

L0
128-byte block

L1
381-byte block

L2
1055-byte block

L4
4095-byte block.

Registers R0-R7 can be used for (reg).

Note:
Additional block type equates must be added to the user modifiable macro IVTYPE if they are to be considered valid.

When the ID keyword is coded and the RTP keyword is not used, the second positional parameter is used to define the record ID type. Valid types for this variant are:

0,1,...9
A digit from 0-9, signifying the selection of a combination of size, duration, and device type attributes as defined in the RIATA entry for the record identified by the ID parameter. See the RIATA information in TPF System Generation for further information on RTPx.

In previous TPF releases, this parameter was either P, for primary pool type or O for overflow pool type. P and O are still valid for migration and correspond to 0 and 1 respectively.

Note:
The second positional parameter is not coded when the SIZE keyword is coded.

ID=sd_term|(reg)
This is a self-defining, 2 character record identity (ID) or a register in the form (reg) containing the record identity. An example of a record ID is ID=CAA. The specified record ID must be in the record ID attribute table (RIAT).

RTP=d|(reg)
A digit or register containing a digit from 0 to 9, which indicates that a combination of size-, duration-, and device-type attributes were selected as defined in the RIATA macro entry for the record identified by the ID parameter. Valid registers are R0-R7. See the RIATA macro information in TPF System Generation for more information about RTPx.

SIZE=sd_term|(reg)
This is a self-defining term for the block size (in bytes) or a register in the form (reg) containing the block size. An example of a value for block size might be SIZE=350. The largest block size supported is 4095. The self-defining term should be expressed either by using the hexadecimal type of specification or by the decimal numeric constant.

COMMON
Allocated block storage can be made accessible to all other ECBs or protected from them by using this parameter.

YES
The storage comes from the pool of shared main storage. Any ECB can access the storage block.

NO
The storage is unique to this ECB and is protected from reference or alteration by other ECBs. NO is the default.

PROTECTED
The storage comes from the pool of shared main storage. Any ECB can access the storage block.
Note:
The usage of the COMMON=YES parameter requires common block authorization (CHECK=CMB) in the IBMPAL macro.

FILL=hh
An optional, 1-byte, hexadecimal value (hh) used to initialize the user section of the storage block being allocated.

For example, by coding FILL=00, a storage block allocated is initialized to X'00's.

If the FILL parameter is not specified, the storage block contents are unpredictable; unless the SYSTC tag SBCLEAR is set on. SBCLEAR set on indicates that the system is to clear all blocks (with zeros) when the blocks are assigned to the ECB. The FILL parameter has priority over the SBCLEAR setting.

Entry Requirements

Return Conditions

Programming Considerations

Examples