This general macro returns the address of a file storage record to the
appropriate available pool of file records. The control program
determines whether the record size is small, or large, or 4KB, and whether the
record address is a short term or long term file storage address.
Format
- label
- A symbolic name can be assigned to the macro statement.
- datalevel
- An entry control block (ECB) data level whose file address reference word
(FARW) contains the file address to be returned. The possible values
are (D0-DF).
- DECB=(reg)|label1
- The label or general register (R0-R7) containing the address of the
data event control block (DECB), which contains the file address to be
returned.
Entry Requirements
- R9 must contain the address of the ECB being processed.
- The specified FARW (D0-DF or DECB) must contain a file address
previously obtained from the file storage pool with a file pool macro.
Return Conditions
- Control is returned to the next sequential instruction.
- The contents of R14 and R15 are unknown. The contents of all other
registers are preserved across this macro call.
Programming Considerations
- This macro can be executed on any I-stream.
- The ECB reference register (R9) must contain the address of the ECB being
processed before using the macro.
- This macro cannot be used until after pools have been activated.
- Only one record address may be returned at a time through this
macro. Separate requests must be made for each record address.
- File pool support must be active when this macro is called; the
system must be above Utility State.
- All file storage record addresses must ultimately be returned by a RELFC
macro.
- No record address may be released twice.
- TPF transaction services processing affects RELFC macro processing in the
following ways:
- The file address is released only at commit time.
- When the TXRBC macro has completed successfully, file address release
requests are discarded and file addresses are not released.
- If a system error occurs, processing ends as if a TXRBC macro was
called.
- If the location of the data event control block specified by the DECB
parameter does not refer to a valid DECB, control is transferred to the system
error routine.
Examples
RELFC D0
This invocation returns the record referred to by the file address
reference word associated with data level D0.