summaryrefslogtreecommitdiffstats
path: root/secure/lib/libcrypto/man/BIO_s_accept.3
diff options
context:
space:
mode:
Diffstat (limited to 'secure/lib/libcrypto/man/BIO_s_accept.3')
-rw-r--r--secure/lib/libcrypto/man/BIO_s_accept.337
1 files changed, 24 insertions, 13 deletions
diff --git a/secure/lib/libcrypto/man/BIO_s_accept.3 b/secure/lib/libcrypto/man/BIO_s_accept.3
index 3073f38..83cb87d 100644
--- a/secure/lib/libcrypto/man/BIO_s_accept.3
+++ b/secure/lib/libcrypto/man/BIO_s_accept.3
@@ -1,5 +1,5 @@
.\" Automatically generated by Pod::Man version 1.15
-.\" Tue Jul 30 09:21:08 2002
+.\" Mon Jan 13 19:27:02 2003
.\"
.\" Standard preamble:
.\" ======================================================================
@@ -138,10 +138,10 @@
.\" ======================================================================
.\"
.IX Title "BIO_s_accept 3"
-.TH BIO_s_accept 3 "0.9.6e" "2000-11-12" "OpenSSL"
+.TH BIO_s_accept 3 "0.9.7" "2003-01-13" "OpenSSL"
.UC
.SH "NAME"
-BIO_s_accept, BIO_set_nbio, BIO_set_accept_port, BIO_get_accept_port,
+BIO_s_accept, BIO_set_accept_port, BIO_get_accept_port,
BIO_set_nbio_accept, BIO_set_accept_bios, BIO_set_bind_mode,
BIO_get_bind_mode, BIO_do_accept \- accept \s-1BIO\s0
.SH "SYNOPSIS"
@@ -150,22 +150,22 @@ BIO_get_bind_mode, BIO_do_accept \- accept \s-1BIO\s0
\& #include <openssl/bio.h>
.Ve
.Vb 1
-\& BIO_METHOD * BIO_s_accept(void);
+\& BIO_METHOD *BIO_s_accept(void);
.Ve
.Vb 2
-\& #define BIO_set_accept_port(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0,(char *)name)
-\& #define BIO_get_accept_port(b) BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0)
+\& long BIO_set_accept_port(BIO *b, char *name);
+\& char *BIO_get_accept_port(BIO *b);
.Ve
.Vb 1
\& BIO *BIO_new_accept(char *host_port);
.Ve
.Vb 2
-\& #define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,1,(n)?"a":NULL)
-\& #define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(char *)bio)
+\& long BIO_set_nbio_accept(BIO *b, int n);
+\& long BIO_set_accept_bios(BIO *b, char *bio);
.Ve
.Vb 2
-\& #define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL)
-\& #define BIO_get_bind_mode(b,mode) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL)
+\& long BIO_set_bind_mode(BIO *b, long mode);
+\& long BIO_get_bind_mode(BIO *b, long dummy);
.Ve
.Vb 3
\& #define BIO_BIND_NORMAL 0
@@ -173,14 +173,14 @@ BIO_get_bind_mode, BIO_do_accept \- accept \s-1BIO\s0
\& #define BIO_BIND_REUSEADDR 2
.Ve
.Vb 1
-\& #define BIO_do_accept(b) BIO_do_handshake(b)
+\& int BIO_do_accept(BIO *b);
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\fIBIO_s_accept()\fR returns the accept \s-1BIO\s0 method. This is a wrapper
round the platform's \s-1TCP/IP\s0 socket accept routines.
.PP
-Using accept BIOs \s-1TCP/IP\s0 connections can be accepted and data
+Using accept BIOs, \s-1TCP/IP\s0 connections can be accepted and data
transferred using only \s-1BIO\s0 routines. In this way any platform
specific operations are hidden by the \s-1BIO\s0 abstraction.
.PP
@@ -238,7 +238,7 @@ using \s-1BIO_BIND_REUSEADDR\s0.
called, after the accept \s-1BIO\s0 has been setup, it will attempt
to create the accept socket and bind an address to it. Second
and subsequent calls to \fIBIO_do_accept()\fR will await an incoming
-connection.
+connection, or request a retry in non blocking mode.
.SH "NOTES"
.IX Header "NOTES"
When an accept \s-1BIO\s0 is at the end of a chain it will await an
@@ -275,6 +275,17 @@ perform I/O using the accept \s-1BIO\s0 itself. This is often undesirable
however because the accept \s-1BIO\s0 will still accept additional incoming
connections. This can be resolved by using \fIBIO_pop()\fR (see above)
and freeing up the accept \s-1BIO\s0 after the initial connection.
+.PP
+If the underlying accept socket is non-blocking and \fIBIO_do_accept()\fR is
+called to await an incoming connection it is possible for
+\&\fIBIO_should_io_special()\fR with the reason \s-1BIO_RR_ACCEPT\s0. If this happens
+then it is an indication that an accept attempt would block: the application
+should take appropriate action to wait until the underlying socket has
+accepted a connection and retry the call.
+.PP
+\&\fIBIO_set_accept_port()\fR, \fIBIO_get_accept_port()\fR, \fIBIO_set_nbio_accept()\fR,
+\&\fIBIO_set_accept_bios()\fR, \fIBIO_set_bind_mode()\fR, \fIBIO_get_bind_mode()\fR and
+\&\fIBIO_do_accept()\fR are macros.
.SH "RETURN VALUES"
.IX Header "RETURN VALUES"
\&\s-1TBA\s0
OpenPOWER on IntegriCloud