Merge branch 'objlinks'
[unleashed/tickless.git] / lib / libc / listen.2
blob14a5ea17260bd7ecaffb52b6e5b7c628b04e59b9
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 October 25, 2016
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
44 To accept connections, a socket
45 is first created with
46 .Xr socket 2 ,
47 a willingness to accept incoming connections and
48 a queue limit for incoming connections are specified with
49 .Fn listen ,
50 and then the connections are
51 accepted with
52 .Xr accept 2 .
53 The
54 .Fn listen
55 call applies only to sockets of type
56 .Dv SOCK_STREAM
58 .Dv SOCK_SEQPACKET .
59 .Pp
60 The
61 .Fa backlog
62 parameter defines the maximum length the queue of
63 pending connections may grow to.
64 If a connection
65 request arrives with the queue full the client may
66 receive an error with an indication of
67 .Er ECONNREFUSED ,
68 or, if the underlying protocol supports retransmission,
69 the request may be ignored so that retries may succeed.
70 .Sh RETURN VALUES
71 .Rv -std
72 .Sh ERRORS
73 .Fn listen
74 will fail if:
75 .Bl -tag -width Er
76 .It Bq Er EBADF
77 The argument
78 .Fa s
79 is not a valid descriptor.
80 .It Bq Er ENOTSOCK
81 The argument
82 .Fa s
83 is not a socket.
84 .It Bq Er EOPNOTSUPP
85 The socket is not of a type that supports the operation
86 .Fn listen .
87 .It Bq Er EINVAL
88 The socket is already connected.
89 .El
90 .Sh SEE ALSO
91 .Xr accept 2 ,
92 .Xr connect 2 ,
93 .Xr socket 2
94 .Sh STANDARDS
95 The
96 .Fn listen
97 function conforms to
98 .St -p1003.1-2008 .
99 .Sh HISTORY
101 .Fn listen
102 system call first appeared in
103 .Bx 4.1c .