NAME

SSL_set_bio, SSL_set0_rbio, SSL_set0_wbio - connect the SSL object with a BIO

SYNOPSIS

 #include <openssl/ssl.h>

 void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);
 void SSL_set0_rbio(SSL *s, BIO *rbio);
 void SSL_set0_wbio(SSL *s, BIO *wbio);

DESCRIPTION

SSL_set0_rbio() connects the BIO rbio for the read operations of the ssl object. The SSL engine inherits the behaviour of rbio. If the BIO is non-blocking then the ssl object will also have non-blocking behaviour. This function transfers ownership of rbio to ssl. It will be automatically freed using BIO_free_all(3) (this includes the case where the rbio is set to the same value as previously).

SSL_set0_wbio() works in the same as SSL_set0_rbio() except that it connects the BIO wbio for the write operations of the ssl object. Note that if the rbio and wbio are the same then SSL_set0_rbio() and SSL_set0_wbio() each take ownership of one reference. Therefore it may be necessary to increment the number of references available using RETURN VALUES

SSL_set_bio(), SSL_set_rbio() and SSL_set_wbio() cannot fail.

SEE ALSO

SSL_connect(3), SSL_shutdown(3), bio(7)

HISTORY

SSL_set0_rbio() and SSL_set0_wbio() were added in OpenSSL 1.1.0.

COPYRIGHT

Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.