SSL_SET_BIO(3) | Library Functions Manual | SSL_SET_BIO(3)

# NAME

`SSL_set_bio` — connect the SSL object with a BIO

# SYNOPSIS

library “libssl” libcrypto
`#include <openssl/ssl.h>`

void
`SSL_set_bio`(SSL *ssl, BIO *rbio, BIO *wbio);

# DESCRIPTION

`SSL_set_bio`() connects the BIOs rbio and wbio for the read and write operations of the TLS/SSL (encrypted) side of ssl.

The SSL engine inherits the behaviour of rbio and wbio, respectively. If a BIO is non-blocking, the ssl will also have non-blocking behaviour.

If there was already a BIO connected to ssl, BIO_free(3) will be called (for both the reading and writing side, if different).

# SEE ALSO

BIO_new(3), ssl(3), SSL_accept(3), SSL_connect(3), SSL_get_rbio(3), SSL_shutdown(3)

# HISTORY

`SSL_set_bio`() first appeared in SSLeay 0.6.0 and has been available since OpenBSD 2.4.

June 8, 2025 | Debian