SHUTDOWN(2)

SHUTDOWN(2) | System Calls Manual | SHUTDOWN(2)

# NAME

shutdown — shut down part of a full-duplex connection

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

#include <sys/socket.h>
int
shutdown(int s, int how);

# DESCRIPTION

The shutdown() call causes all or part of a full-duplex connection on the socket associated with s to be shut down. The how argument specifies which part of the connection will be shut down. Permissible values are:

SHUT_RD
  further receives will be disallowed.
SHUT_WR
  further sends will be disallowed.
SHUT_RDWR
  further sends and receives will be disallowed.

# RETURN VALUES

A 0 is returned if the call succeeds, -1 if it fails.

# ERRORS

The call succeeds unless:

[`EBADF`]
  s is not a valid descriptor.
[`EINVAL`]
  The how argument is invalid.
[`ENOTCONN`]
  The specified socket is not connected.
[`ENOTSOCK`]
  s is a file, not a socket.

# SEE ALSO

connect(2), socket(2)

# HISTORY

The shutdown() function call appeared in 4.2BSD. The how arguments used to be simply 0, 1, and 2, but now have named values as specified by X/Open Portability Guide Issue 4 (“XPG4”).

August 18, 2002 | NetBSD 8.3