Additional X509_ALGOR documentation
[openssl.git] / doc / crypto / d2i_X509_ALGOR.pod
1 =pod
2
3 =head1 NAME
4
5 d2i_X509_ALGOR, i2d_X509_ALGOR, X509_ALGOR_dup, X509_ALGOR_set0, X509_ALGOR_get0, X509_ALGOR_set_md, X509_ALGOR_cmp - AlgorithmIdentifier functions.
6
7 =head1 SYNOPSIS
8
9  #include <openssl/x509.h>
10
11  X509_ALGOR *d2i_X509_ALGOR(X509_ALGOR **a, unsigned char **pp, long length);
12  int i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **pp);
13  X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *alg);
14  int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval);
15  void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval,
16                       X509_ALGOR *alg);
17  void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md);
18  int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b);
19
20 =head1 DESCRIPTION
21
22 The functions d2i_X509() and i2d_X509() decode and encode an B<X509_ALGOR>
23 structure which is equivalent to the B<AlgorithmIdentifier> structure.
24
25 Otherwise they behave in a similar way to d2i_X509() and i2d_X509()
26 described in the L<d2i_X509(3)|d2i_X509(3)> manual page.
27
28 X509_ALGOR_dup() returns a copy of B<alg>.
29
30 X509_ALGOR_set0() sets the algorithm OID of B<alg> to B<aobj> and the
31 associated parameter type to B<ptype> with value B<pval>. If B<ptype> is
32 B<V_ASN1_UNDEF> the parameter is omitted, otherwise B<ptype> and B<pval> have
33 the same meaning as the B<type> and B<value> parameters to ASN1_TYPE_set().
34 All the supplied parameters are used internally so must B<NOT> be freed after
35 this call.
36
37 X509_ALGOR_get0() is the inverse of X509_ALGOR_set0(): it returns the
38 algorithm OID in B<*paobj> and the associated parameter in B<*pptype>
39 and B<*ppval> from the B<AlgorithmIdentifier> B<alg>.
40
41 X509_ALGOR_set_md() sets the B<AlgorithmIdentifier> B<alg> to appropriate
42 values for the message digest B<md>.
43
44 X509_ALGOR_cmp() compares B<a> and B<b> and returns 0 if they have identical
45 encodings and non-zero otherwise.
46
47 =head1 SEE ALSO
48
49 L<d2i_X509(3)|d2i_X509(3)>
50
51 =head1 HISTORY
52
53 TBA
54
55 =cut