168651Skris=pod
268651Skris
368651Skris=head1 NAME
468651Skris
568651Skrisbio - I/O abstraction
668651Skris
768651Skris=head1 SYNOPSIS
868651Skris
968651Skris #include <openssl/bio.h>
1068651Skris
1168651SkrisTBA
1268651Skris
1368651Skris
1468651Skris=head1 DESCRIPTION
1568651Skris
1668651SkrisA BIO is an I/O abstraction, it hides many of the underlying I/O
1768651Skrisdetails from an application. If an application uses a BIO for its
1868651SkrisI/O it can transparently handle SSL connections, unencrypted network
1968651Skrisconnections and file I/O.
2068651Skris
2168651SkrisThere are two type of BIO, a source/sink BIO and a filter BIO.
2268651Skris
2368651SkrisAs its name implies a source/sink BIO is a source and/or sink of data,
2468651Skrisexamples include a socket BIO and a file BIO.
2568651Skris
2668651SkrisA filter BIO takes data from one BIO and passes it through to
2768651Skrisanother, or the application. The data may be left unmodified (for
2868651Skrisexample a message digest BIO) or translated (for example an
2968651Skrisencryption BIO). The effect of a filter BIO may change according
3068651Skristo the I/O operation it is performing: for example an encryption
3168651SkrisBIO will encrypt data if it is being written to and decrypt data
3268651Skrisif it is being read from.
3368651Skris
3468651SkrisBIOs can be joined together to form a chain (a single BIO is a chain
3568651Skriswith one component). A chain normally consist of one source/sink
3668651SkrisBIO and one or more filter BIOs. Data read from or written to the
3768651Skrisfirst BIO then traverses the chain to the end (normally a source/sink
3868651SkrisBIO).
3968651Skris
4068651Skris=head1 SEE ALSO
4168651Skris
4268651SkrisL<BIO_ctrl(3)|BIO_ctrl(3)>,
4379998SkrisL<BIO_f_base64(3)|BIO_f_base64(3)>, L<BIO_f_buffer(3)|BIO_f_buffer(3)>,
4468651SkrisL<BIO_f_cipher(3)|BIO_f_cipher(3)>, L<BIO_f_md(3)|BIO_f_md(3)>,
4568651SkrisL<BIO_f_null(3)|BIO_f_null(3)>, L<BIO_f_ssl(3)|BIO_f_ssl(3)>,
4668651SkrisL<BIO_find_type(3)|BIO_find_type(3)>, L<BIO_new(3)|BIO_new(3)>,
4768651SkrisL<BIO_new_bio_pair(3)|BIO_new_bio_pair(3)>,
4868651SkrisL<BIO_push(3)|BIO_push(3)>, L<BIO_read(3)|BIO_read(3)>,
4968651SkrisL<BIO_s_accept(3)|BIO_s_accept(3)>, L<BIO_s_bio(3)|BIO_s_bio(3)>,
5068651SkrisL<BIO_s_connect(3)|BIO_s_connect(3)>, L<BIO_s_fd(3)|BIO_s_fd(3)>,
5168651SkrisL<BIO_s_file(3)|BIO_s_file(3)>, L<BIO_s_mem(3)|BIO_s_mem(3)>,
5268651SkrisL<BIO_s_null(3)|BIO_s_null(3)>, L<BIO_s_socket(3)|BIO_s_socket(3)>,
5368651SkrisL<BIO_set_callback(3)|BIO_set_callback(3)>,
5468651SkrisL<BIO_should_retry(3)|BIO_should_retry(3)>
55