1.\" $OpenBSD: listen.2,v 1.15 2015/09/10 17:55:21 schwarze Exp $ 2.\" $NetBSD: listen.2,v 1.7 1996/02/16 20:38:45 phil Exp $ 3.\" 4.\" Copyright (c) 1983, 1991, 1993 5.\" The Regents of the University of California. All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 3. Neither the name of the University nor the names of its contributors 16.\" may be used to endorse or promote products derived from this software 17.\" without specific prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29.\" SUCH DAMAGE. 30.\" 31.\" @(#)listen.2 8.2 (Berkeley) 12/11/93 32.\" 33.Dd $Mdocdate: September 10 2015 $ 34.Dt LISTEN 2 35.Os 36.Sh NAME 37.Nm listen 38.Nd listen for connections on a socket 39.Sh SYNOPSIS 40.In sys/socket.h 41.Ft int 42.Fn listen "int s" "int backlog" 43.Sh DESCRIPTION 44To accept connections, a socket 45is first created with 46.Xr socket 2 , 47a willingness to accept incoming connections and 48a queue limit for incoming connections are specified with 49.Fn listen , 50and then the connections are 51accepted with 52.Xr accept 2 . 53The 54.Fn listen 55call applies only to sockets of type 56.Dv SOCK_STREAM 57or 58.Dv SOCK_SEQPACKET . 59.Pp 60The 61.Fa backlog 62parameter defines the maximum length the queue of 63pending connections may grow to. 64If a connection 65request arrives with the queue full the client may 66receive an error with an indication of 67.Er ECONNREFUSED , 68or, if the underlying protocol supports retransmission, 69the request may be ignored so that retries may succeed. 70.Sh RETURN VALUES 71.Rv -std 72.Sh ERRORS 73.Fn listen 74will fail if: 75.Bl -tag -width Er 76.It Bq Er EBADF 77The argument 78.Fa s 79is not a valid descriptor. 80.It Bq Er ENOTSOCK 81The argument 82.Fa s 83is not a socket. 84.It Bq Er EOPNOTSUPP 85The socket is not of a type that supports the operation 86.Fn listen . 87.It Bq Er EINVAL 88The socket is already connected. 89.El 90.Sh SEE ALSO 91.Xr accept 2 , 92.Xr connect 2 , 93.Xr socket 2 , 94.Xr sysctl 8 95.Sh STANDARDS 96The 97.Fn listen 98function conforms to 99.St -p1003.1-2008 . 100.Sh HISTORY 101The 102.Fn listen 103system call first appeared in 104.Bx 4.1c . 105.Sh BUGS 106The 107.Fa backlog 108is currently limited (silently) to the value of the kern.somaxconn 109sysctl, which defaults to 128. 110