NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | STANDARDS | HISTORY | NOTES | BUGS | SEE ALSO | COLOPHON |
|
|
shutdown(2) System Calls Manual shutdown(2)
shutdown - shut down part of a full-duplex connection
Standard C library (libc, -lc)
#include <sys/socket.h> int shutdown(int sockfd, int how);
The shutdown() call causes all or part of a full-duplex connection on the socket associated with sockfd to be shut down. If how is SHUT_RD, further receptions will be disallowed. If how is SHUT_WR, further transmissions will be disallowed. If how is SHUT_RDWR, further receptions and transmissions will be disallowed.
On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error.
EBADF sockfd is not a valid file descriptor. EINVAL An invalid value was specified in how (but see BUGS). ENOTCONN The specified socket is not connected. ENOTSOCK The file descriptor sockfd does not refer to a socket.
POSIX.1-2008.
POSIX.1-2001, 4.4BSD (first appeared in 4.2BSD).
The constants SHUT_RD, SHUT_WR, SHUT_RDWR have the value 0, 1, 2, respectively, and are defined in <sys/socket.h> since glibc-2.1.91.
Checks for the validity of how are done in ___domain-specific code, and before Linux 3.7 not all domains performed these checks. Most notably, UNIX ___domain sockets simply ignored invalid values. This problem was fixed for UNIX ___domain sockets in Linux 3.7.
close(2), connect(2), socket(2), socket(7)
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.10.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2025-02-02. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
[email protected]
Linux man-pages 6.10 2024-07-23 shutdown(2)
Pages that refer to this page: close(2), io_uring_enter2(2), io_uring_enter(2), recv(2), send(2), socket(2), socketcall(2), syscalls(2), io_uring_prep_shutdown(3), sd_listen_fds(3), systemd.socket(5), signal-safety(7), sock_diag(7), socket(7), lsof(8)