BIO_s_socket.3 revision 279265
Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)

Standard preamble:
========================================================================
..
..
.. 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. \*(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- . 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" '' . ds C` . ds C' 'br\}
Escape single quotes in literal strings from groff's Unicode transform.

If the F register is turned on, we'll generate index entries on stderr for
titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
entries marked with X<> in POD. Of course, you'll have to process the
output yourself in some meaningful fashion.

Avoid warning from groff about undefined register 'F'.
.. .nr rF 0 . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF
Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
Fear. Run. Save yourself. No user-serviceable parts.
. \" 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 "2015-01-08" "0.9.8zd" "OpenSSL"
For nroff, turn off justification. Always turn off hyphenation; it makes
way too many mistakes in technical documents.
"NAME"
BIO_s_socket, BIO_new_socket - socket BIO
"SYNOPSIS"
Header "SYNOPSIS" .Vb 1 #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); .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 \s0b 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