December 11, 1993 LISTEN 2

### NAME

listen - listen for connections on a socket

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```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.

### RETURN VALUES

A 0 return value indicates success; -1 indicates an 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 operation listen(``).

### SEE ALSO

accept(2), connect(2), socket(2)

### HISTORY

The listen(``) function call appeared in 4.2BSD.

### BUGS

The ```backlog` is currently limited (silently) to 128.