Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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>

home | help