Deleted Added
sdiff udiff text old ( 206048 ) new ( 215698 )
full compact
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.37
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1

--- 48 unchanged lines hidden (view full) ---

124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "BIO_f_base64 3"
132.TH BIO_f_base64 3 "2010-03-24" "0.9.8n" "OpenSSL"
133.SH "NAME"
134BIO_f_base64 \- base64 BIO filter
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 2
138\& #include <openssl/bio.h>
139\& #include <openssl/evp.h>
140.Ve
141.PP
142.Vb 1
143\& BIO_METHOD * BIO_f_base64(void);
144.Ve
145.SH "DESCRIPTION"
146.IX Header "DESCRIPTION"
147\&\fIBIO_f_base64()\fR returns the base64 \s-1BIO\s0 method. This is a filter
148\&\s-1BIO\s0 that base64 encodes any data written through it and decodes
149any data read through it.
150.PP
151Base64 BIOs do not support \fIBIO_gets()\fR or \fIBIO_puts()\fR.
152.PP
153\&\fIBIO_flush()\fR on a base64 \s-1BIO\s0 that is being written through is
154used to signal that no more data is to be encoded: this is used
155to flush the final block through the \s-1BIO\s0.
156.PP
157The flag \s-1BIO_FLAGS_BASE64_NO_NL\s0 can be set with \fIBIO_set_flags()\fR
158to encode the data all on one line or expect the data to be all
159on one line.

--- 7 unchanged lines hidden (view full) ---

167.SH "EXAMPLES"
168.IX Header "EXAMPLES"
169Base64 encode the string \*(L"Hello World\en\*(R" and write the result
170to standard output:
171.PP
172.Vb 2
173\& BIO *bio, *b64;
174\& char message[] = "Hello World \en";
175.Ve
176.PP
177.Vb 5
178\& b64 = BIO_new(BIO_f_base64());
179\& bio = BIO_new_fp(stdout, BIO_NOCLOSE);
180\& bio = BIO_push(b64, bio);
181\& BIO_write(bio, message, strlen(message));
182\& BIO_flush(bio);
183.Ve
184.PP
185.Vb 1
186\& BIO_free_all(bio);
187.Ve
188.PP
189Read Base64 encoded data from standard input and write the decoded
190data to standard output:
191.PP
192.Vb 3
193\& BIO *bio, *b64, *bio_out;
194\& char inbuf[512];
195\& int inlen;
196.Ve
197.PP
198.Vb 6
199\& b64 = BIO_new(BIO_f_base64());
200\& bio = BIO_new_fp(stdin, BIO_NOCLOSE);
201\& bio_out = BIO_new_fp(stdout, BIO_NOCLOSE);
202\& bio = BIO_push(b64, bio);
203\& while((inlen = BIO_read(bio, inbuf, 512)) > 0)
204\& BIO_write(bio_out, inbuf, inlen);
205.Ve
206.PP
207.Vb 1
208\& BIO_free_all(bio);
209.Ve
210.SH "BUGS"
211.IX Header "BUGS"
212The ambiguity of \s-1EOF\s0 in base64 encoded data can cause additional
213data following the base64 encoded block to be misinterpreted.
214.PP
215There should be some way of specifying a test that the \s-1BIO\s0 can perform
216to reliably determine \s-1EOF\s0 (for example a \s-1MIME\s0 boundary).
217.SH "SEE ALSO"
218.IX Header "SEE ALSO"
219\&\s-1TBA\s0