X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fprovider.c;h=0250955a70780a7989c40bb7446204781234269e;hp=249502413f46ece97b293003790ad3212f4c0754;hb=36f5ec55e69716024f70df53074a2871e091a3e1;hpb=24626a47fb5fbb8b120e0ba696c8f173b9ad5d3c diff --git a/crypto/provider.c b/crypto/provider.c index 249502413f..0250955a70 100644 --- a/crypto/provider.c +++ b/crypto/provider.c @@ -35,13 +35,24 @@ int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov) return 1; } -const OSSL_ITEM *OSSL_PROVIDER_get_param_types(const OSSL_PROVIDER *prov) +int OSSL_PROVIDER_available(OPENSSL_CTX *libctx, const char *name) +{ + OSSL_PROVIDER *prov = NULL; + int available = 0; + + /* Find it or create it */ + prov = ossl_provider_find(libctx, name); + available = ossl_provider_available(prov); + ossl_provider_free(prov); + return available; +} + +const OSSL_PARAM *OSSL_PROVIDER_get_param_types(const OSSL_PROVIDER *prov) { return ossl_provider_get_param_types(prov); } -int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, - const OSSL_PARAM params[]) +int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]) { return ossl_provider_get_params(prov, params); } @@ -69,3 +80,8 @@ int OSSL_PROVIDER_add_builtin(OPENSSL_CTX *libctx, const char *name, return 1; } + +const char *OSSL_PROVIDER_name(const OSSL_PROVIDER *prov) +{ + return ossl_provider_name(prov); +}