LISTEN(2)           Linux Programmer's Manual           LISTEN(2)

NAME
       listen - listen for connections on a socket

SYNOPSIS
       #include <sys/socket.h>

       int listen(int s, int backlog);

DESCRIPTION
       To  accept  connections,  a  socket  is first created with
       socket(2), a willingness to  accept  incoming  connections
       and  a  queue limit for incoming connections are specified
       with listen, and then the connections  are  accepted  with
       accept(2).   The  listen  call  applies only to sockets of
       type SOCK_STREAM or SOCK_SEQPACKET.

       The 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 ECONNREFUSED or, if the
       underlying protocol supports retransmission,  the  request
       may be ignored so that retries may succeed.

NOTES
       The  behaviour  of  the  backlog  parameter on TCP sockets
       changed with Linux 2.2.  Now it specifies the queue length
       for 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 tcp_max_syn_backlog sysctl;  see  tcp(4).
       When  syncookies  are  enabled there is no logical maximum
       length and this sysctl setting is ignored.

RETURN VALUE
       On success, zero is returned.  On error, -1  is  returned,
       and errno is set appropriately.

ERRORS
       EBADF   The argument s is not a valid descriptor.

       ENOTSOCK
               The argument s is not a socket.

       EOPNOTSUPP
               The socket is not of a type that supports the lis-
               ten operation.

CONFORMING TO
       SVr4, 4.4BSD (the listen function call first  appeared  in
       4.2BSD).

BUGS
       If the socket is of type AF_INET, and the backlog argument
       is greater than the constant SO_MAXCONN (128  in  2.0.23),
       it  is  silently  truncated  to  SO_MAXCONN.  For portable
       applications, don't rely on this value since BSD (and some
       BSD-derived systems) limit the backlog to 5.

SEE ALSO
       accept(2), connect(2), socket(2)

BSD Man Page               23 July 1993                         1