shutdown - ukonči část plně duplexního spojení
Standardní knihovna C (libc, -lc)
#include <sys/socket.h>
int shutdown(int sockfd, int how);
Volání shutdown() může ukončit část nebo celé spojení týkající se soketu sockfd. Je-li how SHUT_RD, další data nebudou přijímána. Je-li how SHUT_WR, další data nebudou posílána. Je-li how SHUT_RDWR, nebudou přijímána ani vysílána žádná data.
On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error.
- EBADF
- sockfd není platným deskriptorem.
- EINVAL
- An invalid value was specified in how (but see BUGS).
- ENOTCONN
- Specifikovaný soket není spojen.
- ENOTSOCK
- The file descriptor sockfd does not refer to a socket.
POSIX.1-2001, POSIX.1-2008, 4.4BSD (shutdown() se poprvé objevilo v 4.2BSD).
Konstanty SHUT_RD, SHUT_WR, SHUT_RDWR, mají hodnoty 0, 1, 2 a jsou definovány v <sys/socket.h> od verze 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.