This general macro is a combination of the control program macros GETLC and
GETCC. This macro obtains an available large block of storage and an
available large file storage address from the short or long term pool records
indicated by the requested record id.
The address and size of the storage block is placed in the specified core
block reference word (CBRW) of the specified ECB data level.
The address of the file record is inserted into the file address reference
word (FARW) of the specified ECB data level.
- Note:
- This macro is provided for backward compatibility only. New programs
should be written using the GETFC macro (see GETFC-Get File Pool Address and Storage Block).
Format
Notes:
- dummy
- label
- A symbolic name can be assigned to the macro statement.
- Dx
- This parameter must be coded as an ECB data level D0-DF.
- dummy
- This is a dummy parameter that no longer has meaning. It is
required to preserve the position of the parameter following. The value
S or L can be used, or it may just be indicated with commas.
- record_id
- A valid record ID, the characteristics of which are used to determine
whether a long term, short term, or duplicate file address is obtained.
Entry Requirements
- R9 must contain the address of the ECB being processed.
- The ECB must not be holding a storage block for the specified data
level.
Return Conditions
- Control is returned to the next sequential instruction.
- The content of R15 is unknown.
- R14 contains the address of the block assigned.
- The contents of all other registers are preserved across this macro
call.
Programming Considerations
- This macro can be executed on any I-stream.
- Only one block of storage may be obtained at a time through this
macro. Separate requests must be made for each block.
- Only one record address may be obtained at a time through this
macro. Separate requests must be made for each record address.
- A check is made by the control program to determine if the ECB requesting
a storage block is already holding one for the specified data level. If
a block is already held, control is transferred to the system error
routine.
- Core blocks held by an operating program should be released as soon as
possible by the operating program.
- All file storage record addresses must ultimately be released by a RELFC
macro.
- No record address may be released twice.
- This macro may result in the equivalent of an implied WAITC.
- File pool addresses that are acquired in a global transaction (that is,
after a TXBGC macro call but before a TXCMC or TXRBC macro call) are released
if the transaction is rolled back using a TXRBC macro call. However,
the core block remains attached to the ECB.
Examples
GCFLC D0,L,OM
The address and size of a storage block of type OM is put into the core
block reference word for data level D0. Whether the block is from the
long term pool or the short term pool depends on the definition of the OM
record returned. The L is merely a placeholder and has no other
meaning.