summaryrefslogtreecommitdiffstats
path: root/man2/listen.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/listen.2')
-rw-r--r--man2/listen.2132
1 files changed, 132 insertions, 0 deletions
diff --git a/man2/listen.2 b/man2/listen.2
new file mode 100644
index 000000000..c9b3b77e7
--- /dev/null
+++ b/man2/listen.2
@@ -0,0 +1,132 @@
+.\" Copyright (c) 1983, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $Id: listen.2,v 1.6 1999/05/18 14:10:32 freitag Exp $
+.\"
+.\" Modified Fri Jul 23 22:07:54 1993 by Rik Faith <faith@cs.unc.edu>
+.\" Modified 950727 by aeb, following a suggestion by Urs Thuermann
+.\" <urs@isnogud.escape.de>
+.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified 1998 by Andi Kleen
+.\" Modified 11 May 2001 by Sam Varshavchik <mrsam@courier-mta.com>
+.\"
+.TH LISTEN 2 1993-07-23 "BSD Man Page" "Linux Programmer's Manual"
+.SH NAME
+listen \- listen for connections on a socket
+.SH SYNOPSIS
+.B #include <sys/socket.h>
+.sp
+.BI "int listen(int " s ", int " backlog );
+.SH DESCRIPTION
+To accept connections, a socket is first created with
+.BR socket (2),
+a willingness to accept incoming connections and a queue limit for incoming
+connections are specified with
+.BR listen ,
+and then the connections are
+accepted with
+.BR accept (2).
+The
+.B listen
+call applies only to sockets of type
+.B SOCK_STREAM
+or
+.BR SOCK_SEQPACKET .
+.PP
+The
+.I backlog
+parameter defines the maximum length the queue of pending connections may
+grow to. If a connection request arrives with the queue full the client
+may receive an error with an indication of
+.B ECONNREFUSED
+or, if the underlying protocol supports retransmission, the request may be
+ignored so that retries succeed.
+.SH NOTES
+The behaviour of the
+.I backlog
+parameter on TCP sockets changed with Linux 2.2.
+Now it specifies the queue length for
+.I completely
+established sockets waiting to be accepted, instead of the number of incomplete
+connection requests. The maximum length of the queue for incomplete sockets
+can be set using the
+.B tcp_max_syn_backlog
+sysctl.
+When syncookies are enabled there is no logical maximum
+length and this sysctl setting is ignored.
+See
+.BR tcp (7)
+for more information.
+
+.SH "RETURN VALUE"
+On success, zero is returned. On error, \-1 is returned, and
+.I errno
+is set appropriately.
+.SH ERRORS
+.TP
+.B EADDRINUSE
+Another socket is already listening on the same port.
+.TP
+.B EBADF
+The argument
+.I s
+is not a valid descriptor.
+.TP
+.B ENOTSOCK
+The argument
+.I s
+is not a socket.
+.TP
+.B EOPNOTSUPP
+The socket is not of a type that supports the
+.B listen
+operation.
+.SH "CONFORMING TO"
+Single Unix, 4.4BSD, POSIX 1003.1g draft. The
+.B listen
+function call first appeared in 4.2BSD.
+.SH BUGS
+If the socket is of type
+.BR AF_INET ,
+and the
+.I backlog
+argument is greater
+than the constant
+.B SOMAXCONN
+(128 in Linux 2.0 & 2.2), it is silently truncated
+to
+.BR SOMAXCONN .
+Don't rely on this value in portable applications since BSD
+(and some BSD-derived systems) limit the backlog to 5.
+.SH "SEE ALSO"
+.BR accept (2),
+.BR connect (2),
+.BR socket (2)