#include <openssl/bio.h> const BIO_METHOD *BIO_s_socket(void); BIO *BIO_new_socket(int sock, int close_flag);
BIO_read_ex() and BIO_write_ex() read or write the underlying socket. BIO_puts() is supported but BIO_gets() is not.
If the close flag is set then the socket is shut down and closed when the BIO is freed.
BIO_new_socket() returns a socket BIO using sock and close_flag.
The reason for having separate file descriptor and socket BIOs is that on some platforms sockets are not file descriptors and use distinct I/O routines, Windows is one such platform. Any code mixing the two will not work on all platforms.
BIO_new_socket() returns the newly allocated BIO or NULL is an error occurred.
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>.