Lines Matching refs:alg

108                                         ALGORITHM *alg);
226 static void impl_cache_flush_alg(ossl_uintmax_t idx, ALGORITHM *alg)
228 lh_QUERY_doall(alg->cache, &impl_cache_free);
229 lh_QUERY_flush(alg->cache);
294 static int ossl_method_store_insert(OSSL_METHOD_STORE *store, ALGORITHM *alg)
296 return ossl_sa_ALGORITHM_set(store->algs, alg->nid, alg);
304 ALGORITHM *alg = NULL;
347 alg = ossl_method_store_retrieve(store, nid);
348 if (alg == NULL) {
349 if ((alg = OPENSSL_zalloc(sizeof(*alg))) == NULL
350 || (alg->impls = sk_IMPLEMENTATION_new_null()) == NULL
351 || (alg->cache = lh_QUERY_new(&query_hash, &query_cmp)) == NULL)
353 alg->nid = nid;
354 if (!ossl_method_store_insert(store, alg))
359 for (i = 0; i < sk_IMPLEMENTATION_num(alg->impls); i++) {
360 const IMPLEMENTATION *tmpimpl = sk_IMPLEMENTATION_value(alg->impls, i);
366 if (i == sk_IMPLEMENTATION_num(alg->impls)
367 && sk_IMPLEMENTATION_push(alg->impls, impl))
376 alg_cleanup(0, alg, NULL);
384 ALGORITHM *alg = NULL;
393 alg = ossl_method_store_retrieve(store, nid);
394 if (alg == NULL) {
404 for (i = 0; i < sk_IMPLEMENTATION_num(alg->impls); i++) {
405 IMPLEMENTATION *impl = sk_IMPLEMENTATION_value(alg->impls, i);
409 (void)sk_IMPLEMENTATION_delete(alg->impls, i);
424 alg_cleanup_by_provider(ossl_uintmax_t idx, ALGORITHM *alg, void *arg)
433 for (count = 0, i = sk_IMPLEMENTATION_num(alg->impls); i-- > 0;) {
434 IMPLEMENTATION *impl = sk_IMPLEMENTATION_value(alg->impls, i);
438 (void)sk_IMPLEMENTATION_delete(alg->impls, i);
450 ossl_method_cache_flush_alg(data->store, alg);
467 static void alg_do_one(ALGORITHM *alg, IMPLEMENTATION *impl,
471 fn(alg->nid, impl->method.method, fnarg);
474 static void alg_copy(ossl_uintmax_t idx, ALGORITHM *alg, void *arg)
478 (void)sk_ALGORITHM_push(newalg, alg);
488 ALGORITHM *alg;
506 alg = sk_ALGORITHM_value(tmpalgs, i);
507 numimps = sk_IMPLEMENTATION_num(alg->impls);
509 alg_do_one(alg, sk_IMPLEMENTATION_value(alg->impls, j), fn, fnarg);
520 ALGORITHM *alg;
539 alg = ossl_method_store_retrieve(store, nid);
540 if (alg == NULL) {
561 for (j = 0; j < sk_IMPLEMENTATION_num(alg->impls); j++) {
562 if ((impl = sk_IMPLEMENTATION_value(alg->impls, j)) != NULL
572 for (j = 0; j < sk_IMPLEMENTATION_num(alg->impls); j++) {
573 if ((impl = sk_IMPLEMENTATION_value(alg->impls, j)) != NULL
599 ALGORITHM *alg)
601 store->cache_nelem -= lh_QUERY_num_items(alg->cache);
602 impl_cache_flush_alg(0, alg);
607 ALGORITHM *alg = ossl_method_store_retrieve(store, nid);
609 if (alg != NULL)
610 ossl_method_cache_flush_alg(store, alg);
664 static void impl_cache_flush_one_alg(ossl_uintmax_t idx, ALGORITHM *alg,
669 state->cache = alg->cache;
697 ALGORITHM *alg;
706 alg = ossl_method_store_retrieve(store, nid);
707 if (alg == NULL)
712 r = lh_QUERY_retrieve(alg->cache, &elem);
730 ALGORITHM *alg;
744 alg = ossl_method_store_retrieve(store, nid);
745 if (alg == NULL)
751 if ((old = lh_QUERY_delete(alg->cache, &elem)) != NULL) {
767 if ((old = lh_QUERY_insert(alg->cache, p)) != NULL) {
771 if (!lh_QUERY_error(alg->cache)) {