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