LISTEN(3C) Standard C Library Functions LISTEN(3C)

NAME

listenlisten for connections on a socket

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <sys/types.h>
#include <sys/socket.h>
int
listen(int s, int backlog);

DESCRIPTION

To accept connections, a socket is first created with socket(3C), a backlog for incoming connections is specified with listen() and then the connections are accepted with accept(3C). 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 will receive an error with an indication of ECONNREFUSED for AF_UNIX sockets. If the underlying protocol supports retransmission, the connection request may be ignored so that retries may succeed. For AF_INET and AF_INET6 sockets, the TCP will retry the connection. If the backlog is not cleared by the time the tcp times out, the connect will fail with ETIMEDOUT.

RETURN VALUES

A 0 return value indicates success; -1 indicates an error.

ERRORS

The call fails if:
 
 
[EBADF]
The argument s is not a valid file descriptor.
 
 
[ENOTSOCK]
The argument s is not a socket.
 
 
[EOPNOTSUPP]
The socket is not of a type that supports the operation listen().

MT-LEVEL

Safe

SEE ALSO

accept(3C), connect(3C), socket(3C), socket.h(3HEAD), attributes(5)

NOTES

There is currently no backlog limit.
August 2, 2018 illumos