FreeBSD Manual Pages
SHUTDOWN(2) FreeBSD System Calls Manual SHUTDOWN(2) NAME shutdown -- disable sends or receives on a socket SYNOPSIS #include <sys/socket.h> int shutdown(int s, int how); DESCRIPTION The shutdown() system call disables sends or receives on a socket. If the file descriptor s is associated with a SOCK_STREAM socket, all or part of the full-duplex connection will be shut down. The how argument specifies the type of shutdown. Possible values are: SHUT_RD Further receives will be disallowed. SHUT_WR Further sends will be disallowed. This may cause ac- tions specific to the protocol family of the socket s to happen. SHUT_RDWR Further sends and receives will be disallowed. The following protocol specific actions apply to the use of SHUT_WR based on the properties of the socket associated with the file descriptor s: DOMAIN TYPE PROTOCOL RETURN VALUE AND ACTION AF_INET SOCK_DGRAM IPPROTO_UDP Return 0. ICMP messages will not be generated. AF_INET SOCK_STREAM IPPROTO_TCP Return 0. Send queued data, wait for ACK, then send FIN. AF_INET6 SOCK_DGRAM IPPROTO_UDP Return 0. ICMP messages will not be generated. AF_INET6 SOCK_STREAM IPPROTO_TCP Return 0. Send queued data, wait for ACK, then send FIN. RETURN VALUES Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error. ERRORS The shutdown() system call fails if: [EBADF] The s argument is not a valid file descriptor. [EINVAL] The how argument is invalid. [ENOTCONN] The s argument specifies a SOCK_STREAM socket which is not connected. [ENOTSOCK] The s argument does not refer to a socket. [EOPNOTSUPP] The socket associated with the file descriptor s does not support this operation. SEE ALSO connect(2), socket(2), inet(4), inet6(4) STANDARDS The shutdown() function conforms to IEEE Std 1003.1-2008 ("POSIX.1"). HISTORY The shutdown() system call first appeared in 4.1cBSD. The SHUT_RD, SHUT_WR, and SHUT_RDWR constants appeared in IEEE Std 1003.1g-2000 ("POSIX.1"). BUGS The ICMP "port unreachable" message should be generated in response to datagrams received on a local port to which s is bound after shutdown() is called. FreeBSD 13.0 September 9, 2014 FreeBSD 13.0
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY | BUGS
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=shutdown&sektion=2&manpath=OpenBSD+6.9>