Callable cell pool services

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.