BIO_s_socket.3 revision 110655
Automatically generated by Pod::Man version 1.15
Mon Feb 3 10:01:41 2003

Standard preamble:
======================================================================

\\$1

.. ..

"\\$1" \\$2
..
..

.. Set up some character translations and predefined strings. \*(-- will
give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
double quote, and \*(R" will give a right double quote. | will give a
real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
to do unbreakable dashes and therefore won't be available. \*(C` and
\*(C' expand to `' in nroff, nothing in troff, for use with C<>
.tr \(*W-|\(bv\*(Tr . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\}
If the F register is turned on, we'll generate index entries on stderr
for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
index entries marked with X<> in POD. Of course, you'll have to process
the output yourself in some meaningful fashion.
. de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\}
For nroff, turn off justification. Always turn off hyphenation; it
makes way too many mistakes in technical documents.

Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
Fear. Run. Save yourself. No user-serviceable parts.
.bd B 3 . \" fudge factors for nroff and troff . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] .\} . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents . \" corrections for vroff . \" for low resolution devices (crt and lpr) \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} ======================================================================

Title "BIO_s_socket 3"
BIO_s_socket 3 "0.9.7" "2003-02-03" "OpenSSL"
C
"NAME"
BIO_s_socket, BIO_new_socket - socket \s-1BIO\s0
"SYNOPSIS"
Header "SYNOPSIS" .Vb 1 #include <openssl/bio.h> .Ve .Vb 1 BIO_METHOD *BIO_s_socket(void); .Ve .Vb 2 long BIO_set_fd(BIO *b, int fd, long close_flag); long BIO_get_fd(BIO *b, int *c); .Ve .Vb 1 BIO *BIO_new_socket(int sock, int close_flag); .Ve
"DESCRIPTION"
Header "DESCRIPTION" \fIBIO_s_socket() returns the socket \s-1BIO\s0 method. This is a wrapper round the platform's socket routines.

\fIBIO_read() and BIO_write() read or write the underlying socket. \fIBIO_puts() is supported but BIO_gets() is not.

If the close flag is set then the socket is shut down and closed when the \s-1BIO\s0 is freed.

\fIBIO_set_fd() sets the socket of \s-1BIO\s0 b to fd and the close flag to close_flag.

\fIBIO_get_fd() places the socket in c if it is not \s-1NULL\s0, it also returns the socket. If c is not \s-1NULL\s0 it should be of type (int *).

\fIBIO_new_socket() returns a socket \s-1BIO\s0 using sock and close_flag.

"NOTES"
Header "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.

\fIBIO_set_fd() and BIO_get_fd() are macros.

"RETURN VALUES"
Header "RETURN VALUES" \fIBIO_s_socket() returns the socket \s-1BIO\s0 method.

\fIBIO_set_fd() always returns 1.

\fIBIO_get_fd() returns the socket or -1 if the \s-1BIO\s0 has not been initialized.

\fIBIO_new_socket() returns the newly allocated \s-1BIO\s0 or \s-1NULL\s0 is an error occurred.

"SEE ALSO"
Header "SEE ALSO" \s-1TBA\s0