Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LISTEN(2)		  FreeBSD System Calls 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	will-
     ingness to	accept incoming	connections and	a queue	limit for incoming
     connections are specified with listen(), and then the connections are ac-
     cepted 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.

RETURN VALUES
     Upon successful completion, the value 0 is	returned; otherwise the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

ERRORS
     listen() will fail	if:

     [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 opera-
			tion listen().

     [EINVAL]		The socket is already connected.

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

STANDARDS
     The listen() function conforms to IEEE Std	1003.1-2008 ("POSIX.1").

HISTORY
     The listen() system call first appeared in	4.1cBSD.

BUGS
     The backlog is currently limited (silently) to the	value of the kern.so-
     maxconn sysctl, which defaults to 128.

FreeBSD	13.0		      September	10, 2015		  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=listen&sektion=2&manpath=OpenBSD+6.9>

home | help