x509: sort X509 dup functions alphabetically
[openssl.git] / doc / man3 / X509_dup.pod
1 =pod
2
3 =head1 NAME
4
5 DECLARE_ASN1_FUNCTIONS,
6 IMPLEMENT_ASN1_FUNCTIONS,
7 ASN1_ITEM,
8 ACCESS_DESCRIPTION_free,
9 ACCESS_DESCRIPTION_new,
10 ADMISSIONS_free,
11 ADMISSIONS_new,
12 ADMISSION_SYNTAX_free,
13 ADMISSION_SYNTAX_new,
14 ASIdOrRange_free,
15 ASIdOrRange_new,
16 ASIdentifierChoice_free,
17 ASIdentifierChoice_new,
18 ASIdentifiers_free,
19 ASIdentifiers_new,
20 ASRange_free,
21 ASRange_new,
22 AUTHORITY_INFO_ACCESS_free,
23 AUTHORITY_INFO_ACCESS_new,
24 AUTHORITY_KEYID_free,
25 AUTHORITY_KEYID_new,
26 BASIC_CONSTRAINTS_free,
27 BASIC_CONSTRAINTS_new,
28 CERTIFICATEPOLICIES_free,
29 CERTIFICATEPOLICIES_new,
30 CMS_ContentInfo_free,
31 CMS_ContentInfo_new,
32 CMS_ContentInfo_print_ctx,
33 CMS_ReceiptRequest_free,
34 CMS_ReceiptRequest_new,
35 CRL_DIST_POINTS_free,
36 CRL_DIST_POINTS_new,
37 DIRECTORYSTRING_free,
38 DIRECTORYSTRING_new,
39 DISPLAYTEXT_free,
40 DISPLAYTEXT_new,
41 DIST_POINT_NAME_free,
42 DIST_POINT_NAME_new,
43 DIST_POINT_free,
44 DIST_POINT_new,
45 DSAparams_dup,
46 ECPARAMETERS_free,
47 ECPARAMETERS_new,
48 ECPKPARAMETERS_free,
49 ECPKPARAMETERS_new,
50 EDIPARTYNAME_free,
51 EDIPARTYNAME_new,
52 ESS_CERT_ID_dup,
53 ESS_CERT_ID_free,
54 ESS_CERT_ID_new,
55 ESS_ISSUER_SERIAL_dup,
56 ESS_ISSUER_SERIAL_free,
57 ESS_ISSUER_SERIAL_new,
58 ESS_SIGNING_CERT_dup,
59 ESS_SIGNING_CERT_free,
60 ESS_SIGNING_CERT_new,
61 EXTENDED_KEY_USAGE_free,
62 EXTENDED_KEY_USAGE_new,
63 GENERAL_NAMES_free,
64 GENERAL_NAMES_new,
65 GENERAL_NAME_dup,
66 GENERAL_NAME_free,
67 GENERAL_NAME_new,
68 GENERAL_SUBTREE_free,
69 GENERAL_SUBTREE_new,
70 IPAddressChoice_free,
71 IPAddressChoice_new,
72 IPAddressFamily_free,
73 IPAddressFamily_new,
74 IPAddressOrRange_free,
75 IPAddressOrRange_new,
76 IPAddressRange_free,
77 IPAddressRange_new,
78 ISSUING_DIST_POINT_free,
79 ISSUING_DIST_POINT_new,
80 NAME_CONSTRAINTS_free,
81 NAME_CONSTRAINTS_new,
82 NAMING_AUTHORITY_free,
83 NAMING_AUTHORITY_new,
84 NETSCAPE_CERT_SEQUENCE_free,
85 NETSCAPE_CERT_SEQUENCE_new,
86 NETSCAPE_SPKAC_free,
87 NETSCAPE_SPKAC_new,
88 NETSCAPE_SPKI_free,
89 NETSCAPE_SPKI_new,
90 NOTICEREF_free,
91 NOTICEREF_new,
92 OCSP_BASICRESP_free,
93 OCSP_BASICRESP_new,
94 OCSP_CERTID_dup,
95 OCSP_CERTID_new,
96 OCSP_CERTSTATUS_free,
97 OCSP_CERTSTATUS_new,
98 OCSP_CRLID_free,
99 OCSP_CRLID_new,
100 OCSP_ONEREQ_free,
101 OCSP_ONEREQ_new,
102 OCSP_REQINFO_free,
103 OCSP_REQINFO_new,
104 OCSP_RESPBYTES_free,
105 OCSP_RESPBYTES_new,
106 OCSP_RESPDATA_free,
107 OCSP_RESPDATA_new,
108 OCSP_RESPID_free,
109 OCSP_RESPID_new,
110 OCSP_RESPONSE_new,
111 OCSP_REVOKEDINFO_free,
112 OCSP_REVOKEDINFO_new,
113 OCSP_SERVICELOC_free,
114 OCSP_SERVICELOC_new,
115 OCSP_SIGNATURE_free,
116 OCSP_SIGNATURE_new,
117 OCSP_SINGLERESP_free,
118 OCSP_SINGLERESP_new,
119 OSSL_CMP_ITAV_free,
120 OSSL_CMP_MSG_dup,
121 OSSL_CMP_MSG_free,
122 OSSL_CMP_MSG_it,
123 OSSL_CMP_PKIHEADER_free,
124 OSSL_CMP_PKIHEADER_it,
125 OSSL_CMP_PKIHEADER_new,
126 OSSL_CMP_PKISI_free,
127 OSSL_CMP_PKISTATUS_it,
128 OSSL_CRMF_CERTID_free,
129 OSSL_CRMF_CERTID_it,
130 OSSL_CRMF_CERTID_new,
131 OSSL_CRMF_CERTTEMPLATE_free,
132 OSSL_CRMF_CERTTEMPLATE_it,
133 OSSL_CRMF_CERTTEMPLATE_new,
134 OSSL_CRMF_ENCRYPTEDVALUE_free,
135 OSSL_CRMF_ENCRYPTEDVALUE_it,
136 OSSL_CRMF_ENCRYPTEDVALUE_new,
137 OSSL_CRMF_MSGS_free,
138 OSSL_CRMF_MSGS_it,
139 OSSL_CRMF_MSGS_new,
140 OSSL_CRMF_MSG_free,
141 OSSL_CRMF_MSG_it,
142 OSSL_CRMF_MSG_new,
143 OSSL_CRMF_PBMPARAMETER_free,
144 OSSL_CRMF_PBMPARAMETER_it,
145 OSSL_CRMF_PBMPARAMETER_new,
146 OSSL_CRMF_PKIPUBLICATIONINFO_free,
147 OSSL_CRMF_PKIPUBLICATIONINFO_it,
148 OSSL_CRMF_PKIPUBLICATIONINFO_new,
149 OSSL_CRMF_SINGLEPUBINFO_free,
150 OSSL_CRMF_SINGLEPUBINFO_it,
151 OSSL_CRMF_SINGLEPUBINFO_new,
152 OTHERNAME_free,
153 OTHERNAME_new,
154 PBE2PARAM_free,
155 PBE2PARAM_new,
156 PBEPARAM_free,
157 PBEPARAM_new,
158 PBKDF2PARAM_free,
159 PBKDF2PARAM_new,
160 PKCS12_BAGS_free,
161 PKCS12_BAGS_new,
162 PKCS12_MAC_DATA_free,
163 PKCS12_MAC_DATA_new,
164 PKCS12_SAFEBAG_free,
165 PKCS12_SAFEBAG_new,
166 PKCS12_free,
167 PKCS12_new,
168 PKCS7_DIGEST_free,
169 PKCS7_DIGEST_new,
170 PKCS7_ENCRYPT_free,
171 PKCS7_ENCRYPT_new,
172 PKCS7_ENC_CONTENT_free,
173 PKCS7_ENC_CONTENT_new,
174 PKCS7_ENVELOPE_free,
175 PKCS7_ENVELOPE_new,
176 PKCS7_ISSUER_AND_SERIAL_free,
177 PKCS7_ISSUER_AND_SERIAL_new,
178 PKCS7_RECIP_INFO_free,
179 PKCS7_RECIP_INFO_new,
180 PKCS7_SIGNED_free,
181 PKCS7_SIGNED_new,
182 PKCS7_SIGNER_INFO_free,
183 PKCS7_SIGNER_INFO_new,
184 PKCS7_SIGN_ENVELOPE_free,
185 PKCS7_SIGN_ENVELOPE_new,
186 PKCS7_dup,
187 PKCS7_free,
188 PKCS7_new,
189 PKCS7_print_ctx,
190 PKCS8_PRIV_KEY_INFO_free,
191 PKCS8_PRIV_KEY_INFO_new,
192 PKEY_USAGE_PERIOD_free,
193 PKEY_USAGE_PERIOD_new,
194 POLICYINFO_free,
195 POLICYINFO_new,
196 POLICYQUALINFO_free,
197 POLICYQUALINFO_new,
198 POLICY_CONSTRAINTS_free,
199 POLICY_CONSTRAINTS_new,
200 POLICY_MAPPING_free,
201 POLICY_MAPPING_new,
202 PROFESSION_INFOS_free,
203 PROFESSION_INFOS_new,
204 PROFESSION_INFO_free,
205 PROFESSION_INFO_new,
206 PROXY_CERT_INFO_EXTENSION_free,
207 PROXY_CERT_INFO_EXTENSION_new,
208 PROXY_POLICY_free,
209 PROXY_POLICY_new,
210 RSAPrivateKey_dup,
211 RSAPublicKey_dup,
212 RSA_OAEP_PARAMS_free,
213 RSA_OAEP_PARAMS_new,
214 RSA_PSS_PARAMS_free,
215 RSA_PSS_PARAMS_new,
216 SCRYPT_PARAMS_free,
217 SCRYPT_PARAMS_new,
218 SXNETID_free,
219 SXNETID_new,
220 SXNET_free,
221 SXNET_new,
222 TLS_FEATURE_free,
223 TLS_FEATURE_new,
224 TS_ACCURACY_dup,
225 TS_ACCURACY_free,
226 TS_ACCURACY_new,
227 TS_MSG_IMPRINT_dup,
228 TS_MSG_IMPRINT_free,
229 TS_MSG_IMPRINT_new,
230 TS_REQ_dup,
231 TS_REQ_free,
232 TS_REQ_new,
233 TS_RESP_dup,
234 TS_RESP_free,
235 TS_RESP_new,
236 TS_STATUS_INFO_dup,
237 TS_STATUS_INFO_free,
238 TS_STATUS_INFO_new,
239 TS_TST_INFO_dup,
240 TS_TST_INFO_free,
241 TS_TST_INFO_new,
242 USERNOTICE_free,
243 USERNOTICE_new,
244 X509_ALGOR_free,
245 X509_ALGOR_new,
246 X509_ATTRIBUTE_dup,
247 X509_ATTRIBUTE_free,
248 X509_ATTRIBUTE_new,
249 X509_CERT_AUX_free,
250 X509_CERT_AUX_new,
251 X509_CINF_free,
252 X509_CINF_new,
253 X509_CRL_INFO_free,
254 X509_CRL_INFO_new,
255 X509_CRL_dup,
256 X509_CRL_free,
257 X509_CRL_new,
258 X509_EXTENSION_dup,
259 X509_EXTENSION_free,
260 X509_EXTENSION_new,
261 X509_NAME_ENTRY_dup,
262 X509_NAME_ENTRY_free,
263 X509_NAME_ENTRY_new,
264 X509_NAME_dup,
265 X509_NAME_free,
266 X509_NAME_new,
267 X509_REQ_INFO_free,
268 X509_REQ_INFO_new,
269 X509_REQ_dup,
270 X509_REQ_free,
271 X509_REQ_new,
272 X509_REVOKED_dup,
273 X509_REVOKED_free,
274 X509_REVOKED_new,
275 X509_SIG_free,
276 X509_SIG_new,
277 X509_VAL_free,
278 X509_VAL_new,
279 X509_dup,
280 - ASN1 object utilities
281
282 =head1 SYNOPSIS
283
284 =for comment generic
285
286  #include <openssl/asn1t.h>
287
288  DECLARE_ASN1_FUNCTIONS(type)
289  IMPLEMENT_ASN1_FUNCTIONS(stname)
290
291  typedef struct ASN1_ITEM_st ASN1_ITEM;
292
293  extern const ASN1_ITEM TYPE_it;
294  TYPE *TYPE_new(void);
295  TYPE *TYPE_dup(const TYPE *a);
296  void TYPE_free(TYPE *a);
297  int TYPE_print_ctx(BIO *out, TYPE *a, int indent, const ASN1_PCTX *pctx);
298
299 =head1 DESCRIPTION
300
301 In the description below, I<TYPE> is used
302 as a placeholder for any of the OpenSSL datatypes, such as I<X509>.
303
304 The OpenSSL ASN1 parsing library templates are like a data-driven bytecode
305 interpreter.
306 Every ASN1 object as a global variable, TYPE_it, that describes the item
307 such as its fields.  (On systems which cannot export variables from shared
308 libraries, the global is instead a function which returns a pointer to a
309 static variable.
310
311 The macro DECLARE_ASN1_FUNCTIONS() is typically used in header files
312 to generate the function declarations.
313
314 The macro IMPLEMENT_ASN1_FUNCTIONS() is used once in a source file
315 to generate the function bodies.
316
317
318 TYPE_new() allocates an empty object of the indicated type.
319 The object returned must be released by calling TYPE_free().
320
321 TYPE_dup() copies an existing object, leaving it untouched.
322
323 TYPE_free() releases the object and all pointers and sub-objects
324 within it.
325
326 TYPE_print_ctx() prints the object B<a> on the specified BIO B<out>.
327 Each line will be prefixed with B<indent> spaces.
328 The B<pctx> specifies the printing context and is for internal
329 use; use NULL to get the default behavior.  If a print function is
330 user-defined, then pass in any B<pctx> down to any nested calls.
331
332 =head1 RETURN VALUES
333
334 TYPE_new() and TYPE_dup() return a pointer to the object or NULL on failure.
335
336 TYPE_print_ctx() returns 1 on success or zero on failure.
337
338 =head1 COPYRIGHT
339
340 Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
341
342 Licensed under the Apache License 2.0 (the "License").  You may not use
343 this file except in compliance with the License.  You can obtain a copy
344 in the file LICENSE in the source distribution or at
345 L<https://www.openssl.org/source/license.html>.
346
347 =cut