204c89e3fc1f6faf09bdd4e2718a10645640f96d
[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  void SSL_set_rbio(SSL *s, BIO *rbio);
13  void SSL_set_wbio(SSL *s, BIO *wbio);
14
15 =head1 DESCRIPTION
16
17 SSL_set_bio() connects the BIOs B<rbio> and B<wbio> for the read and write
18 operations of the TLS/SSL (encrypted) side of B<ssl>.
19
20 The SSL engine inherits the behaviour of B<rbio> and B<wbio>, respectively.
21 If a BIO is non-blocking, the B<ssl> will also have non-blocking behaviour.
22
23 If there was already a BIO connected to B<ssl>, BIO_free() will be called
24 (for both the reading and writing side, if different).
25
26 SSL_set_rbio() does the same job as SSL_set_bio() except that it enables you
27 to only connect the read bio, without touching the write bio. Similarly
28 SSL_set_wbio() enables you to connect the write bio without touching the read
29 bio.
30
31 =head1 RETURN VALUES
32
33 SSL_set_bio(), SSL_set_rbio() and SSL_set_wbio() cannot fail.
34
35 =head1 SEE ALSO
36
37 L<SSL_get_rbio(3)>,
38 L<SSL_connect(3)>, L<SSL_accept(3)>,
39 L<SSL_shutdown(3)>, L<ssl(3)>, L<bio(3)>
40
41 =head1 HISTORY
42
43 SSL_set_rbio() and SSL_set_wbio() were added in OpenSSL 1.1.0.
44
45 =head1 COPYRIGHT
46
47 Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
48
49 Licensed under the OpenSSL license (the "License").  You may not use
50 this file except in compliance with the License.  You can obtain a copy
51 in the file LICENSE in the source distribution or at
52 L<https://www.openssl.org/source/license.html>.
53
54 =cut