Issue #719:
[openssl.git] / doc / ssl / SSL_set_bio.pod
1 =pod
2
3 =head1 NAME
4
5 SSL_set_bio, SSL_set_rbio, SSL_set_wbio - connect the SSL object with a BIO
6
7 =head1 SYNOPSIS
8
9  #include <openssl/ssl.h>
10
11  void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);
12
13 =head1 DESCRIPTION
14
15 SSL_set_bio() connects the BIOs B<rbio> and B<wbio> for the read and write
16 operations of the TLS/SSL (encrypted) side of B<ssl>.
17
18 The SSL engine inherits the behaviour of B<rbio> and B<wbio>, respectively.
19 If a BIO is non-blocking, the B<ssl> will also have non-blocking behaviour.
20
21 If there was already a BIO connected to B<ssl>, BIO_free() will be called
22 (for both the reading and writing side, if different).
23
24 SSL_set_rbio() does the same job as SSL_set_bio() except that it enables you
25 to only connect the read bio, without touching the write bio. Similarly
26 SSL_set_wbio() enables you to connect the write bio without touching the read
27 bio.
28
29 =head1 RETURN VALUES
30
31 SSL_set_bio(), SSL_set_rbio() and SSL_set_wbio() cannot fail.
32
33 =head1 SEE ALSO
34
35 L<SSL_get_rbio(3)>,
36 L<SSL_connect(3)>, L<SSL_accept(3)>,
37 L<SSL_shutdown(3)>, L<ssl(3)>, L<bio(3)>
38
39 =head1 HISTORY
40
41 SSL_set_rbio() and SSL_set_wbio() were added in OpenSSL 1.1.0.
42
43 =cut