man pages section 3: Networking Library Functions

Exit Print View

Updated: July 2014
 
 

listen(3SOCKET)

Name

listen - listen for connections on a socket

Synopsis

cc [ flag ... ] 
file ... –lsocket –lnsl [ 
library ... ]
#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(3SOCKET), a backlog for incoming connections is specified with listen() and then the connections are accepted with accept(3SOCKET). 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_INET6sockets, 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 ().

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
MT-Level
Safe

See also

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

Notes

There is currently no backlog limit.