Provided by: manpages-dev_2.62-1_all bug
 

NAME

        listen - listen for connections on a socket
 

SYNOPSIS

        #include <sys/types.h>          /* See NOTES */
        #include <sys/socket.h>
 
        int listen(int sockfd, 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 incom‐
        ing  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 ECON     
        NREFUSED or, if the underlying protocol  supports  retransmission,  the
        request may be ignored so that retries succeed.
        On  success,  zero is returned.  On error, -1 is returned, and errno is
        set appropriately.
 

ERRORS

        EADDRINUSE
               Another socket is already listening on the same port.
 
        EBADF  The argument sockfd is not a valid descriptor.
 
        ENOTSOCK
               The argument sockfd is not a socket.
 
        EOPNOTSUPP
               The socket is not of a type that supports  the  listen()  opera‐
               tion.
        4.4BSD,  POSIX.1-2001.   The  listen()  function call first appeared in
        4.2BSD.
 

NOTES

        POSIX.1-2001 does not require the inclusion of <sys/types.h>, and  this
        header  file  is not required on Linux.  However, some historical (BSD)
        implementations required this header file,  and  portable  applications
        are probably wise to include it.
 
        The behavior 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.  When syncook‐
        ies are enabled there is no logical maximum length and this sysctl set‐
        ting is ignored.  See tcp(7) for more information.
 
        If    the   backlog   argument   is   greater   than   the   value   in
        /proc/sys/net/somaxconn, then it is silently truncated to  that  value;
        the  default value in this file is 128.  In kernels before 2.4.25, this
        limit was a hard coded value, SOMAXCONN, with the value 128.
 

EXAMPLE

        See bind(2).
        accept(2), bind(2), connect(2), socket(2)