CALL CSRPQCL (Query a Cell)
The CALL CSRPQCL cell pool service is used to receive status information about a specified cell in a cell pool.
CSRPQCL reports whether the cell is free or allocated, and returns the number of the extent associated with the cell. CSRPQCL does not prevent other programs from changing the pool during or after a query. CSRPQCL returns the status as it was at the time you issued the call.
Format
Requirements for the caller
- AMODE:
- 24 or 31 (System code must be in 31-bit addressing mode when calling the service. All input addresses must be valid 31-bit addresses.)
- RMODE:
- 24 or ANY
- ASC Mode:
- Primary or AR (If the anchor and the extents are located in a data space, the caller must be in AR mode.)
Parameters
- cntl_alet
- Specifies the variable containing the ALET that identifies the location of the anchor and extents. Initialize the ALET to 0 if your program is running in AR mode and the anchor and extents are in the primary address space. If your program is running in primary ASC mode, the value is ignored, but you must code the parameter anyway.
- anchor_addr
- Specifies the variable containing the address of the 64-byte anchor.
- cell_addr
- Specifies the variable containing the address of the cell to be queried.
- cell_avail
- When CSRPQCL completes, the variable specified for cell_avail contains
one of the following values. These indicate the status of the specified
cell at the time you issued the CALL macro.
- 0
- Cell available
- 1
- Cell allocated
- extent_num
- When CSRPQCL completes, the variable specified for extent_num contains the number of the extent that contains the specified cell.
- return_code
- When CSRPQCL completes, the variable specifying return_code contains the return code.
Return Codes in Register 15
- 00
- The operation was successful.
- 1C
- Program error. The anchor address is not valid.
Action: Check to see if your program passed the wrong anchor address or inadvertently overlaid the anchor area.
- 54
- Program error. The cell address is not valid. Action: Investigate the following possible causes:
- The input cell address does not point to the beginning of a cell.
- The cell is not in the cell pool specified by the anchor address.
- 64
- Program error or system error. An extent chain was broken.
Action: Check to see if your program inadvertently overlaid an extent area. Make sure that no extent belongs to more than one cell pool.
- 68
- Program error or system error. An extent chain is circular.
Action: Check to see if your program inadvertently overlaid an extent area. Make sure that no extent belongs to more than one cell pool.