1=pod 2 3=head1 NAME 4 5bio - I/O abstraction 6 7=head1 SYNOPSIS 8 9 #include <openssl/bio.h> 10 11TBA 12 13 14=head1 DESCRIPTION 15 16A BIO is an I/O abstraction, it hides many of the underlying I/O 17details from an application. If an application uses a BIO for its 18I/O it can transparently handle SSL connections, unencrypted network 19connections and file I/O. 20 21There are two type of BIO, a source/sink BIO and a filter BIO. 22 23As its name implies a source/sink BIO is a source and/or sink of data, 24examples include a socket BIO and a file BIO. 25 26A filter BIO takes data from one BIO and passes it through to 27another, or the application. The data may be left unmodified (for 28example a message digest BIO) or translated (for example an 29encryption BIO). The effect of a filter BIO may change according 30to the I/O operation it is performing: for example an encryption 31BIO will encrypt data if it is being written to and decrypt data 32if it is being read from. 33 34BIOs can be joined together to form a chain (a single BIO is a chain 35with one component). A chain normally consist of one source/sink 36BIO and one or more filter BIOs. Data read from or written to the 37first BIO then traverses the chain to the end (normally a source/sink 38BIO). 39 40=head1 SEE ALSO 41 42L<BIO_ctrl(3)|BIO_ctrl(3)>, 43L<BIO_f_base64(3)|BIO_f_base64(3)>, L<BIO_f_buffer(3)|BIO_f_buffer(3)>, 44L<BIO_f_cipher(3)|BIO_f_cipher(3)>, L<BIO_f_md(3)|BIO_f_md(3)>, 45L<BIO_f_null(3)|BIO_f_null(3)>, L<BIO_f_ssl(3)|BIO_f_ssl(3)>, 46L<BIO_find_type(3)|BIO_find_type(3)>, L<BIO_new(3)|BIO_new(3)>, 47L<BIO_new_bio_pair(3)|BIO_new_bio_pair(3)>, 48L<BIO_push(3)|BIO_push(3)>, L<BIO_read(3)|BIO_read(3)>, 49L<BIO_s_accept(3)|BIO_s_accept(3)>, L<BIO_s_bio(3)|BIO_s_bio(3)>, 50L<BIO_s_connect(3)|BIO_s_connect(3)>, L<BIO_s_fd(3)|BIO_s_fd(3)>, 51L<BIO_s_file(3)|BIO_s_file(3)>, L<BIO_s_mem(3)|BIO_s_mem(3)>, 52L<BIO_s_null(3)|BIO_s_null(3)>, L<BIO_s_socket(3)|BIO_s_socket(3)>, 53L<BIO_set_callback(3)|BIO_set_callback(3)>, 54L<BIO_should_retry(3)|BIO_should_retry(3)> 55