EVP: add missing common functionality
[oweals/openssl.git] / doc / man3 / EVP_SIGNATURE_free.pod
index 3e39b915e7ead50da63dfb6021fc46c909af2c6f..3fb741622d1d62f5e0f1f6e57c84385bf94306aa 100644 (file)
@@ -3,7 +3,7 @@
 =head1 NAME
 
 EVP_SIGNATURE_fetch, EVP_SIGNATURE_free, EVP_SIGNATURE_up_ref,
-EVP_SIGNATURE_provider
+EVP_SIGNATURE_is_a, EVP_SIGNATURE_provider, EVP_SIGNATURE_do_all_provided
 - Functions to manage EVP_SIGNATURE algorithm objects
 
 =head1 SYNOPSIS
@@ -14,7 +14,12 @@ EVP_SIGNATURE_provider
                                     const char *properties);
  void EVP_SIGNATURE_free(EVP_SIGNATURE *signature);
  int EVP_SIGNATURE_up_ref(EVP_SIGNATURE *signature);
+ int EVP_SIGNATURE_is_a(const EVP_SIGNATURE *signature, const char *name);
  OSSL_PROVIDER *EVP_SIGNATURE_provider(const EVP_SIGNATURE *signature);
+ void EVP_SIGNATURE_do_all_provided(OPENSSL_CTX *libctx,
+                                    void (*fn)(EVP_SIGNATURE *signature,
+                                               void *arg),
+                                    void *arg);
 
 =head1 DESCRIPTION
 
@@ -35,8 +40,16 @@ structure is freed.
 EVP_SIGNATURE_up_ref() increments the reference count for an B<EVP_SIGNATURE>
 structure.
 
+EVP_SIGNATURE_is_a() returns 1 if I<signature> is an implementation of an
+algorithm that's identifiable with I<name>, otherwise 0.
+
 EVP_SIGNATURE_provider() returns the provider that I<signature> was fetched from.
 
+EVP_SIGNATURE_do_all_provided() traverses all SIGNATURE implemented by all
+activated roviders in the given library context I<libctx>, and for each of the
+implementations, calls the given function I<fn> with the implementation method
+and the given I<arg> as argument.
+
 =head1 RETURN VALUES
 
 EVP_SIGNATURE_fetch() returns a pointer to an B<EVP_SIGNATURE> for success