Lines Matching defs:loader

18 int OSSL_STORE_LOADER_up_ref(OSSL_STORE_LOADER *loader)
22 if (loader->prov != NULL)
23 CRYPTO_UP_REF(&loader->refcnt, &ref, loader->lock);
27 void OSSL_STORE_LOADER_free(OSSL_STORE_LOADER *loader)
29 if (loader != NULL && loader->prov != NULL) {
32 CRYPTO_DOWN_REF(&loader->refcnt, &i, loader->lock);
35 ossl_provider_free(loader->prov);
36 CRYPTO_THREAD_lock_free(loader->lock);
38 OPENSSL_free(loader);
47 OSSL_STORE_LOADER *loader;
49 if ((loader = OPENSSL_zalloc(sizeof(*loader))) == NULL
50 || (loader->lock = CRYPTO_THREAD_lock_new()) == NULL) {
51 OPENSSL_free(loader);
54 loader->prov = prov;
56 loader->refcnt = 1;
58 return loader;
71 /* Permanent loader method store, constructor and destructor */
107 /* Temporary loader method store, constructor and destructor */
123 /* Get the permanent loader store */
152 /* Get loader methods from a store, or put one in */
198 OSSL_STORE_LOADER *loader = NULL;
201 if ((loader = new_loader(prov)) == NULL)
203 loader->scheme_id = scheme_id;
204 loader->propdef = algodef->property_definition;
205 loader->description = algodef->algorithm_description;
210 if (loader->p_open == NULL)
211 loader->p_open = OSSL_FUNC_store_open(fns);
214 if (loader->p_attach == NULL)
215 loader->p_attach = OSSL_FUNC_store_attach(fns);
218 if (loader->p_settable_ctx_params == NULL)
219 loader->p_settable_ctx_params =
223 if (loader->p_set_ctx_params == NULL)
224 loader->p_set_ctx_params = OSSL_FUNC_store_set_ctx_params(fns);
227 if (loader->p_load == NULL)
228 loader->p_load = OSSL_FUNC_store_load(fns);
231 if (loader->p_eof == NULL)
232 loader->p_eof = OSSL_FUNC_store_eof(fns);
235 if (loader->p_close == NULL)
236 loader->p_close = OSSL_FUNC_store_close(fns);
239 if (loader->p_export_object == NULL)
240 loader->p_export_object = OSSL_FUNC_store_export_object(fns);
245 if ((loader->p_open == NULL && loader->p_attach == NULL)
246 || loader->p_load == NULL
247 || loader->p_eof == NULL
248 || loader->p_close == NULL) {
250 OSSL_STORE_LOADER_free(loader);
254 return loader;
376 ? ( "No store loader found. For standard store loaders you need "
445 const OSSL_PROVIDER *OSSL_STORE_LOADER_get0_provider(const OSSL_STORE_LOADER *loader)
447 if (!ossl_assert(loader != NULL)) {
452 return loader->prov;
455 const char *OSSL_STORE_LOADER_get0_properties(const OSSL_STORE_LOADER *loader)
457 if (!ossl_assert(loader != NULL)) {
462 return loader->propdef;
465 int ossl_store_loader_get_number(const OSSL_STORE_LOADER *loader)
467 if (!ossl_assert(loader != NULL)) {
472 return loader->scheme_id;
475 const char *OSSL_STORE_LOADER_get0_description(const OSSL_STORE_LOADER *loader)
477 return loader->description;
480 int OSSL_STORE_LOADER_is_a(const OSSL_STORE_LOADER *loader, const char *name)
482 if (loader->prov != NULL) {
483 OSSL_LIB_CTX *libctx = ossl_provider_libctx(loader->prov);
486 return ossl_namemap_name2num(namemap, name) == loader->scheme_id;
492 void (*user_fn)(OSSL_STORE_LOADER *loader, void *arg);
504 void (*user_fn)(OSSL_STORE_LOADER *loader,
523 int OSSL_STORE_LOADER_names_do_all(const OSSL_STORE_LOADER *loader,
527 if (loader == NULL)
530 if (loader->prov != NULL) {
531 OSSL_LIB_CTX *libctx = ossl_provider_libctx(loader->prov);
534 return ossl_namemap_doall_names(namemap, loader->scheme_id, fn, data);