1 /* BEGIN INCLUDE FILE ... hashst.incl.pl1 */ 2 /* format: style4 */ 3 4 /* General Utility hash table */ 5 6 dcl 1 htable based (htp) aligned, /* hash table entries of level 2 are statistical info */ 7 2 nb fixed bin, /* number of buckets in hash table */ 8 2 ni fixed bin, /* number of entries used */ 9 2 np fixed bin, /* number of times hash_ called referincing this table */ 10 2 tnt fixed bin, /* total # of tries to find, enter, or delete an entry */ 11 2 id char (4), /* ht01 version 1 of hash_ */ 12 2 gnt fixed bin, /* greatest number of tries for search etc. */ 13 2 loht fixed bin (18) unsigned, /* length of hash table in words */ 14 2 pad bit (36) aligned, /* padding */ 15 2 buckets (1:hash_table_size_ refer (htable.nb)), /* 26111=((1024*255)/10 words per entry)-1 (8-word header) */ 16 3 name char (32) unaligned, /* identifier of entry */ 17 3 value bit (36) aligned, /* value corresponding to name */ 18 3 flags aligned, 19 4 ds bit (1) unal, /* deleted switch="1"b if deleted */ 20 4 empty bit (1) unal, 21 4 pad bit (34) unal, /* empty switch="1"b if empty */ 22 2 end_of_table bit (0) aligned; /* to get address */ 23 24 declare MAX_HT_BUCKETS_IN_SEG fixed bin init (26111) int static options (constant); 25 declare hash_table_size_ fixed bin; 26 27 /* END INCLUDE FILE ... hashst.incl.pl1 */