NAME : HCPGALPL
DESCRIPTION: Generalized Associative Lookup
DSECT : GALPL
FUNCTION : Provide the parameters, work area and root for
hash table used by HCPGAL
LOCATED BY : N/A
CREATED BY : A program that needs it.
It may also be permanently defined in a
data module such as in HCPHSH.
DELETED BY : A program when function not needed.
It may also never be deleted even when all
the entries have been deleted. This is the
case for the data module HCPHSH.
RELOCATION CONSIDERATIONS : None
COMMENTS : This parameter list is used by the generalized
associative lookup routine to both define a
hash table and store its high level index
The caller is responsible for defining the size
of the key (GALKEYSZ) and providing sufficient
space for the high level index (GALINDX)
The remaining fields are work areas.
ECOMMENDED USAGE -
In order to define a new hash table, a new entry must be
created in the file HCPHSH ASSEMBLE. The entry should
have the naming convention of HCPHSHxx. These entries are
meant to serve as the root of the hash table, and can be
referenced by other modules in CP as a DATA EXTERN.
After defining a hash table within HCPHSH, all calls to
the HCPGAL functions (such as inserting into the hash
table) will require the address of the GALPL definition
as input. For example, this can be acquired by:
HCPEXTERN HCPHSHxx Reference to hash table
L Ry,=A(HCPHSHxx) Point to the hash table
HCPCALL HCPGALzz Make a hash table call
For further information on how hash tables managed by
HCPGAL work, refer to HCPGAL ASSEMBLE.