Lines Matching refs:prov
131 OSSL_PROVIDER *prov; member
235 static void provider_deactivate_free(OSSL_PROVIDER *prov) in provider_deactivate_free() argument
237 if (prov->flag_activated) in provider_deactivate_free()
238 ossl_provider_deactivate(prov, 1); in provider_deactivate_free()
239 ossl_provider_free(prov); in provider_deactivate_free()
402 OSSL_PROVIDER *prov = NULL; in ossl_provider_find() local
424 prov = sk_OSSL_PROVIDER_value(store->providers, i); in ossl_provider_find()
426 if (prov != NULL && !ossl_provider_up_ref(prov)) in ossl_provider_find()
427 prov = NULL; in ossl_provider_find()
430 return prov; in ossl_provider_find()
442 OSSL_PROVIDER *prov = NULL; in provider_new() local
444 if ((prov = OPENSSL_zalloc(sizeof(*prov))) == NULL) in provider_new()
446 if (!CRYPTO_NEW_REF(&prov->refcnt, 1)) { in provider_new()
447 OPENSSL_free(prov); in provider_new()
450 if ((prov->activatecnt_lock = CRYPTO_THREAD_lock_new()) == NULL) { in provider_new()
451 ossl_provider_free(prov); in provider_new()
456 if ((prov->opbits_lock = CRYPTO_THREAD_lock_new()) == NULL in provider_new()
457 || (prov->flag_lock = CRYPTO_THREAD_lock_new()) == NULL in provider_new()
458 || (prov->parameters = sk_INFOPAIR_deep_copy(parameters, in provider_new()
461 ossl_provider_free(prov); in provider_new()
465 if ((prov->name = OPENSSL_strdup(name)) == NULL) { in provider_new()
466 ossl_provider_free(prov); in provider_new()
470 prov->init_function = init_function; in provider_new()
472 return prov; in provider_new()
475 int ossl_provider_up_ref(OSSL_PROVIDER *prov) in ossl_provider_up_ref() argument
479 if (CRYPTO_UP_REF(&prov->refcnt, &ref) <= 0) in ossl_provider_up_ref()
483 if (prov->ischild) { in ossl_provider_up_ref()
484 if (!ossl_provider_up_ref_parent(prov, 0)) { in ossl_provider_up_ref()
485 ossl_provider_free(prov); in ossl_provider_up_ref()
495 static int provider_up_ref_intern(OSSL_PROVIDER *prov, int activate) in provider_up_ref_intern() argument
498 return ossl_provider_activate(prov, 1, 0); in provider_up_ref_intern()
500 return ossl_provider_up_ref(prov); in provider_up_ref_intern()
503 static int provider_free_intern(OSSL_PROVIDER *prov, int deactivate) in provider_free_intern() argument
506 return ossl_provider_deactivate(prov, 1); in provider_free_intern()
508 ossl_provider_free(prov); in provider_free_intern()
524 OSSL_PROVIDER *prov = NULL; in ossl_provider_new() local
576 prov = provider_new(name, template.init, template.parameters); in ossl_provider_new()
581 if (prov == NULL) in ossl_provider_new()
584 if (!ossl_provider_set_module_path(prov, template.path)) { in ossl_provider_new()
585 ossl_provider_free(prov); in ossl_provider_new()
589 prov->libctx = libctx; in ossl_provider_new()
591 prov->error_lib = ERR_get_next_error_library(); in ossl_provider_new()
600 return prov; in ossl_provider_new()
604 static int create_provider_children(OSSL_PROVIDER *prov) in create_provider_children() argument
608 struct provider_store_st *store = prov->store; in create_provider_children()
619 ret &= child_cb->create_cb((OSSL_CORE_HANDLE *)prov, child_cb->cbdata); in create_provider_children()
626 int ossl_provider_add_to_store(OSSL_PROVIDER *prov, OSSL_PROVIDER **actualprov, in ossl_provider_add_to_store() argument
637 if ((store = get_provider_store(prov->libctx)) == NULL) in ossl_provider_add_to_store()
643 tmpl.name = (char *)prov->name; in ossl_provider_add_to_store()
646 actualtmp = prov; in ossl_provider_add_to_store()
651 if (sk_OSSL_PROVIDER_push(store->providers, prov) == 0) in ossl_provider_add_to_store()
653 prov->store = store; in ossl_provider_add_to_store()
654 if (!create_provider_children(prov)) { in ossl_provider_add_to_store()
655 sk_OSSL_PROVIDER_delete_ptr(store->providers, prov); in ossl_provider_add_to_store()
684 ossl_provider_deactivate(prov, 0); in ossl_provider_add_to_store()
685 ossl_provider_free(prov); in ossl_provider_add_to_store()
693 ossl_decoder_cache_flush(prov->libctx); in ossl_provider_add_to_store()
704 void ossl_provider_free(OSSL_PROVIDER *prov) in ossl_provider_free() argument
706 if (prov != NULL) { in ossl_provider_free()
709 CRYPTO_DOWN_REF(&prov->refcnt, &ref); in ossl_provider_free()
720 if (prov->flag_initialized) { in ossl_provider_free()
721 ossl_provider_teardown(prov); in ossl_provider_free()
724 if (prov->error_strings != NULL) { in ossl_provider_free()
725 ERR_unload_strings(prov->error_lib, prov->error_strings); in ossl_provider_free()
726 OPENSSL_free(prov->error_strings); in ossl_provider_free()
727 prov->error_strings = NULL; in ossl_provider_free()
731 OPENSSL_free(prov->operation_bits); in ossl_provider_free()
732 prov->operation_bits = NULL; in ossl_provider_free()
733 prov->operation_bits_sz = 0; in ossl_provider_free()
734 prov->flag_initialized = 0; in ossl_provider_free()
743 ossl_init_thread_deregister(prov); in ossl_provider_free()
744 DSO_free(prov->module); in ossl_provider_free()
746 OPENSSL_free(prov->name); in ossl_provider_free()
747 OPENSSL_free(prov->path); in ossl_provider_free()
748 sk_INFOPAIR_pop_free(prov->parameters, infopair_free); in ossl_provider_free()
749 CRYPTO_THREAD_lock_free(prov->opbits_lock); in ossl_provider_free()
750 CRYPTO_THREAD_lock_free(prov->flag_lock); in ossl_provider_free()
751 CRYPTO_THREAD_lock_free(prov->activatecnt_lock); in ossl_provider_free()
752 CRYPTO_FREE_REF(&prov->refcnt); in ossl_provider_free()
753 OPENSSL_free(prov); in ossl_provider_free()
756 else if (prov->ischild) { in ossl_provider_free()
757 ossl_provider_free_parent(prov, 0); in ossl_provider_free()
764 int ossl_provider_set_module_path(OSSL_PROVIDER *prov, const char *module_path) in ossl_provider_set_module_path() argument
766 OPENSSL_free(prov->path); in ossl_provider_set_module_path()
767 prov->path = NULL; in ossl_provider_set_module_path()
770 if ((prov->path = OPENSSL_strdup(module_path)) != NULL) in ossl_provider_set_module_path()
803 int ossl_provider_add_parameter(OSSL_PROVIDER *prov, in ossl_provider_add_parameter() argument
806 return infopair_add(&prov->parameters, name, value); in ossl_provider_add_parameter()
870 static int provider_init(OSSL_PROVIDER *prov) in provider_init() argument
881 if (!ossl_assert(!prov->flag_initialized)) { in provider_init()
890 if (prov->init_function == NULL) { in provider_init()
894 if (prov->module == NULL) { in provider_init()
902 if ((prov->module = DSO_new()) == NULL) { in provider_init()
907 if ((store = get_provider_store(prov->libctx)) == NULL in provider_init()
927 DSO_ctrl(prov->module, DSO_CTRL_SET_FLAGS, in provider_init()
930 module_path = prov->path; in provider_init()
933 DSO_convert_filename(prov->module, prov->name); in provider_init()
935 merged_path = DSO_merge(prov->module, module_path, load_dir); in provider_init()
938 || (DSO_load(prov->module, merged_path, NULL, 0)) == NULL) { in provider_init()
939 DSO_free(prov->module); in provider_init()
940 prov->module = NULL; in provider_init()
948 if (prov->module == NULL) { in provider_init()
951 "name=%s", prov->name); in provider_init()
955 prov->init_function = (OSSL_provider_init_fn *) in provider_init()
956 DSO_bind_func(prov->module, "OSSL_provider_init"); in provider_init()
961 if (prov->init_function == NULL) { in provider_init()
964 prov->name); in provider_init()
970 "(provider %s) initalizing\n", prov->name); in provider_init()
974 if (!prov->init_function((OSSL_CORE_HANDLE *)prov, core_dispatch, in provider_init()
977 "name=%s", prov->name); in provider_init()
980 prov->provctx = tmp_provctx; in provider_init()
981 prov->dispatch = provider_dispatch; in provider_init()
987 prov->teardown = in provider_init()
991 prov->gettable_params = in provider_init()
995 prov->get_params = in provider_init()
999 prov->self_test = in provider_init()
1003 prov->get_capabilities = in provider_init()
1007 prov->query_operation = in provider_init()
1011 prov->unquery_operation = in provider_init()
1029 const OSSL_ITEM *reasonstrings = p_get_reason_strings(prov->provctx); in provider_init()
1048 prov->error_strings = in provider_init()
1050 if (prov->error_strings == NULL) in provider_init()
1056 prov->error_strings[0].error = ERR_PACK(prov->error_lib, 0, 0); in provider_init()
1057 prov->error_strings[0].string = prov->name; in provider_init()
1063 prov->error_strings[cnt2].error = (int)reasonstrings[cnt2-1].id; in provider_init()
1064 prov->error_strings[cnt2].string = reasonstrings[cnt2-1].ptr; in provider_init()
1067 ERR_load_strings(prov->error_lib, prov->error_strings); in provider_init()
1073 prov->flag_initialized = 1; in provider_init()
1086 static int provider_deactivate(OSSL_PROVIDER *prov, int upcalls, in provider_deactivate() argument
1096 if (!ossl_assert(prov != NULL)) in provider_deactivate()
1103 store = get_provider_store(prov->libctx); in provider_deactivate()
1109 if (lock && !CRYPTO_THREAD_write_lock(prov->flag_lock)) { in provider_deactivate()
1114 CRYPTO_atomic_add(&prov->activatecnt, -1, &count, prov->activatecnt_lock); in provider_deactivate()
1116 if (count >= 1 && prov->ischild && upcalls) { in provider_deactivate()
1128 prov->flag_activated = 0; in provider_deactivate()
1141 child_cb->remove_cb((OSSL_CORE_HANDLE *)prov, child_cb->cbdata); in provider_deactivate()
1146 CRYPTO_THREAD_unlock(prov->flag_lock); in provider_deactivate()
1154 ossl_decoder_cache_flush(prov->libctx); in provider_deactivate()
1159 ossl_provider_free_parent(prov, 1); in provider_deactivate()
1170 static int provider_activate(OSSL_PROVIDER *prov, int lock, int upcalls) in provider_activate() argument
1176 store = prov->store; in provider_activate()
1183 if (!provider_init(prov)) in provider_activate()
1188 if (prov->ischild && upcalls && !ossl_provider_up_ref_parent(prov, 1)) in provider_activate()
1194 if (prov->ischild && upcalls) in provider_activate()
1195 ossl_provider_free_parent(prov, 1); in provider_activate()
1200 if (lock && !CRYPTO_THREAD_write_lock(prov->flag_lock)) { in provider_activate()
1203 if (prov->ischild && upcalls) in provider_activate()
1204 ossl_provider_free_parent(prov, 1); in provider_activate()
1208 if (CRYPTO_atomic_add(&prov->activatecnt, 1, &count, prov->activatecnt_lock)) { in provider_activate()
1209 prov->flag_activated = 1; in provider_activate()
1212 ret = create_provider_children(prov); in provider_activate()
1216 CRYPTO_THREAD_unlock(prov->flag_lock); in provider_activate()
1224 ossl_decoder_cache_flush(prov->libctx); in provider_activate()
1234 static int provider_flush_store_cache(const OSSL_PROVIDER *prov) in provider_flush_store_cache() argument
1239 if ((store = get_provider_store(prov->libctx)) == NULL) in provider_flush_store_cache()
1249 = evp_method_store_cache_flush(prov->libctx) in provider_flush_store_cache()
1251 + ossl_encoder_store_cache_flush(prov->libctx) in provider_flush_store_cache()
1252 + ossl_decoder_store_cache_flush(prov->libctx) in provider_flush_store_cache()
1253 + ossl_store_loader_store_cache_flush(prov->libctx) in provider_flush_store_cache()
1266 static int provider_remove_store_methods(OSSL_PROVIDER *prov) in provider_remove_store_methods() argument
1271 if ((store = get_provider_store(prov->libctx)) == NULL) in provider_remove_store_methods()
1282 if (!CRYPTO_THREAD_write_lock(prov->opbits_lock)) in provider_remove_store_methods()
1284 OPENSSL_free(prov->operation_bits); in provider_remove_store_methods()
1285 prov->operation_bits = NULL; in provider_remove_store_methods()
1286 prov->operation_bits_sz = 0; in provider_remove_store_methods()
1287 CRYPTO_THREAD_unlock(prov->opbits_lock); in provider_remove_store_methods()
1289 acc = evp_method_store_remove_all_provided(prov) in provider_remove_store_methods()
1291 + ossl_encoder_store_remove_all_provided(prov) in provider_remove_store_methods()
1292 + ossl_decoder_store_remove_all_provided(prov) in provider_remove_store_methods()
1293 + ossl_store_loader_store_remove_all_provided(prov) in provider_remove_store_methods()
1306 int ossl_provider_activate(OSSL_PROVIDER *prov, int upcalls, int aschild) in ossl_provider_activate() argument
1310 if (prov == NULL) in ossl_provider_activate()
1317 if (aschild && !prov->ischild) in ossl_provider_activate()
1320 if ((count = provider_activate(prov, 1, upcalls)) > 0) in ossl_provider_activate()
1321 return count == 1 ? provider_flush_store_cache(prov) : 1; in ossl_provider_activate()
1326 int ossl_provider_deactivate(OSSL_PROVIDER *prov, int removechildren) in ossl_provider_deactivate() argument
1330 if (prov == NULL in ossl_provider_deactivate()
1331 || (count = provider_deactivate(prov, 1, removechildren)) < 0) in ossl_provider_deactivate()
1333 return count == 0 ? provider_remove_store_methods(prov) : 1; in ossl_provider_deactivate()
1336 void *ossl_provider_ctx(const OSSL_PROVIDER *prov) in ossl_provider_ctx() argument
1338 return prov != NULL ? prov->provctx : NULL; in ossl_provider_ctx()
1370 OSSL_PROVIDER *prov = NULL; in provider_activate_fallbacks() local
1378 prov = provider_new(p->name, p->init, NULL); in provider_activate_fallbacks()
1379 if (prov == NULL) in provider_activate_fallbacks()
1381 prov->libctx = store->libctx; in provider_activate_fallbacks()
1383 prov->error_lib = ERR_get_next_error_library(); in provider_activate_fallbacks()
1392 if (provider_activate(prov, 0, 0) < 0) { in provider_activate_fallbacks()
1393 ossl_provider_free(prov); in provider_activate_fallbacks()
1396 prov->store = store; in provider_activate_fallbacks()
1397 if (sk_OSSL_PROVIDER_push(store->providers, prov) == 0) { in provider_activate_fallbacks()
1398 ossl_provider_free(prov); in provider_activate_fallbacks()
1453 OSSL_PROVIDER *prov = sk_OSSL_PROVIDER_value(provs, curr); in ossl_provider_doall_activated() local
1455 if (!CRYPTO_THREAD_read_lock(prov->flag_lock)) in ossl_provider_doall_activated()
1457 if (prov->flag_activated) { in ossl_provider_doall_activated()
1463 if (CRYPTO_UP_REF(&prov->refcnt, &ref) <= 0) { in ossl_provider_doall_activated()
1464 CRYPTO_THREAD_unlock(prov->flag_lock); in ossl_provider_doall_activated()
1473 if (!CRYPTO_atomic_add(&prov->activatecnt, 1, &ref, in ossl_provider_doall_activated()
1474 prov->activatecnt_lock)) { in ossl_provider_doall_activated()
1475 CRYPTO_DOWN_REF(&prov->refcnt, &ref); in ossl_provider_doall_activated()
1476 CRYPTO_THREAD_unlock(prov->flag_lock); in ossl_provider_doall_activated()
1483 CRYPTO_THREAD_unlock(prov->flag_lock); in ossl_provider_doall_activated()
1491 OSSL_PROVIDER *prov = sk_OSSL_PROVIDER_value(provs, curr); in ossl_provider_doall_activated() local
1493 if (!cb(prov, cbdata)) { in ossl_provider_doall_activated()
1512 OSSL_PROVIDER *prov = sk_OSSL_PROVIDER_value(provs, curr); in ossl_provider_doall_activated() local
1514 if (!CRYPTO_atomic_add(&prov->activatecnt, -1, &ref, in ossl_provider_doall_activated()
1515 prov->activatecnt_lock)) { in ossl_provider_doall_activated()
1525 if (CRYPTO_atomic_add(&prov->activatecnt, 1, &ref, in ossl_provider_doall_activated()
1526 prov->activatecnt_lock)) in ossl_provider_doall_activated()
1527 provider_deactivate(prov, 0, 1); in ossl_provider_doall_activated()
1536 if (!CRYPTO_DOWN_REF(&prov->refcnt, &ref)) { in ossl_provider_doall_activated()
1552 OSSL_PROVIDER *prov = NULL; in OSSL_PROVIDER_available() local
1559 prov = ossl_provider_find(libctx, name, 0); in OSSL_PROVIDER_available()
1560 if (prov != NULL) { in OSSL_PROVIDER_available()
1561 if (!CRYPTO_THREAD_read_lock(prov->flag_lock)) in OSSL_PROVIDER_available()
1563 available = prov->flag_activated; in OSSL_PROVIDER_available()
1564 CRYPTO_THREAD_unlock(prov->flag_lock); in OSSL_PROVIDER_available()
1565 ossl_provider_free(prov); in OSSL_PROVIDER_available()
1571 const char *ossl_provider_name(const OSSL_PROVIDER *prov) in ossl_provider_name() argument
1573 return prov->name; in ossl_provider_name()
1576 const DSO *ossl_provider_dso(const OSSL_PROVIDER *prov) in ossl_provider_dso() argument
1578 return prov->module; in ossl_provider_dso()
1581 const char *ossl_provider_module_name(const OSSL_PROVIDER *prov) in ossl_provider_module_name() argument
1586 return DSO_get_filename(prov->module); in ossl_provider_module_name()
1590 const char *ossl_provider_module_path(const OSSL_PROVIDER *prov) in ossl_provider_module_path() argument
1596 return DSO_get_filename(prov->module); in ossl_provider_module_path()
1600 void *ossl_provider_prov_ctx(const OSSL_PROVIDER *prov) in ossl_provider_prov_ctx() argument
1602 if (prov != NULL) in ossl_provider_prov_ctx()
1603 return prov->provctx; in ossl_provider_prov_ctx()
1608 const OSSL_DISPATCH *ossl_provider_get0_dispatch(const OSSL_PROVIDER *prov) in ossl_provider_get0_dispatch() argument
1610 if (prov != NULL) in ossl_provider_get0_dispatch()
1611 return prov->dispatch; in ossl_provider_get0_dispatch()
1616 OSSL_LIB_CTX *ossl_provider_libctx(const OSSL_PROVIDER *prov) in ossl_provider_libctx() argument
1618 return prov != NULL ? prov->libctx : NULL; in ossl_provider_libctx()
1633 void ossl_provider_teardown(const OSSL_PROVIDER *prov) in ossl_provider_teardown() argument
1635 if (prov->teardown != NULL in ossl_provider_teardown()
1637 && !prov->ischild in ossl_provider_teardown()
1643 ossl_provider_name(prov)); in ossl_provider_teardown()
1646 prov->teardown(prov->provctx); in ossl_provider_teardown()
1663 const OSSL_PARAM *ossl_provider_gettable_params(const OSSL_PROVIDER *prov) in ossl_provider_gettable_params() argument
1667 if (prov->gettable_params != NULL) in ossl_provider_gettable_params()
1668 ret = prov->gettable_params(prov->provctx); in ossl_provider_gettable_params()
1675 ossl_provider_name(prov)); in ossl_provider_gettable_params()
1677 if (prov->gettable_params != NULL) { in ossl_provider_gettable_params()
1704 int ossl_provider_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]) in ossl_provider_get_params() argument
1708 if (prov->get_params == NULL) in ossl_provider_get_params()
1711 ret = prov->get_params(prov->provctx, params); in ossl_provider_get_params()
1716 "(provider %s) calling get_params\n", prov->name); in ossl_provider_get_params()
1743 int ossl_provider_self_test(const OSSL_PROVIDER *prov) in ossl_provider_self_test() argument
1747 if (prov->self_test != NULL) in ossl_provider_self_test()
1748 ret = prov->self_test(prov->provctx); in ossl_provider_self_test()
1752 if (prov->self_test != NULL) in ossl_provider_self_test()
1755 prov->name, ret); in ossl_provider_self_test()
1759 prov->name); in ossl_provider_self_test()
1763 (void)provider_remove_store_methods((OSSL_PROVIDER *)prov); in ossl_provider_self_test()
1785 int ossl_provider_get_capabilities(const OSSL_PROVIDER *prov, in ossl_provider_get_capabilities() argument
1790 if (prov->get_capabilities != NULL) { in ossl_provider_get_capabilities()
1795 "with capabilities %s\n", prov->name, in ossl_provider_get_capabilities()
1799 return prov->get_capabilities(prov->provctx, capability, cb, arg); in ossl_provider_get_capabilities()
1822 const OSSL_ALGORITHM *ossl_provider_query_operation(const OSSL_PROVIDER *prov, in ossl_provider_query_operation() argument
1828 if (prov->query_operation == NULL) { in ossl_provider_query_operation()
1832 prov->name); in ossl_provider_query_operation()
1838 res = prov->query_operation(prov->provctx, operation_id, no_cache); in ossl_provider_query_operation()
1844 "(provider %s) Calling query, available algs are:\n", prov->name); in ossl_provider_query_operation()
1849 prov->name, in ossl_provider_query_operation()
1858 BIO_printf(trc_out, "(provider %s) query_operation failed\n", prov->name); in ossl_provider_query_operation()
1885 void ossl_provider_unquery_operation(const OSSL_PROVIDER *prov, in ossl_provider_unquery_operation() argument
1889 if (prov->unquery_operation != NULL) { in ossl_provider_unquery_operation()
1895 prov->name, in ossl_provider_unquery_operation()
1899 prov->unquery_operation(prov->provctx, operation_id, algs); in ossl_provider_unquery_operation()
1949 const OSSL_CORE_HANDLE *ossl_provider_get_parent(OSSL_PROVIDER *prov) in ossl_provider_get_parent() argument
1951 return prov->handle; in ossl_provider_get_parent()
1954 int ossl_provider_is_child(const OSSL_PROVIDER *prov) in ossl_provider_is_child() argument
1956 return prov->ischild; in ossl_provider_is_child()
1959 int ossl_provider_set_child(OSSL_PROVIDER *prov, const OSSL_CORE_HANDLE *handle) in ossl_provider_set_child() argument
1961 prov->handle = handle; in ossl_provider_set_child()
1962 prov->ischild = 1; in ossl_provider_set_child()
2008 OSSL_PROVIDER *prov; in ossl_provider_register_child_cb() local
2021 child_cb->prov = thisprov; in ossl_provider_register_child_cb()
2041 prov = sk_OSSL_PROVIDER_value(store->providers, i); in ossl_provider_register_child_cb()
2043 if (!CRYPTO_THREAD_read_lock(prov->flag_lock)) in ossl_provider_register_child_cb()
2045 activated = prov->flag_activated; in ossl_provider_register_child_cb()
2046 CRYPTO_THREAD_unlock(prov->flag_lock); in ossl_provider_register_child_cb()
2056 if (activated && !create_cb((OSSL_CORE_HANDLE *)prov, cbdata)) in ossl_provider_register_child_cb()
2066 prov = sk_OSSL_PROVIDER_value(store->providers, i); in ossl_provider_register_child_cb()
2067 remove_cb((OSSL_CORE_HANDLE *)prov, cbdata); in ossl_provider_register_child_cb()
2097 if (child_cb->prov == thisprov) { in ossl_provider_deregister_child_cb()
2205 OSSL_PROVIDER *prov = (OSSL_PROVIDER *)handle; in core_get_params() local
2210 OSSL_PARAM_set_utf8_ptr(p, prov->name); in core_get_params()
2215 OSSL_PARAM_set_utf8_ptr(p, ossl_provider_module_path(prov)); in core_get_params()
2218 if (prov->parameters == NULL) in core_get_params()
2221 for (i = 0; i < sk_INFOPAIR_num(prov->parameters); i++) { in core_get_params()
2222 INFOPAIR *pair = sk_INFOPAIR_value(prov->parameters, i); in core_get_params()
2236 OSSL_PROVIDER *prov = (OSSL_PROVIDER *)handle; in core_get_libctx() local
2244 assert(prov != NULL); in core_get_libctx()
2245 return (OPENSSL_CORE_CTX *)prov->libctx; in core_get_libctx()
2256 OSSL_PROVIDER *prov = (OSSL_PROVIDER *)handle; in core_thread_start() local
2258 return ossl_init_thread_start(prov, arg, handfn); in core_thread_start()
2292 OSSL_PROVIDER *prov = (OSSL_PROVIDER *)handle; in core_vset_error() local
2302 ERR_vset_error(prov->error_lib, (int)reason, fmt, args); in core_vset_error()
2395 static const char *core_provider_get0_name(const OSSL_CORE_HANDLE *prov) in core_provider_get0_name() argument
2397 return OSSL_PROVIDER_get0_name((const OSSL_PROVIDER *)prov); in core_provider_get0_name()
2400 static void *core_provider_get0_provider_ctx(const OSSL_CORE_HANDLE *prov) in core_provider_get0_provider_ctx() argument
2402 return OSSL_PROVIDER_get0_provider_ctx((const OSSL_PROVIDER *)prov); in core_provider_get0_provider_ctx()
2406 core_provider_get0_dispatch(const OSSL_CORE_HANDLE *prov) in core_provider_get0_dispatch() argument
2408 return OSSL_PROVIDER_get0_dispatch((const OSSL_PROVIDER *)prov); in core_provider_get0_dispatch()
2411 static int core_provider_up_ref_intern(const OSSL_CORE_HANDLE *prov, in core_provider_up_ref_intern() argument
2414 return provider_up_ref_intern((OSSL_PROVIDER *)prov, activate); in core_provider_up_ref_intern()
2417 static int core_provider_free_intern(const OSSL_CORE_HANDLE *prov, in core_provider_free_intern() argument
2420 return provider_free_intern((OSSL_PROVIDER *)prov, deactivate); in core_provider_free_intern()
2423 static int core_obj_add_sigid(const OSSL_CORE_HANDLE *prov, in core_obj_add_sigid() argument
2451 static int core_obj_create(const OSSL_CORE_HANDLE *prov, const char *oid, in core_obj_create() argument