File indexing completed on 2025-01-18 10:05:48
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef OPENSSL_PROVIDER_H
0011 # define OPENSSL_PROVIDER_H
0012 # pragma once
0013
0014 # include <openssl/core.h>
0015
0016 # ifdef __cplusplus
0017 extern "C" {
0018 # endif
0019
0020
0021 int OSSL_PROVIDER_set_default_search_path(OSSL_LIB_CTX *, const char *path);
0022 const char *OSSL_PROVIDER_get0_default_search_path(OSSL_LIB_CTX *libctx);
0023
0024
0025 OSSL_PROVIDER *OSSL_PROVIDER_load(OSSL_LIB_CTX *, const char *name);
0026 OSSL_PROVIDER *OSSL_PROVIDER_load_ex(OSSL_LIB_CTX *, const char *name,
0027 OSSL_PARAM *params);
0028 OSSL_PROVIDER *OSSL_PROVIDER_try_load(OSSL_LIB_CTX *, const char *name,
0029 int retain_fallbacks);
0030 OSSL_PROVIDER *OSSL_PROVIDER_try_load_ex(OSSL_LIB_CTX *, const char *name,
0031 OSSL_PARAM *params,
0032 int retain_fallbacks);
0033 int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov);
0034 int OSSL_PROVIDER_available(OSSL_LIB_CTX *, const char *name);
0035 int OSSL_PROVIDER_do_all(OSSL_LIB_CTX *ctx,
0036 int (*cb)(OSSL_PROVIDER *provider, void *cbdata),
0037 void *cbdata);
0038
0039 const OSSL_PARAM *OSSL_PROVIDER_gettable_params(const OSSL_PROVIDER *prov);
0040 int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]);
0041 int OSSL_PROVIDER_self_test(const OSSL_PROVIDER *prov);
0042 int OSSL_PROVIDER_get_capabilities(const OSSL_PROVIDER *prov,
0043 const char *capability,
0044 OSSL_CALLBACK *cb,
0045 void *arg);
0046
0047 const OSSL_ALGORITHM *OSSL_PROVIDER_query_operation(const OSSL_PROVIDER *prov,
0048 int operation_id,
0049 int *no_cache);
0050 void OSSL_PROVIDER_unquery_operation(const OSSL_PROVIDER *prov,
0051 int operation_id, const OSSL_ALGORITHM *algs);
0052 void *OSSL_PROVIDER_get0_provider_ctx(const OSSL_PROVIDER *prov);
0053 const OSSL_DISPATCH *OSSL_PROVIDER_get0_dispatch(const OSSL_PROVIDER *prov);
0054
0055
0056 int OSSL_PROVIDER_add_builtin(OSSL_LIB_CTX *, const char *name,
0057 OSSL_provider_init_fn *init_fn);
0058
0059
0060 const char *OSSL_PROVIDER_get0_name(const OSSL_PROVIDER *prov);
0061
0062 # ifdef __cplusplus
0063 }
0064 # endif
0065
0066 #endif