]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man2/shutdown.2
mknod.2: tfix
[thirdparty/man-pages.git] / man2 / shutdown.2
CommitLineData
fea681da
MK
1.\" Copyright (c) 1983, 1991 The Regents of the University of California.
2.\" All rights reserved.
3.\"
a9cd9cb7 4.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
fea681da
MK
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\" notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\" notice, this list of conditions and the following disclaimer in the
12.\" documentation and/or other materials provided with the distribution.
13.\" 3. All advertising materials mentioning features or use of this software
14.\" must display the following acknowledgement:
15.\" This product includes software developed by the University of
16.\" California, Berkeley and its contributors.
17.\" 4. Neither the name of the University nor the names of its contributors
18.\" may be used to endorse or promote products derived from this software
19.\" without specific prior written permission.
20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31.\" SUCH DAMAGE.
8c9302dc 32.\" %%%LICENSE_END
fea681da
MK
33.\"
34.\" $Id: shutdown.2,v 1.1.1.1 1999/03/21 22:52:23 freitag Exp $
35.\"
36.\" Modified Sat Jul 24 09:57:55 1993 by Rik Faith <faith@cs.unc.edu>
37.\" Modified Tue Oct 22 22:04:51 1996 by Eric S. Raymond <esr@thyrsus.com>
38.\" Modified 1998 by Andi Kleen
39.\"
09b8afdc 40.TH SHUTDOWN 2 2018-04-30 "Linux" "Linux Programmer's Manual"
fea681da
MK
41.SH NAME
42shutdown \- shut down part of a full-duplex connection
43.SH SYNOPSIS
44.B #include <sys/socket.h>
68e4db0a 45.PP
c4e7b714 46.BI "int shutdown(int " sockfd ", int " how );
fea681da
MK
47.SH DESCRIPTION
48The
e511ffb6 49.BR shutdown ()
fea681da
MK
50call causes all or part of a full-duplex connection on the socket
51associated with
75c59601 52.I sockfd
c13182ef
MK
53to be shut down.
54If
fea681da
MK
55.I how
56is
57.BR SHUT_RD ,
c13182ef
MK
58further receptions will be disallowed.
59If
fea681da
MK
60.I how
61is
62.BR SHUT_WR ,
c13182ef
MK
63further transmissions will be disallowed.
64If
fea681da
MK
65.I how
66is
67.BR SHUT_RDWR ,
68further receptions and transmissions will be disallowed.
47297adb 69.SH RETURN VALUE
c13182ef
MK
70On success, zero is returned.
71On error, \-1 is returned, and
fea681da
MK
72.I errno
73is set appropriately.
74.SH ERRORS
75.TP
76.B EBADF
3e4088f4 77.I sockfd
d9cb0d7d 78is not a valid file descriptor.
fea681da 79.TP
556bb77a
MK
80.B EINVAL
81An invalid value was specified in
82.IR how
83(but see BUGS).
84.TP
fea681da
MK
85.B ENOTCONN
86The specified socket is not connected.
87.TP
88.B ENOTSOCK
deedfd97 89The file descriptor
3e4088f4 90.I sockfd
deedfd97 91does not refer to a socket.
47297adb 92.SH CONFORMING TO
eee11a0f 93POSIX.1-2001, POSIX.1-2008, 4.4BSD
256cf66a
MK
94.RB ( shutdown ()
95first appeared in 4.2BSD).
fea681da 96.SH NOTES
2f0af33b
MK
97The constants
98.BR SHUT_RD ,
99.BR SHUT_WR ,
100.B SHUT_RDWR
101have the value 0, 1, 2,
fea681da
MK
102respectively, and are defined in
103.I <sys/socket.h>
104since glibc-2.1.91.
556bb77a 105.SH BUGS
7e64d33c 106Checks for the validity of
556bb77a 107.I how
7e64d33c
MK
108are done in domain-specific code,
109and before Linux 3.7 not all domains performed these checks.
556bb77a 110.\" https://bugzilla.kernel.org/show_bug.cgi?id=47111
7e64d33c
MK
111Most notably, UNIX domain sockets simply ignored invalid values.
112This problem was fixed for UNIX domain sockets
113.\" commit fc61b928dc4d72176cf4bd4d30bf1d22e599aefc
114.\" and for DECnet sockets in commit 46b66d7077b89fb4917ceef19b3f7dd86055c94a
115in Linux 3.7.
47297adb 116.SH SEE ALSO
df818717 117.BR close (2),
fea681da 118.BR connect (2),
5dfedcae
MK
119.BR socket (2),
120.BR socket (7)