|
Description
Call the CSRC4QPL cell pool service to receive status information
about the cell pool.
CSRC4QPL does not prevent other programs from changing the pool
during or after a query. CSRC4QPL 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: |
64-bit addressing mode. All input addresses must
be valid 64-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). All parameter areas, including the parameter
list, may reside above 2GB. |
Programming requirements
If your program is in AR mode, issue the SYSSTATE macro with ASCENV=AR
before you call CSRC4QPL so the CALL macro can generate the correct
code for AR mode.
As the program must be running in AMODE 64 to call this service,
be sure to issue SYSSTATE AMODE64=YES at the point(s) where the program
begins running in AMODE 64.
Before you use cell pool services, you can optionally include the
CSRC4ASM macro to generate cell pool services equate (EQU) statements.
CSRC4ASM provides the following constants for use in your program: * Length of the cell pool anchor data area:
*
CSRC4_ANCHOR_LENGTH EQU 64
*
*
* Base length of the cell pool extent data area:
*
CSRC4_EXTENT_BASE EQU 192
*
*
* Length of the user-supplied pool name:
*
CSRC4_POOL_NAME_LEN EQU 8
*
*
Input register information
Before calling the CSRC4QPL 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 64-bit 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 in low 32 bits. High 32 bits are used as a work
area by the system.
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.
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 CSRC4QPL |
,(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 fullword 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 doubleword variable containing the address of
the 64-byte anchor.
- ,user_name
- When CSRC4QPL completes, the variable specified by user_name contains
the name on the CSRC4BLD service that created the cell pool.
- ,cell_size
- When CSRC4QPL completes, the doubleword variable specified by cell_size contains
the size of each cell at the time the cell pool was created.
- ,total_cells
- When CSRC4QPL completes, the doubleword variable specified by total_cells contains
the total number of cells associated with the extents.
- ,avail_cells
- When CSRC4QPL completes, the doubleword variable specified by avail_cells contains
the total number of cells in active extents that are available for
allocation.
- ,number_extents
- When CSRC4QPL completes, the fullword 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 CSRC4QPL completes, the fullword variable specified by return_code contains
the return code.
Return and reason codes
When the CSRC4QPL 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.
|
|