Lines Matching refs:namemap

59     OSSL_NAMEMAP *namemap = ossl_namemap_new(libctx);  in ossl_stored_namemap_new()  local
61 if (namemap != NULL) in ossl_stored_namemap_new()
62 namemap->stored = 1; in ossl_stored_namemap_new()
64 return namemap; in ossl_stored_namemap_new()
69 OSSL_NAMEMAP *namemap = vnamemap; in ossl_stored_namemap_free() local
71 if (namemap != NULL) { in ossl_stored_namemap_free()
73 namemap->stored = 0; in ossl_stored_namemap_free()
74 ossl_namemap_free(namemap); in ossl_stored_namemap_free()
83 int ossl_namemap_empty(OSSL_NAMEMAP *namemap) in ossl_namemap_empty() argument
89 if (namemap == NULL) in ossl_namemap_empty()
92 if (!CRYPTO_THREAD_read_lock(namemap->lock)) in ossl_namemap_empty()
94 rv = namemap->max_number == 0; in ossl_namemap_empty()
95 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_empty()
99 return namemap == NULL || tsan_load(&namemap->max_number) == 0; in ossl_namemap_empty()
108 int ossl_namemap_doall_names(const OSSL_NAMEMAP *namemap, int number, in ossl_namemap_doall_names() argument
115 if (namemap == NULL || number <= 0) in ossl_namemap_doall_names()
123 if (!CRYPTO_THREAD_read_lock(namemap->lock)) in ossl_namemap_doall_names()
126 names = sk_NAMES_value(namemap->numnames, number - 1); in ossl_namemap_doall_names()
130 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_doall_names()
142 int ossl_namemap_name2num(const OSSL_NAMEMAP *namemap, const char *name) in ossl_namemap_name2num() argument
149 if (namemap == NULL) in ossl_namemap_name2num()
150 namemap = ossl_namemap_stored(NULL); in ossl_namemap_name2num()
153 if (namemap == NULL) in ossl_namemap_name2num()
159 val = ossl_ht_get(namemap->namenum_ht, TO_HT_KEY(&key)); in ossl_namemap_name2num()
169 int ossl_namemap_name2num_n(const OSSL_NAMEMAP *namemap, in ossl_namemap_name2num_n() argument
178 ret = ossl_namemap_name2num(namemap, tmp); in ossl_namemap_name2num_n()
183 const char *ossl_namemap_num2name(const OSSL_NAMEMAP *namemap, int number, in ossl_namemap_num2name() argument
189 if (namemap == NULL || number <= 0) in ossl_namemap_num2name()
192 if (!CRYPTO_THREAD_read_lock(namemap->lock)) in ossl_namemap_num2name()
195 names = sk_NAMES_value(namemap->numnames, number - 1); in ossl_namemap_num2name()
199 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_num2name()
205 static int numname_insert(OSSL_NAMEMAP *namemap, int number, in numname_insert() argument
212 names = sk_NAMES_value(namemap->numnames, number - 1); in numname_insert()
231 if (!sk_NAMES_push(namemap->numnames, names)) in numname_insert()
233 number = sk_NAMES_num(namemap->numnames); in numname_insert()
245 static int namemap_add_name(OSSL_NAMEMAP *namemap, int number, in namemap_add_name() argument
253 if ((ret = ossl_namemap_name2num(namemap, name)) != 0) in namemap_add_name()
256 if ((number = numname_insert(namemap, number, name)) == 0) in namemap_add_name()
260 tsan_store(&namemap->max_number, number); in namemap_add_name()
265 ret = ossl_ht_insert(namemap->namenum_ht, TO_HT_KEY(&key), &val, NULL); in namemap_add_name()
276 int ossl_namemap_add_name(OSSL_NAMEMAP *namemap, int number, in ossl_namemap_add_name() argument
282 if (namemap == NULL) in ossl_namemap_add_name()
283 namemap = ossl_namemap_stored(NULL); in ossl_namemap_add_name()
286 if (name == NULL || *name == 0 || namemap == NULL) in ossl_namemap_add_name()
289 if (!CRYPTO_THREAD_write_lock(namemap->lock)) in ossl_namemap_add_name()
291 tmp_number = namemap_add_name(namemap, number, name); in ossl_namemap_add_name()
292 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_add_name()
296 int ossl_namemap_add_names(OSSL_NAMEMAP *namemap, int number, in ossl_namemap_add_names() argument
302 if (!ossl_assert(namemap != NULL)) { in ossl_namemap_add_names()
310 if (!CRYPTO_THREAD_write_lock(namemap->lock)) { in ossl_namemap_add_names()
336 this_number = ossl_namemap_name2num(namemap, p); in ossl_namemap_add_names()
356 this_number = namemap_add_name(namemap, number, p); in ossl_namemap_add_names()
369 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_add_names()
474 OSSL_NAMEMAP *namemap = in ossl_namemap_stored() local
477 if (namemap == NULL) in ossl_namemap_stored()
481 nms = ossl_namemap_empty(namemap); in ossl_namemap_stored()
497 get_legacy_cipher_names, namemap); in ossl_namemap_stored()
499 get_legacy_md_names, namemap); in ossl_namemap_stored()
503 get_legacy_pkey_meth_names(EVP_PKEY_asn1_get0(i), namemap); in ossl_namemap_stored()
507 return namemap; in ossl_namemap_stored()
512 OSSL_NAMEMAP *namemap; in ossl_namemap_new() local
517 if ((namemap = OPENSSL_zalloc(sizeof(*namemap))) == NULL) in ossl_namemap_new()
520 if ((namemap->lock = CRYPTO_THREAD_lock_new()) == NULL) in ossl_namemap_new()
523 if ((namemap->namenum_ht = ossl_ht_new(&htconf)) == NULL) in ossl_namemap_new()
526 if ((namemap->numnames = sk_NAMES_new_null()) == NULL) in ossl_namemap_new()
529 return namemap; in ossl_namemap_new()
532 ossl_namemap_free(namemap); in ossl_namemap_new()
536 void ossl_namemap_free(OSSL_NAMEMAP *namemap) in ossl_namemap_free() argument
538 if (namemap == NULL || namemap->stored) in ossl_namemap_free()
541 sk_NAMES_pop_free(namemap->numnames, names_free); in ossl_namemap_free()
543 ossl_ht_free(namemap->namenum_ht); in ossl_namemap_free()
545 CRYPTO_THREAD_lock_free(namemap->lock); in ossl_namemap_free()
546 OPENSSL_free(namemap); in ossl_namemap_free()