| =pod | 
 |  | 
 | =head1 NAME | 
 |  | 
 | d2i_X509_ALGOR, i2d_X509_ALGOR, X509_ALGOR_dup, X509_ALGOR_set0, X509_ALGOR_get0, X509_ALGOR_set_md, X509_ALGOR_cmp - AlgorithmIdentifier functions. | 
 |  | 
 | =head1 SYNOPSIS | 
 |  | 
 |  #include <openssl/x509.h> | 
 |  | 
 |  X509_ALGOR *d2i_X509_ALGOR(X509_ALGOR **a, unsigned char **pp, long length); | 
 |  int i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **pp); | 
 |  X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *alg); | 
 |  int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); | 
 |  void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval, | 
 |                       X509_ALGOR *alg); | 
 |  void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); | 
 |  int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); | 
 |  | 
 | =head1 DESCRIPTION | 
 |  | 
 | The functions d2i_X509() and i2d_X509() decode and encode an B<X509_ALGOR> | 
 | structure which is equivalent to the B<AlgorithmIdentifier> structure. | 
 |  | 
 | Otherwise they behave in a similar way to d2i_X509() and i2d_X509() | 
 | described in the L<d2i_X509(3)> manual page. | 
 |  | 
 | X509_ALGOR_dup() returns a copy of B<alg>. | 
 |  | 
 | X509_ALGOR_set0() sets the algorithm OID of B<alg> to B<aobj> and the | 
 | associated parameter type to B<ptype> with value B<pval>. If B<ptype> is | 
 | B<V_ASN1_UNDEF> the parameter is omitted, otherwise B<ptype> and B<pval> have | 
 | the same meaning as the B<type> and B<value> parameters to ASN1_TYPE_set(). | 
 | All the supplied parameters are used internally so must B<NOT> be freed after | 
 | this call. | 
 |  | 
 | X509_ALGOR_get0() is the inverse of X509_ALGOR_set0(): it returns the | 
 | algorithm OID in B<*paobj> and the associated parameter in B<*pptype> | 
 | and B<*ppval> from the B<AlgorithmIdentifier> B<alg>. | 
 |  | 
 | X509_ALGOR_set_md() sets the B<AlgorithmIdentifier> B<alg> to appropriate | 
 | values for the message digest B<md>. | 
 |  | 
 | X509_ALGOR_cmp() compares B<a> and B<b> and returns 0 if they have identical | 
 | encodings and non-zero otherwise. | 
 |  | 
 | =head1 SEE ALSO | 
 |  | 
 | L<d2i_X509(3)> | 
 |  | 
 | =head1 HISTORY | 
 |  | 
 | TBA | 
 |  | 
 | =cut |