Lines Matching defs:htbl
59 struct htbl {
71 #define HFIRST(htbl, arg) \
72 ((htbl)->htbl_ptrs[(htbl)->htbl_hash((arg), 0) % (htbl)->htbl_size])
75 #define HADD(htbl, strp) \
76 hash_link((htbl), (htbl)->htbl_hash((strp), (htbl)->htbl_key_off), \
103 static void htbl_grow(struct htbl *);
109 static struct htbl ahash_tbl = {
117 static struct htbl bhash_tbl = {
125 static struct htbl ihash_tbl = {
132 static struct htbl nhash_tbl = {
204 hash_link(struct htbl *htbl, uint_t hval, void *strp)
208 if (htbl->htbl_grow && htbl->htbl_ifcount >= htbl->htbl_size * 5)
209 htbl_grow(htbl);
211 hep = &htbl->htbl_ptrs[hval % htbl->htbl_size];
212 link_in(hep, strp, htbl->htbl_link_off);
213 htbl->htbl_ifcount++;
218 hash_unlink(struct htbl *htbl, void *strp)
220 link_out(strp, htbl->htbl_link_off);
221 htbl->htbl_ifcount--;
265 htbl_grow(struct htbl *htbl)
272 if ((new_size = hash_table_sizes[htbl->htbl_size_index + 1]) == 0)
289 saved_old_ptrs = old_ptrs = htbl->htbl_ptrs;
290 old_size = htbl->htbl_size;
291 htbl->htbl_ptrs = new_ptrs;
292 htbl->htbl_size = new_size;
293 htbl->htbl_size_index++;
294 htbl->htbl_ifcount = 0;
300 htbl->htbl_grow = _B_FALSE;
303 HADD(htbl, strp);
306 htbl->htbl_grow = _B_TRUE;