summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2020-05-18 15:13:09 +0100
committerMatt Caswell <matt@openssl.org>2020-06-19 10:19:31 +0100
commit82ec09ec6d4e35ef359a7cb22c0cb46662f18155 (patch)
tree79986b46b4b7d26cbbd95318c65b97b4d447f7b7 /include
parent72bfc9585891cffd29eb683ae5fb3181d62b9d33 (diff)
Add the OSSL_PROVIDER_get_capabilities() API function
Provide a function to applications to query the capabilities that a provider can perform. Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/11914)
Diffstat (limited to 'include')
-rw-r--r--include/internal/provider.h4
-rw-r--r--include/openssl/provider.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/include/internal/provider.h b/include/internal/provider.h
index d7c0926a0b..3bfc154283 100644
--- a/include/internal/provider.h
+++ b/include/internal/provider.h
@@ -71,6 +71,10 @@ OPENSSL_CTX *ossl_provider_library_context(const OSSL_PROVIDER *prov);
void ossl_provider_teardown(const OSSL_PROVIDER *prov);
const OSSL_PARAM *ossl_provider_gettable_params(const OSSL_PROVIDER *prov);
int ossl_provider_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]);
+int ossl_provider_get_capabilities(const OSSL_PROVIDER *prov,
+ const char *capability,
+ OSSL_CALLBACK *cb,
+ void *arg);
const OSSL_ALGORITHM *ossl_provider_query_operation(const OSSL_PROVIDER *prov,
int operation_id,
int *no_cache);
diff --git a/include/openssl/provider.h b/include/openssl/provider.h
index e9a1408675..cb5fc9f8bf 100644
--- a/include/openssl/provider.h
+++ b/include/openssl/provider.h
@@ -29,6 +29,10 @@ int OSSL_PROVIDER_do_all(OPENSSL_CTX *ctx,
const OSSL_PARAM *OSSL_PROVIDER_gettable_params(const OSSL_PROVIDER *prov);
int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]);
+int OSSL_PROVIDER_get_capabilities(const OSSL_PROVIDER *prov,
+ const char *capability,
+ OSSL_CALLBACK *cb,
+ void *arg);
const OSSL_ALGORITHM *OSSL_PROVIDER_query_operation(const OSSL_PROVIDER *prov,
int operation_id,