Lines Matching refs:key
53 ckh_bucket_search(ckh_t *ckh, size_t bucket, const void *key) in ckh_bucket_search() argument
60 if (cell->key != NULL && ckh->keycomp(key, cell->key)) in ckh_bucket_search()
71 ckh_isearch(ckh_t *ckh, const void *key) in ckh_isearch() argument
77 ckh->hash(key, hashes); in ckh_isearch()
81 cell = ckh_bucket_search(ckh, bucket, key); in ckh_isearch()
87 cell = ckh_bucket_search(ckh, bucket, key); in ckh_isearch()
92 ckh_try_bucket_insert(ckh_t *ckh, size_t bucket, const void *key, in ckh_try_bucket_insert() argument
107 if (cell->key == NULL) { in ckh_try_bucket_insert()
108 cell->key = key; in ckh_try_bucket_insert()
128 const void *key, *data, *tkey, *tdata; in ckh_evict_reloc_insert() local
134 key = *argkey; in ckh_evict_reloc_insert()
148 assert(cell->key != NULL); in ckh_evict_reloc_insert()
151 tkey = cell->key; tdata = cell->data; in ckh_evict_reloc_insert()
152 cell->key = key; cell->data = data; in ckh_evict_reloc_insert()
153 key = tkey; data = tdata; in ckh_evict_reloc_insert()
160 ckh->hash(key, hashes); in ckh_evict_reloc_insert()
184 *argkey = key; in ckh_evict_reloc_insert()
190 if (!ckh_try_bucket_insert(ckh, bucket, key, data)) in ckh_evict_reloc_insert()
199 const void *key = *argkey; in ckh_try_insert() local
202 ckh->hash(key, hashes); in ckh_try_insert()
206 if (!ckh_try_bucket_insert(ckh, bucket, key, data)) in ckh_try_insert()
211 if (!ckh_try_bucket_insert(ckh, bucket, key, data)) in ckh_try_insert()
228 const void *key, *data; in ckh_rebuild() local
233 if (aTab[i].key != NULL) { in ckh_rebuild()
234 key = aTab[i].key; in ckh_rebuild()
236 if (ckh_try_insert(ckh, &key, &data)) { in ckh_rebuild()
443 ckh_iter(ckh_t *ckh, size_t *tabind, void **key, void **data) in ckh_iter() argument
449 if (ckh->tab[i].key != NULL) { in ckh_iter()
450 if (key != NULL) in ckh_iter()
451 *key = (void *)ckh->tab[i].key; in ckh_iter()
463 ckh_insert(tsd_t *tsd, ckh_t *ckh, const void *key, const void *data) in ckh_insert() argument
468 assert(ckh_search(ckh, key, NULL, NULL)); in ckh_insert()
474 while (ckh_try_insert(ckh, &key, &data)) { in ckh_insert()
487 ckh_remove(tsd_t *tsd, ckh_t *ckh, const void *searchkey, void **key, in ckh_remove() argument
496 if (key != NULL) in ckh_remove()
497 *key = (void *)ckh->tab[cell].key; in ckh_remove()
500 ckh->tab[cell].key = NULL; in ckh_remove()
519 ckh_search(ckh_t *ckh, const void *searchkey, void **key, void **data) in ckh_search() argument
527 if (key != NULL) in ckh_search()
528 *key = (void *)ckh->tab[cell].key; in ckh_search()
538 ckh_string_hash(const void *key, size_t r_hash[2]) in ckh_string_hash() argument
540 hash(key, strlen((const char *)key), 0x94122f33U, r_hash); in ckh_string_hash()
553 ckh_pointer_hash(const void *key, size_t r_hash[2]) in ckh_pointer_hash() argument
561 u.v = key; in ckh_pointer_hash()