z/OS MVS Programming: Assembler Services Reference ABE-HSP
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


CSRPQPL — Query the cell pool

z/OS MVS Programming: Assembler Services Reference ABE-HSP
SA23-1369-00

Description

Call the CSRPQPL cell pool service to receive status information about the cell pool.

CSRPQPL does not prevent other programs from changing the pool during or after a query. CSRPQPL returns the status as it was at the time you issued the CALL.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Problem state with PSW key 8-15
Dispatchable unit mode: Task or SRB
Cross memory mode: Any PASN, any HASN, any SASN
AMODE: 24- or 31-bit addressing mode. Nucleus-resident code must be in 31-bit addressing mode when calling the service. All input addresses must be valid 31-bit addresses.
ASC mode: Primary or AR mode. (If the anchor and the extents are located in a data space, the caller must be in AR mode.)
Interrupt status: Enabled or disabled for I/O and external interrupts
Locks: The caller may hold locks, but is not required to hold any.
Control parameters: Must reside in a single address or data space. They must be in the primary address space or in an address/data space that is addressable through a public entry on the caller's dispatchable unit access list (DU-AL).

Programming requirements

If your program is in AR mode, issue the SYSSTATE macro with ASCENV=AR before you call CSRPQPL so the CALL macro can generate the correct code for AR mode.

Before you use cell pool services, you can optionally include the CSRCPASM macro to generate cell pool services equate (EQU) statements. CSRCPASM provides the following constants for use in your program:
*  Length of the cell pool anchor data area:
*
CSR_ANCHOR_LENGTH     EQU     64
*
*
*  Base length of the cell pool extent data area:
*
CSR_EXTENT_BASE       EQU     128
*
*
*  Length of the user-supplied pool name:
*
CSR_POOL_NAME_LEN     EQU     8
*
*

Restrictions

None.

Input register information

Before calling the CSRPQPL service, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.

Output register information

When control returns to the caller, the general purpose registers (GPRs) contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14
Used as a work register by the system
15
Return code
When control returns to the caller, the access registers (ARs) contain:
Register
Contents
0-1
Used as work registers by the system
2-14
Unchanged
15
Used as a work register by the system

Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.

Performance implications

None.

Syntax

Write the call as shown on the syntax diagram. You must code all parameters on the CALL statement in the order shown.

Syntax Description
CALL CSRPQPL

 
,(cntl_alet
,anchor_addr
,user_name
,cell_size
,total_cells
,avail_cells
,number_extents
,return_code)
 

Parameters

All input to callable services is in the form of RX-type addresses.

The parameters are explained as follows:

,(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.
,user_name
When CSRPQPL completes, the variable specified by user_name contains the name on the CSRPBLD service that created the cell pool.
,cell_size
When CSRPQPL completes, the variable specified by cell_size contains the size of each cell at the time the cell pool was created.
,total_cells
When CSRPQPL completes, the variable specified by total_cells contains the total number of cells associated with the extents.
,avail_cells
When CSRPQPL completes, the variable specified by avail_cells contains the total number of cells in active extents that are available for allocation.
,number_extents
When CSRPQPL completes, the variable specified by number_extents contains the total number of extents (active or inactive, and connected or disconnected) in the cell pool.
,return_code)
When CSRPQPL completes, the variable specified by return_code contains the return code.

ABEND codes

None.

Return and reason codes

When the CSRPQPL service returns control to your program, GPR 15 (and return_code) contains one of the following return codes:

Hexadecimal Return Code Decimal Return Code Meaning and Action
00 00 Meaning: The operation was successful.

Action: None.

1C 28 Meaning: Program error. The anchor address is not valid.

Action: Check to see if your program passed the wrong address or inadvertently overlaid the anchor area.

64 100 Meaning: Program error or system error. The extent address is not valid.

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 104 Meaning: 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.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014