Upgrade to OpenSSL 0.9.8h.
[dragonfly.git] / secure / lib / libcrypto / man / d2i_X509.3
index 2b6ac9e..4e63142 100644 (file)
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.12 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
 .\"
 .\" Standard preamble:
 .\" ========================================================================
 ..
 .\" Set up some character translations and predefined strings.  \*(-- will
 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
 .ie n \{\
 .    ds -- \(*W-
 .    rr F
 .\}
 .\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
 .    \" fudge factors for nroff and troff
 .\" ========================================================================
 .\"
 .IX Title "d2i_X509 3"
-.TH d2i_X509 3 "2007-10-24" "0.9.8g" "OpenSSL"
-.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
+.TH d2i_X509 3 "2008-09-06" "0.9.8h" "OpenSSL"
 .SH "NAME"
 d2i_X509, i2d_X509, d2i_X509_bio, d2i_X509_fp, i2d_X509_bio,
 i2d_X509_fp \- X509 encode and decode functions
@@ -136,13 +137,19 @@ i2d_X509_fp \- X509 encode and decode functions
 .IX Header "SYNOPSIS"
 .Vb 1
 \& #include <openssl/x509.h>
-\&
+.Ve
+.PP
+.Vb 2
 \& X509 *d2i_X509(X509 **px, const unsigned char **in, int len);
 \& int i2d_X509(X509 *x, unsigned char **out);
-\&
+.Ve
+.PP
+.Vb 2
 \& X509 *d2i_X509_bio(BIO *bp, X509 **x);
 \& X509 *d2i_X509_fp(FILE *fp, X509 **x);
-\&
+.Ve
+.PP
+.Vb 2
 \& int i2d_X509_bio(X509 *x, BIO *bp);
 \& int i2d_X509_fp(X509 *x, FILE *fp);
 .Ve
@@ -164,7 +171,7 @@ parsed data.
 If \fBout\fR is not \fB\s-1NULL\s0\fR is writes the \s-1DER\s0 encoded data to the buffer
 at \fB*out\fR, and increments it to point after the data just written.
 If the return value is negative an error occurred, otherwise it
-returns the length of the encoded data.
+returns the length of the encoded data. 
 .PP
 For OpenSSL 0.9.7 and later if \fB*out\fR is \fB\s-1NULL\s0\fR memory will be
 allocated for a buffer and the encoded data written to it. In this
@@ -215,16 +222,26 @@ Allocate and encode the \s-1DER\s0 encoding of an X509 structure:
 .Vb 2
 \& int len;
 \& unsigned char *buf, *p;
-\&
+.Ve
+.PP
+.Vb 1
 \& len = i2d_X509(x, NULL);
-\&
+.Ve
+.PP
+.Vb 1
 \& buf = OPENSSL_malloc(len);
-\&
+.Ve
+.PP
+.Vb 2
 \& if (buf == NULL)
 \&        /* error */
-\&
+.Ve
+.PP
+.Vb 1
 \& p = buf;
-\&
+.Ve
+.PP
+.Vb 1
 \& i2d_X509(x, &p);
 .Ve
 .PP
@@ -234,11 +251,17 @@ simplified to:
 .Vb 2
 \& int len;
 \& unsigned char *buf;
-\&
+.Ve
+.PP
+.Vb 1
 \& buf = NULL;
-\&
+.Ve
+.PP
+.Vb 1
 \& len = i2d_X509(x, &buf);
-\&
+.Ve
+.PP
+.Vb 2
 \& if (len < 0)
 \&        /* error */
 .Ve
@@ -247,17 +270,29 @@ Attempt to decode a buffer:
 .PP
 .Vb 1
 \& X509 *x;
-\&
+.Ve
+.PP
+.Vb 1
 \& unsigned char *buf, *p;
-\&
+.Ve
+.PP
+.Vb 1
 \& int len;
-\&
+.Ve
+.PP
+.Vb 1
 \& /* Something to setup buf and len */
-\&
+.Ve
+.PP
+.Vb 1
 \& p = buf;
-\&
+.Ve
+.PP
+.Vb 1
 \& x = d2i_X509(NULL, &p, len);
-\&
+.Ve
+.PP
+.Vb 2
 \& if (x == NULL)
 \&    /* Some error */
 .Ve
@@ -266,17 +301,29 @@ Alternative technique:
 .PP
 .Vb 1
 \& X509 *x;
-\&
+.Ve
+.PP
+.Vb 1
 \& unsigned char *buf, *p;
-\&
+.Ve
+.PP
+.Vb 1
 \& int len;
-\&
+.Ve
+.PP
+.Vb 1
 \& /* Something to setup buf and len */
-\&
+.Ve
+.PP
+.Vb 1
 \& p = buf;
-\&
+.Ve
+.PP
+.Vb 1
 \& x = NULL;
-\&
+.Ve
+.PP
+.Vb 2
 \& if(!d2i_X509(&x, &p, len))
 \&    /* Some error */
 .Ve
@@ -288,18 +335,30 @@ mistake is to attempt to use a buffer directly as follows:
 .Vb 2
 \& int len;
 \& unsigned char *buf;
-\&
+.Ve
+.PP
+.Vb 1
 \& len = i2d_X509(x, NULL);
-\&
+.Ve
+.PP
+.Vb 1
 \& buf = OPENSSL_malloc(len);
-\&
+.Ve
+.PP
+.Vb 2
 \& if (buf == NULL)
 \&        /* error */
-\&
+.Ve
+.PP
+.Vb 1
 \& i2d_X509(x, &buf);
-\&
+.Ve
+.PP
+.Vb 1
 \& /* Other stuff ... */
-\&
+.Ve
+.PP
+.Vb 1
 \& OPENSSL_free(buf);
 .Ve
 .PP
@@ -316,7 +375,9 @@ Another trap to avoid is misuse of the \fBxp\fR argument to \fB\f(BId2i_X509()\f
 .PP
 .Vb 1
 \& X509 *x;
-\&
+.Ve
+.PP
+.Vb 2
 \& if (!d2i_X509(&x, &p, len))
 \&        /* Some error */
 .Ve
@@ -343,14 +404,14 @@ always succeed.
 .IX Header "RETURN VALUES"
 \&\fId2i_X509()\fR, \fId2i_X509_bio()\fR and \fId2i_X509_fp()\fR return a valid \fBX509\fR structure
 or \fB\s-1NULL\s0\fR if an error occurs. The error code that can be obtained by
-\&\fIERR_get_error\fR\|(3).
+\&\fIERR_get_error\fR\|(3). 
 .PP
 \&\fIi2d_X509()\fR, \fIi2d_X509_bio()\fR and \fIi2d_X509_fp()\fR return a the number of bytes
 successfully encoded or a negative value if an error occurs. The error code
-can be obtained by \fIERR_get_error\fR\|(3).
+can be obtained by \fIERR_get_error\fR\|(3). 
 .PP
 \&\fIi2d_X509_bio()\fR and \fIi2d_X509_fp()\fR returns 1 for success and 0 if an error 
-occurs The error code can be obtained by \fIERR_get_error\fR\|(3).
+occurs The error code can be obtained by \fIERR_get_error\fR\|(3). 
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
 \&\fIERR_get_error\fR\|(3)