HT_VALUE
HT_VALUE *val;
HT_VALUE *val;
HT_VALUE val = { 0 };
HT_VALUE value;
static void internal_free_nop(HT_VALUE *v)
v->ht->config.ht_free_fn((HT_VALUE *)v);
void ossl_ht_foreach_until(HT *h, int (*cb)(HT_VALUE *obj, void *arg),
if (!cb((HT_VALUE *)md->neighborhoods[i].entries[j].value, arg))
int (*filter)(HT_VALUE *obj, void *arg),
+ (sizeof(HT_VALUE *) * max_len));
list->list = (HT_VALUE **)(list + 1);
if (v != NULL && filter((HT_VALUE *)v, arg)) {
list->list[list->list_len++] = (HT_VALUE *)v;
HT_VALUE *h = (HT_VALUE *)arg;
HT_VALUE **olddata)
HT_VALUE *ival;
*olddata = (HT_VALUE *)md->neighborhoods[neigh_idx].entries[j].value;
int ossl_ht_insert(HT *h, HT_KEY *key, HT_VALUE *data, HT_VALUE **olddata)
HT_VALUE *ossl_ht_get(HT *h, HT_KEY *key)
return (HT_VALUE *)ival;
v->ht->config.ht_free_fn((HT_VALUE *)v);
HT_VALUE *nv = NULL;
HT_VALUE *v = NULL;
HT_VALUE tv;
static int table_iterator(HT_VALUE *v, void *arg)
static int filter_iterator(HT_VALUE *v, void *arg)
static void fuzz_free_cb(HT_VALUE *v)
HT_VALUE inval; \
HT_VALUE *oval = NULL; \
pfx ossl_unused vtype *ossl_ht_##name##_##vtype##_from_value(HT_VALUE *v) \
HT_VALUE **v) \
HT_VALUE *vv; \
pfx ossl_unused HT_VALUE *ossl_ht_##name##_##vtype##_to_value(vtype *data, \
HT_VALUE *v) \
pfx ossl_unused int ossl_ht_##name##_##vtype##_type(HT_VALUE *h) \
vtype *ossl_ht_##name##_##vtype##_from_value(HT_VALUE *v); \
HT_VALUE **v); \
HT_VALUE *ossl_ht_##name##_##vtype##_to_value(vtype *data, HT_VALUE *v); \
int ossl_ht_##name##_##vtype##_type(HT_VALUE *h);
int ossl_ht_insert(HT *htable, HT_KEY *key, HT_VALUE *data,
HT_VALUE **olddata);
void ossl_ht_foreach_until(HT *htable, int (*cb)(HT_VALUE *obj, void *arg),
int (*filter)(HT_VALUE *obj, void *arg),
HT_VALUE *ossl_ht_get(HT *htable, HT_KEY *key);
HT_VALUE **list;
void (*ht_free_fn)(HT_VALUE *obj);
static int int_filter_all(HT_VALUE *v, void *arg)
static int int_foreach(HT_VALUE *v, void *arg)
static void hashtable_intfree(HT_VALUE *v)
HT_VALUE *v;
static void hashtable_mt_free(HT_VALUE *v)
HT_VALUE *v = NULL;