MirBSD manpage: BIO_get_fd(3), BIO_new_socket(3), BIO_set_fd(3), BIO_s_socket(3)

BIO_S_SOCKET(3)              OpenSSL              BIO_S_SOCKET(3)


     BIO_s_socket, BIO_new_socket - socket BIO


      #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);


     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


     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 descrip-
     tors and use distinct I/O routines, Windows is one such
     platform. Any code mixing the two will not work on all plat-

     BIO_set_fd() and BIO_get_fd() are macros.


     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.

MirBSD #10-current         2005-02-05                           1

BIO_S_SOCKET(3)              OpenSSL              BIO_S_SOCKET(3)

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



MirBSD #10-current         2005-02-05                           2

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung