Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

BIO_s_socket (3openssl)

Name

BIO_s_socket - socket BIO

Synopsis

#include <openssl/bio.h>

BIO_METHOD *BIO_s_socket(void);

long BIO_set_fd(BIO *b, int fd, long close_flag);
long BIO_get_fd(BIO *b, int *c);

BIO *BIO_new_socket(int sock, int close_flag);

Description

BIO_s_socket(3openssl)              OpenSSL             BIO_s_socket(3openssl)



NAME
       BIO_s_socket, BIO_new_socket - socket BIO

SYNOPSIS
        #include <openssl/bio.h>

        BIO_METHOD *BIO_s_socket(void);

        long BIO_set_fd(BIO *b, int fd, long close_flag);
        long BIO_get_fd(BIO *b, int *c);

        BIO *BIO_new_socket(int sock, int close_flag);

DESCRIPTION
       BIO_s_socket() returns the socket BIO method. This is a wrapper round
       the platform's socket routines.

       BIO_read() and BIO_write() 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_set_fd() sets the socket of BIO b to fd and the close flag to
       close_flag.

       BIO_get_fd() places the socket in c if it is not NULL, it also returns
       the socket. If c is not NULL it should be of type (int *).

       BIO_new_socket() returns a socket BIO using sock and close_flag.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+--------------------------+
       |ATTRIBUTE TYPE |     ATTRIBUTE VALUE      |
       +---------------+--------------------------+
       |Availability   | library/security/openssl |
       +---------------+--------------------------+
       |Stability      | Pass-through uncommitted |
       +---------------+--------------------------+

NOTES
       Socket BIOs also support any relevant functionality of file descriptor
       BIOs.

       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_set_fd() and BIO_get_fd() are macros.

       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       https://www.openssl.org/source/openssl-1.0.2ze.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.openssl.org/.

RETURN VALUES
       BIO_s_socket() returns the socket BIO method.

       BIO_set_fd() always returns 1.

       BIO_get_fd() returns the socket or -1 if the BIO has not been
       initialized.

       BIO_new_socket() returns the newly allocated BIO or NULL is an error
       occurred.

SEE ALSO
       TBA




1.0.2ze                           2022-05-03            BIO_s_socket(3openssl)