diff options
author | Matt Caswell <matt@openssl.org> | 2020-05-18 15:13:09 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2020-06-19 10:19:31 +0100 |
commit | 82ec09ec6d4e35ef359a7cb22c0cb46662f18155 (patch) | |
tree | 79986b46b4b7d26cbbd95318c65b97b4d447f7b7 /doc | |
parent | 72bfc9585891cffd29eb683ae5fb3181d62b9d33 (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 'doc')
-rw-r--r-- | doc/internal/man3/ossl_provider_new.pod | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/doc/internal/man3/ossl_provider_new.pod b/doc/internal/man3/ossl_provider_new.pod index 7bc5a38669..6a43c68bea 100644 --- a/doc/internal/man3/ossl_provider_new.pod +++ b/doc/internal/man3/ossl_provider_new.pod @@ -14,7 +14,8 @@ ossl_provider_module_name, ossl_provider_module_path, ossl_provider_library_context, ossl_provider_teardown, ossl_provider_gettable_params, ossl_provider_get_params, ossl_provider_query_operation, -ossl_provider_set_operation_bit, ossl_provider_test_operation_bit +ossl_provider_set_operation_bit, ossl_provider_test_operation_bit, +ossl_provider_get_capabilities - internal provider routines =head1 SYNOPSIS @@ -60,6 +61,10 @@ ossl_provider_set_operation_bit, ossl_provider_test_operation_bit 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); @@ -208,6 +213,12 @@ responder. It should treat the given I<OSSL_PARAM> array as described in L<OSSL_PARAM(3)>. +ossl_provider_get_capabilities() calls the provider's I<get_capabilities> function, +if the provider has one. It provides the name of the I<capability> and a +callback I<cb> parameter to call for each capability that has a matching name in +the provider. The callback gets passed OSSL_PARAM details about the capability as +well as the caller supplied argument I<arg>. + ossl_provider_query_operation() calls the provider's I<query_operation> function, if the provider has one. It should return an array of I<OSSL_ALGORITHM> for the given @@ -285,6 +296,10 @@ If this function isn't available in the provider, 0 is returned. ossl_provider_set_operation_bit() and ossl_provider_test_operation_bit() return 1 on success, or 0 on error. +ossl_provider_get_capabilities() returns 1 on success, or 0 on error. +If this function isn't available in the provider or the provider does not +support the requested capability then 0 is returned. + =head1 SEE ALSO L<OSSL_PROVIDER(3)>, L<provider(7)>, L<openssl(1)> |