Guardian Procedure Calls Reference Manual
POOL32_... and POOL64_... Procedures
The POOL64_... procedures manage a 64-bit pool. The similar POOL32_... procedures manage
a 32-bit pool. The two sets of procedures use the same pool-management algorithms. The differences
are:
• The POOL64_... procedures use 64-bit addresses, so the pool can be anywhere in 64-bit
address space (which includes 32-bit address space). The POOL32_... procedures use 32-bit
addresses, so the pool must be within 32-bit address space.
• The address, pointer and size parameters are 64-bit for POOL64_..., 32-bit for POOL32_....
• The minimum overhead (for pool management) in a pool element is 16 bytes in a 64-bit pool,
8 bytes in a 32-bit pool. The overhead in the primary and secondary pool segments is also
smaller for a 32-bit pool (see NSK_POOL…_OVERHEAD literals in header files KPOOL*).
• The POOL64_... interface is defined in the header file kpool64.h for C/C++ and KPOOL64
for EpTAL. The POOL32_... interface is defined in the header file kpool32.h for C/C++ and
KPOOL32 for EpTAL. The KPOOL32* header files define many data types and values as
synonyms for their POOL64_... counterparts.
The only advantages of the POOL32_... procedures over the POOL64_... procedures are the
slightly smaller overhead, and the convenience of using 32-bit pointers in existing code.
The two sets of procedures comprise the following:
POOL32_AUGMENT_POOL64_AUGMENT_
POOL32_CHECK_POOL64_CHECK_
POOL32_CHECK_SHRINK_POOL64_CHECK_SHRINK_
POOL32_DEFINE_POOL64_DEFINE_
POOL32_DIMINISH_POOL64_DIMINISH_
POOL32_GET_POOL64_GET_
POOL32_GETINFO_POOL64_GETINFO_
POOL32_PUT_POOL64_PUT_
POOL32_REALLOC_POOL64_REALLOC_
POOL32_RESET_MAX_POOL64_RESET_MAX_
POOL32_RESIZE_POOL64_RESIZE_
Each of the POOL64_... procedures is described below. The POOL32_... procedures are not
described individually; each functions like its POOL64_... counterpart. For syntax, constants and
structures, see the KPOOL32* header files.
The POOL64_... procedures are available for native callers in H06.20, J06.09 and subsequent
RVUs, except POOL64_REALLOC_ became available in H06.25 and J06.14. The header file
KPOOL64 (for EpTAL) is available as of H06.24 and J06.13. 64-bit address support in EpTAL is
available as of H06.23 and J06.12 when enabled by the __EXT64 directive.
The POOL32_... procedures are available for native callers in H06.22, J06.11 and subsequent
RVUs, except POOL32_REALLOC_ became available in H06.25 and J06.14. The header file
KPOOL32 (for EpTAL) is available as of H06.24 and J06.13.
NOTE: The procedures named POOL_... and those named …POOL also manage 32-bit pools,
but they use completely different and less efficient algorithms. The POOL64_... and POOL32_...
procedures supersede them for native TNS/E callers. There is not an exact one-for-one replacement
between these procedures and their predecessors.
POOL32_... and POOL64_... Procedures 953