Guardian Procedure Calls Reference Manual

Returned Value
INT(32)
Outcome of the call:
POOL64_OK0
Successful completion.
POOL64_BAD_POOL101
Pool is uninitialized or corrupted.
These values are defined in kpool64.h for C and KPOOL64 for pTAL. Other results indicate an
error within the pool structure, probably corruption.
Returnable Bytes and Segment Combinations
The three possible result scenarios are:
returnable_segsreturnable_bytes
none available= 0= 0
initial segment can be resized to a smaller size= 0> 0
pool can be diminished by one or more secondary segments> 0> 0
NOTE: The Pool64 client application or subsystem can call POOL64_CHECK_SHRINK_
periodically to determine whether to shrink. To return one or more segs, the caller can invoke
POOL64_DIMINISH_ in a loop while returnable_segs is nonzero and returnable_bytes
exceeds some heuristic threshold. (The heuristic must include some hysteresis to avoid oscillation
as few pool elements are allocated and freed.) If returnable_bytes exceeds the threshold but
returnable_segs is 0, the client can call POOL64_RESIZE_ to reduce the area occupied by
the primary pool segment.
If no periodic housekeeping mechanism is available, the client can call POOL64_CHECK_SHRINK_
after each …PUT_, but this approach incurs greater processor overhead.
958 Guardian Procedure Calls (P)