Note to reader
Note to reader In this section, the notation CSRPxxx/CSRC4xxx is
used to indicate either the CSRPxxx service in AMODE 24 or
31, or the CSRC4xxx service in AMODE 64.
End of Note to reader
Callable cell pool services manage areas of virtual storage in
the primary address space, in data spaces and in address spaces other
than the primary address space. A cell pool is an area of virtual
storage that is subdivided into fixed-sized areas of storage called
cells,
where the cells are the size you specify. A cell pool contains:
- An anchor
- At least one extent
- Any number of cells, all having the same size.
The anchor is the starting point or foundation on which
you build a cell pool. Each cell pool has only one anchor. An extent contains
information that helps callable cell pool services manage cells and
provides information you might request about the cell pool. A cell
pool can have up to 65,536 extents, each responsible for its own cell
storage. Your program determines the size of the cells and the cell
storage. Figure 1 illustrates
the three parts of a cell pool.
Through callable cell pool services, you build the cell pool.
You can then obtain cells from the pool. When there are no more cells
available in a pool, you can use callable cell pool services to enlarge
the pool.
To use callable cell pool services, your program issues the CALL
macro to invoke one of the following services:
- Build a cell pool and initialize an anchor (CSRPBLD/CSRC4BLD service)
- Expand a cell pool by adding an extent (CSRPESP/CSRC4EXP service)
- Connect cell storage to an extent (CSRPCON/CSRC4CON service)
- Activate previously connected storage (CSRPACT/CSRC4ACT service)
- Deactivate an extent (CSRPDAC/CSRC4DAC service)
- Disconnect the cell storage for an extent (CSRPDIS/CSRC4DIS service)
- Allocate a cell from a cell pool (CSRPGET/CSRC4GET, CSRPGT1/CSRC4GT1,
or CSRPGT2/CSRC4GT2 and CSRPRGT/CSRC4RGT or CSRPRGT1/CSRC4RG1 services)
- Return a cell to the cell pool (CSRPFRE/CSRC4FRE or CSRPFR1/CSRC4FR1,
or CSRPFR2/CSRC4FR2 and CSRPRFT/CSRC4RFR or CSRPRFR1/CSRC4RF1 services)
- Query the cell pool (CSRPQPL/CSRC4QPL service)
- Query a cell pool extent (CSRPQEX/CSRC4QEX service)
- Query a cell (CSRPQCL/CSRC4QCL service).
Your system's AMODE will determine which set of services to use,
as follows:
- When running AMODE 24 or AMODE 31, use the CSRPxxx services.
Use the CSRCPxxx interface definition file (IDF) for your language,
and use CSRCPOOL to linkedit.
- When running AMODE 64, use the CSRC4xxx services. Use the
CSRC4xxx interface definition file (IDF) for your language
(note that only assembler and C IDFs are provided), and use CSRC4POL
to linkedit.