From 6dcbaf585709aae072f8b18236126fc3ca38a6ed Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Thu, 14 Sep 2000 00:05:50 +0000 Subject: [PATCH] Docs for socket BIO. --- doc/crypto/BIO_s_socket.pod | 61 +++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 doc/crypto/BIO_s_socket.pod diff --git a/doc/crypto/BIO_s_socket.pod b/doc/crypto/BIO_s_socket.pod new file mode 100644 index 0000000000..cf4b47880c --- /dev/null +++ b/doc/crypto/BIO_s_socket.pod @@ -0,0 +1,61 @@ +=pod + +=head1 NAME + + BIO_s_socket - socket BIO + +=head1 SYNOPSIS + + #include + + BIO_METHOD * BIO_s_socket(void); + + #define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) + #define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)c) + + BIO *BIO_new_socket(int sock, int close_flag); + +=head1 DESCRIPTION + +BIO_f_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 B and the close +flag to B. + +BIO_get_fd() places the socket in B if it is not NULL, it also +returns the socket . If B is not NULL it should be of type (int *). + +BIO_new_socket() returns a socket BIO using B and B. + +=head1 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. + +=head1 RETURN VALUES + +BIO_s_socket() returns the socket BIO method. + +BIO_set_fd() always returns 1. + +BIO_get_fd() returns the file descriptor or -1 if the BIO has not +been initialised. + +BIO_new_socket() returns the newly allocated BIO or NULL is an error +occurred. + +=head1 SEE ALSO + +TBA -- 2.25.1