HT
HT *namenum_ht; /* Name->number mapping */
HT *ht;
HT *ossl_ht_new(const HT_CONFIG *conf)
HT *new = OPENSSL_zalloc(sizeof(*new));
void ossl_ht_read_lock(HT *htable)
void ossl_ht_read_unlock(HT *htable)
void ossl_ht_write_lock(HT *htable)
void ossl_ht_write_unlock(HT *htable)
static int ossl_ht_flush_internal(HT *h)
int ossl_ht_flush(HT *h)
void ossl_ht_free(HT *h)
size_t ossl_ht_count(HT *h)
void ossl_ht_foreach_until(HT *h, int (*cb)(HT_VALUE *obj, void *arg),
HT_VALUE_LIST *ossl_ht_filter(HT *h, size_t max_len,
static int grow_hashtable(HT *h, size_t oldsize)
static int ossl_ht_insert_locked(HT *h, uint64_t hash,
static struct ht_internal_value_st *alloc_new_value(HT *h, HT_KEY *key,
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)
int ossl_ht_delete(HT *h, HT_KEY *key)
static HT *fuzzer_table = NULL;
pfx ossl_unused int ossl_ht_##name##_##vtype##_insert(HT *h, HT_KEY *key, \
pfx ossl_unused vtype *ossl_unused ossl_ht_##name##_##vtype##_get(HT *h, \
int ossl_ht_##name##_##vtype##_insert(HT *h, HT_KEY *key, vtype *data, \
vtype *ossl_unused ossl_ht_##name##_##vtype##_get(HT *h, \
HT *ossl_ht_new(const HT_CONFIG *conf);
void ossl_ht_free(HT *htable);
void ossl_ht_read_lock(HT *htable);
void ossl_ht_write_lock(HT *htable);
void ossl_ht_read_unlock(HT *htable);
void ossl_ht_write_unlock(HT *htable);
int ossl_ht_flush(HT *htable);
int ossl_ht_insert(HT *htable, HT_KEY *key, HT_VALUE *data,
int ossl_ht_delete(HT *htable, HT_KEY *key);
size_t ossl_ht_count(HT *htable);
void ossl_ht_foreach_until(HT *htable, int (*cb)(HT_VALUE *obj, void *arg),
HT_VALUE_LIST *ossl_ht_filter(HT *htable, size_t max_len,
HT_VALUE *ossl_ht_get(HT *htable, HT_KEY *key);
HT *ht = NULL;
HT *h;
static HT *m_ht = NULL;
if (!HT)
/* 6.5 Mb */ { AH_TRUE, HT, 6500, 0x80, 0x00, 0, 8 },
/* 13 Mb */ { AH_TRUE, HT, 13000, 0x81, 0x00, 1, 8 },
/*19.5 Mb */ { AH_TRUE, HT, 19500, 0x82, 0x00, 2, 8 },
/* 26 Mb */ { AH_TRUE, HT, 26000, 0x83, 0x00, 3, 8 },
/* 39 Mb */ { AH_TRUE, HT, 39000, 0x84, 0x00, 4, 8 },
/* 52 Mb */ { AH_TRUE, HT, 52000, 0x85, 0x00, 5, 8 },
/*58.5 Mb */ { AH_TRUE, HT, 58500, 0x86, 0x00, 6, 8 },
/* 65 Mb */ { AH_TRUE, HT, 65000, 0x87, 0x00, 7, 8 },
/* 13 Mb */ { AH_TRUE, HT, 13000, 0x88, 0x00, 8, 8 },
/* 26 Mb */ { AH_TRUE, HT, 26000, 0x89, 0x00, 9, 8 },
/* 39 Mb */ { AH_TRUE, HT, 39000, 0x8a, 0x00, 10, 8 },
/* 52 Mb */ { AH_TRUE, HT, 52000, 0x8b, 0x00, 11, 8 },
/* 78 Mb */ { AH_TRUE, HT, 78000, 0x8c, 0x00, 12, 8 },
/* 104 Mb */ { AH_TRUE, HT, 104000, 0x8d, 0x00, 13, 8 },
/* 117 Mb */ { AH_TRUE, HT, 117000, 0x8e, 0x00, 14, 8 },
/* 130 Mb */ { AH_TRUE, HT, 130000, 0x8f, 0x00, 15, 8 },
/* 6.5 Mb */ { AH_TRUE, HT, 6500, 0x80, 0x00, 0, 4 },
/* 13 Mb */ { AH_TRUE, HT, 13000, 0x81, 0x00, 1, 4 },
/*19.5 Mb */ { AH_TRUE, HT, 19500, 0x82, 0x00, 2, 4 },
/* 26 Mb */ { AH_TRUE, HT, 26000, 0x83, 0x00, 3, 4 },
/* 39 Mb */ { AH_TRUE, HT, 39000, 0x84, 0x00, 4, 4 },
/* 52 Mb */ { AH_TRUE, HT, 52000, 0x85, 0x00, 5, 4 },
/*58.5 Mb */ { AH_TRUE, HT, 58500, 0x86, 0x00, 6, 4 },
/* 65 Mb */ { AH_TRUE, HT, 65000, 0x87, 0x00, 7, 4 },
/* 13 Mb */ { AH_TRUE, HT, 13000, 0x88, 0x00, 8, 4 },
/* 26 Mb */ { AH_TRUE, HT, 26000, 0x89, 0x00, 9, 4 },
/* 39 Mb */ { AH_TRUE, HT, 39000, 0x8a, 0x00, 10, 4 },
/* 52 Mb */ { AH_TRUE, HT, 52000, 0x8b, 0x00, 11, 4 },
/* 78 Mb */ { AH_TRUE, HT, 78000, 0x8c, 0x00, 12, 4 },
/* 104 Mb */ { AH_TRUE, HT, 104000, 0x8d, 0x00, 13, 4 },
/* 117 Mb */ { AH_TRUE, HT, 117000, 0x8e, 0x00, 14, 4 },
/* 130 Mb */ { AH_TRUE, HT, 130000, 0x8f, 0x00, 15, 4 },
[12] = { .phy = HT, 6500, 0x00, N(0), 4 },
[13] = { .phy = HT, 13000, 0x00, N(1), 6 },
[14] = { .phy = HT, 19500, 0x00, N(2), 6 },
[15] = { .phy = HT, 26000, 0x00, N(3), 8 },
[16] = { .phy = HT, 39000, 0x00, N(4), 8 },
[17] = { .phy = HT, 52000, 0x00, N(5), 8 },
[18] = { .phy = HT, 58500, 0x00, N(6), 8 },
[19] = { .phy = HT, 65000, 0x00, N(7), 8 },
[20] = { .phy = HT, 13000, 0x00, N(8), 4 },
[21] = { .phy = HT, 26000, 0x00, N(9), 6 },
[22] = { .phy = HT, 39000, 0x00, N(10), 6 },
[23] = { .phy = HT, 52000, 0x00, N(11), 8 },
[24] = { .phy = HT, 78000, 0x00, N(12), 8 },
[25] = { .phy = HT, 104000, 0x00, N(13), 8 },
[26] = { .phy = HT, 117000, 0x00, N(14), 8 },
[27] = { .phy = HT, 130000, 0x00, N(15), 8 },
[28] = { .phy = HT, 19500, 0x00, N(16), 4 },
[29] = { .phy = HT, 39000, 0x00, N(17), 6 },
[30] = { .phy = HT, 58500, 0x00, N(18), 6 },
[31] = { .phy = HT, 78000, 0x00, N(19), 8 },
[32] = { .phy = HT, 117000, 0x00, N(20), 8 },
[33] = { .phy = HT, 156000, 0x00, N(21), 8 },
[34] = { .phy = HT, 175500, 0x00, N(22), 8 },
[35] = { .phy = HT, 195000, 0x00, N(23), 8 },
[8] = { .phy = HT, 6500, 0x00, N(0), 0 },
[9] = { .phy = HT, 13000, 0x00, N(1), 2 },
[10] = { .phy = HT, 19500, 0x00, N(2), 2 },
[11] = { .phy = HT, 26000, 0x00, N(3), 4 },
[12] = { .phy = HT, 39000, 0x00, N(4), 4 },
[13] = { .phy = HT, 52000, 0x00, N(5), 4 },
[14] = { .phy = HT, 58500, 0x00, N(6), 4 },
[15] = { .phy = HT, 65000, 0x00, N(7), 4 },
[16] = { .phy = HT, 13000, 0x00, N(8), 0 },
[17] = { .phy = HT, 26000, 0x00, N(9), 2 },
[18] = { .phy = HT, 39000, 0x00, N(10), 2 },
[19] = { .phy = HT, 52000, 0x00, N(11), 4 },
[20] = { .phy = HT, 78000, 0x00, N(12), 4 },
[21] = { .phy = HT, 104000, 0x00, N(13), 4 },
[22] = { .phy = HT, 117000, 0x00, N(14), 4 },
[23] = { .phy = HT, 130000, 0x00, N(15), 4 },
[24] = { .phy = HT, 19500, 0x00, N(16), 0 },
[25] = { .phy = HT, 39000, 0x00, N(17), 2 },
[26] = { .phy = HT, 58500, 0x00, N(18), 2 },
[27] = { .phy = HT, 78000, 0x00, N(19), 4 },
[28] = { .phy = HT, 117000, 0x00, N(20), 4 },
[29] = { .phy = HT, 156000, 0x00, N(21), 4 },
[30] = { .phy = HT, 175500, 0x00, N(22), 4 },
[31] = { .phy = HT, 195000, 0x00, N(23), 4 },