Lines Matching refs:key
36 st_data_t key; member
75 #define do_hash(key,table) (unsigned int)(*(table)->type->hash)((key)) argument
76 #define do_hash_bin(key,table) (do_hash(key, table)%(table)->num_bins) argument
234 #define PTR_NOT_EQUAL(table, ptr, hash_val, key) \ argument
235 ((ptr) != 0 && (ptr->hash != (hash_val) || !EQUAL((table), (key), (ptr)->key)))
246 if (PTR_NOT_EQUAL(table, ptr, hash_val, key)) {\
248 while (PTR_NOT_EQUAL(table, ptr->next, hash_val, key)) {\
256 st_lookup(table, key, value) in st_lookup() argument
258 register st_data_t key;
264 hash_val = do_hash(key, table);
276 #define ADD_DIRECT(table, key, value, hash_val, bin_pos)\ argument
287 entry->key = key;\
295 st_insert(table, key, value) in st_insert() argument
297 register st_data_t key;
303 hash_val = do_hash(key, table);
307 ADD_DIRECT(table, key, value, hash_val, bin_pos);
317 st_add_direct(table, key, value) in st_add_direct() argument
319 st_data_t key;
324 hash_val = do_hash(key, table);
326 ADD_DIRECT(table, key, value, hash_val, bin_pos);
397 st_delete(table, key, value) in st_delete() argument
399 register st_data_t *key;
406 hash_val = do_hash_bin(*key, table);
414 if (EQUAL(table, *key, ptr->key)) {
418 *key = ptr->key;
424 if (EQUAL(table, ptr->next->key, *key)) {
429 *key = tmp->key;
439 st_delete_safe(table, key, value, never) in st_delete_safe() argument
441 register st_data_t *key;
448 hash_val = do_hash_bin(*key, table);
457 if ((ptr->key != never) && EQUAL(table, ptr->key, *key)) {
459 *key = ptr->key;
461 ptr->key = ptr->record = never;
470 delete_never(key, value, never) in delete_never() argument
471 st_data_t key, value, never; in delete_never()
501 retval = (*func)(ptr->key, ptr->record, arg);