| .\" Copyright (c) 1983, 1991 The Regents of the University of California. |
| .\" All rights reserved. |
| .\" |
| .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) |
| .\" Redistribution and use in source and binary forms, with or without |
| .\" modification, are permitted provided that the following conditions |
| .\" are met: |
| .\" 1. Redistributions of source code must retain the above copyright |
| .\" notice, this list of conditions and the following disclaimer. |
| .\" 2. Redistributions in binary form must reproduce the above copyright |
| .\" notice, this list of conditions and the following disclaimer in the |
| .\" documentation and/or other materials provided with the distribution. |
| .\" 3. All advertising materials mentioning features or use of this software |
| .\" must display the following acknowledgement: |
| .\" This product includes software developed by the University of |
| .\" California, Berkeley and its contributors. |
| .\" 4. Neither the name of the University nor the names of its contributors |
| .\" may be used to endorse or promote products derived from this software |
| .\" without specific prior written permission. |
| .\" |
| .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| .\" SUCH DAMAGE. |
| .\" %%%LICENSE_END |
| .\" |
| .\" $Id: shutdown.2,v 1.1.1.1 1999/03/21 22:52:23 freitag Exp $ |
| .\" |
| .\" Modified Sat Jul 24 09:57:55 1993 by Rik Faith <faith@cs.unc.edu> |
| .\" Modified Tue Oct 22 22:04:51 1996 by Eric S. Raymond <esr@thyrsus.com> |
| .\" Modified 1998 by Andi Kleen |
| .\" |
| .TH SHUTDOWN 2 2018-04-30 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| shutdown \- shut down part of a full-duplex connection |
| .SH SYNOPSIS |
| .B #include <sys/socket.h> |
| .PP |
| .BI "int shutdown(int " sockfd ", int " how ); |
| .SH DESCRIPTION |
| The |
| .BR shutdown () |
| call causes all or part of a full-duplex connection on the socket |
| associated with |
| .I sockfd |
| to be shut down. |
| If |
| .I how |
| is |
| .BR SHUT_RD , |
| further receptions will be disallowed. |
| If |
| .I how |
| is |
| .BR SHUT_WR , |
| further transmissions will be disallowed. |
| If |
| .I how |
| is |
| .BR SHUT_RDWR , |
| further receptions and transmissions will be disallowed. |
| .SH RETURN VALUE |
| On success, zero is returned. |
| On error, \-1 is returned, and |
| .I errno |
| is set appropriately. |
| .SH ERRORS |
| .TP |
| .B EBADF |
| .I sockfd |
| is not a valid file descriptor. |
| .TP |
| .B EINVAL |
| An invalid value was specified in |
| .IR how |
| (but see BUGS). |
| .TP |
| .B ENOTCONN |
| The specified socket is not connected. |
| .TP |
| .B ENOTSOCK |
| The file descriptor |
| .I sockfd |
| does not refer to a socket. |
| .SH CONFORMING TO |
| POSIX.1-2001, POSIX.1-2008, 4.4BSD |
| .RB ( shutdown () |
| first appeared in 4.2BSD). |
| .SH NOTES |
| The constants |
| .BR SHUT_RD , |
| .BR SHUT_WR , |
| .B SHUT_RDWR |
| have the value 0, 1, 2, |
| respectively, and are defined in |
| .I <sys/socket.h> |
| since glibc-2.1.91. |
| .SH BUGS |
| Checks for the validity of |
| .I how |
| are done in domain-specific code, |
| and before Linux 3.7 not all domains performed these checks. |
| .\" https://bugzilla.kernel.org/show_bug.cgi?id=47111 |
| Most notably, UNIX domain sockets simply ignored invalid values. |
| This problem was fixed for UNIX domain sockets |
| .\" commit fc61b928dc4d72176cf4bd4d30bf1d22e599aefc |
| .\" and for DECnet sockets in commit 46b66d7077b89fb4917ceef19b3f7dd86055c94a |
| in Linux 3.7. |
| .SH SEE ALSO |
| .BR close (2), |
| .BR connect (2), |
| .BR socket (2), |
| .BR socket (7) |