Syntax
int hashtable_create ()
 
Description
hashtable_create creates a new hash table that can be used to store key-value pairs in a format that allows more efficient searching than an array.
Returns an identifier that you can use to add entries to and search the hash table.
 
Example
hid=hashtable_create(); 
hashtable_add(hid, "unxadm", {"johnd", "davel", "jamesp"}); 
hashtable_add(hid, "winadm", {"marym", "stevec", "janel"}); 
print("Windows Admin Group:" + hashtable_lookup(hid, "winadm"));  
 
    
Syntax
string hashtable_enum (int hid, [int reset])
 
Description
hashtable_enum returns the next entry in a hash table.
 
Example
hid=hashtable_create(); 
hashtable_add(hid, "unxadm", {"johnd", "davel", "jamesp"}); 
hashtable_add(hid, "winadm", {"marym", "stevec", "janel"}); 
print("Windows Admin Group:" + hashtable_lookup(hid, "winadm")); 
for (x=hashtable_enum (hid,1); x!=""; x=hashtable_enum(hid,0)) { 
   printf("Table contains key=%s\n", x); 
} 
 
    
Syntax
int hashtable_import ( int hid, string filename )
 
Description
hashtable_import reads a specified file and uses the contents to create a hash table containing hash table entries, one per line, consisting of a single hash key, a colon, and a comma-separated list of hash values. The file may also contain comments delimited by the # character.
If successfully imported, it returns the number of entries in the hash table.
 
Example
#File admgroups.txt contains the formatted text 
unxadm:john,bob,fred,jane 
winadm:mary,chris,henry 
#policy loads this file into a hashtable that identifies the group permissions, 
hid=hashtable_create(); 
count=hashtable_import(hid, "/etc/opt/quest/qpm4u/tables/admgroups.txt"); 
printf("Import loaded %d groups\n", count); 
unxadm=hashtable_lookup(hid, "unxadm"); 
if (user !in unxadm) 
{ 
   reject "You are not authorized to run this command"; 
} 
 
    
Syntax
list hashtable_lookup ( int hid, string key)
 
Description
hashtable_lookup searches the specified hash table for the key.
If it finds the key, it returns the associated list, otherwise it returns an empty list.
 
Example
hid=hashtable_create(); 
hashtable_add(hid, "unxadm", {"johnd", "davel", "jamesp"}); 
hashtable_add(hid, "winadm", {"marym", "stevec", "janel"}); 
print("Windows Admin Group:" + hashtable_lookup(hid, "winadm"));