=pod

=head1 NAME

d2i_X509_NAME, i2d_X509_NAME - X509_NAME encoding functions

=head1 SYNOPSIS

 #include <openssl/x509.h>

 X509_NAME *d2i_X509_NAME(X509_NAME **a, unsigned char **pp, long length);
 int i2d_X509_NAME(X509_NAME *a, unsigned char **pp);

 int X509_NAME_get0_der(const unsigned char **pder, size_t *pderlen,
                        X509_NAME *nm)


=head1 DESCRIPTION

The functions d2i_X509_NAME() and i2d_X509_NAME() decode and encode an
B<X509_NAME> structure which is the same as the B<Name> type defined in
RFC3280 (and elsewhere) and used for example in certificate subject and
issuer names.

Otherwise the functions behave in a similar way to d2i_X509() and i2d_X509()
described in the L<d2i_X509(3)> manual page.

The function X509_NAME_get0_der() returns an internal pointer to the
encoding of an B<X509_NAME> structure in B<*pder> and consisting of
B<*pderlen> bytes. It is useful for applications that wish to examine
the encoding of an B<X509_NAME> structure without copying it.

=head1 RETURN VALUES

The meanings of the return values of d2i_X509_NAME() and i2d_X509_NAME()
are similar to those for d2i_X509() and i2d_X509().

The function X509_NAME_get0_der() returns 1 for success and 0 if an error
occurred.

=head1 SEE ALSO

L<d2i_X509(3)>

=head1 COPYRIGHT

Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (the "License").  You may not use
this file except in compliance with the License.  You can obtain a copy
in the file LICENSE in the source distribution or at
L<https://www.openssl.org/source/license.html>.

=cut
