Use this system macro to access coupling facility (CF) control program (CP)
routines for entry control block segments that are controlled by the entry
control block (ECB). The CF CP routines allow these segments to:
- Activate a CF symbolic device address (SDA)
- Read CF parameters
- Set the CF lock
- Read a structure identifier (ID) vector
- Allocate a CF list structure.
- Attach a list structure user to a CF list structure
- Detach a list structure user from a CF list structure
- Read CF list structure controls
- Define a list notification vector
- Release a list notification vector
- Remove CF structures.
Format
- label
- A symbolic name can be assigned to the macro statement.
- REQUEST
- Indicates the type of request you want to perform. The type must be
one of the following values:
- ACTSDA
- Activates the CF SDA.
- READFP
- Reads the parameters for a CF.
- SETLOCK
- Locks or unlocks the CF lock. The CF lock is used to
serialize operations on the CF.
- READSID
- Allows the list structure user to read the structure ID vector.
- ALLOC
- Allocates a CF list structure.
- ATTUSER
- Attaches a list structure user to a CF list structure.
- DETUSER
- Detaches a list structure user from a CF list structure.
- READLSC
- Reads list structure controls for a CF list structure and returns user
structure controls and the user ID vector.
- DEFVECT
- Defines a list notification vector.
- RELVECT
- Releases a list notification vector.
- CLEAN
- Removes CF list structures that are not allocated fully.
- Note:
- If you specify ALLOC, ATTUSER, CLEAN, or DETUSER for the REQUEST parameter,
the CF lock must be held.
- (reg)
- Register (R0-R7) that contains the value for the type of request you
want to perform. The request type must be one of the these
values:
- ICFREQACTSDA
- ICFREQREADFP
- ICFREQSETLOCK
- ICFREQALLOC
- ICFREQATTUSER
- ICFREQDETUSER
- ICFREQREADLSC
- ICFREQDEFVECT
- ICFREQRELVECT
- ICFREQCLEAN
Equates for these values are defined in the ICFEQ DSECT.
- BLOCK
- Specifies the address of the data block for your request. The
format of the input data block is provided with the IFAPI data macro.
See that data macro for the correct parameter format.
Specify one of the following:
- addr
- The address of the RS-type name or address of a data block.
- reg
- A pointer to a data block.
Entry Requirements
None.
Return Conditions
- Control is returned to the next sequential instruction (NSI).
- The condition code (CC) is not preserved across this macro call.
- The contents of R14 are unknown. The contents of R0-R7 are
preserved across this macro call.
- A return code is returned in R15 as follows.
- Request Type
- Condition Code
- ACTSDA
- ICF_SUCCESS
ICF_ERROR
- READFP
- ICF_SUCCESS
ICF_ERROR
- SETLOCK
- ICF_SUCCESS
ICF_ERROR
ICF_INVALID_CPUID
- ALLOC
- ICF_SUCCESS
ICF_SUCCESS_AND_ALLOCATED
ICF_SUCCESS_AND_RENAMED
ICF_NO_FREE_SIDS
ICF_SYNC_ERROR
ICF_INVALID_STRUCTURE_SIZE
ICF_ERROR
- ATTUSER
- ICF_SUCCESS
ICF_ATTACH_FAILED
ICF_NAME_NOT_UNIQUE
ICF_VECTOR_UNAVAILABLE
- DETUSER
- ICF_SUCCESS
ICF_SUCCESS_AND_DEALLOC
ICF_SUCCESS_AND_ZERO
ICF_ERROR
- READLSC
- ICF_SUCCESS
ICF_ERROR
- DEFVECT
- ICF_SUCCESS
ICF_FEWER_VECTOR_ENTRIES
ICF_VECTOR_UNAVAILABLE
- RELVECT
- ICF_SUCCESS
ICF_TOKEN_NOT_ASSIGNED
- CLEAN
- ICF_SUCCESS
ICF_ERROR
Programming Considerations
None.
Examples
- The following shows an example of how to activate a CF SDA:
CFRQC REQUEST=ACTSDA,BLOCK=ACTSDADB
The data block is found at the location indicated by the ACTSDADB
label.
- The following shows an example of how to read the parameters for a
CF:
CFRQC REQEST=READFP,BLOCK=(R7)
A pointer to the data block is found in register 7 (R7).