Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       shutdown - 全二重接続の一部を閉じる

書式

       #include <sys/socket.h>

       int shutdown(int sockfd, int how);

説明

       shutdown()     は、   sockfd   に関連づけられているソケットによる全二重接続   (full-duplex
       connection) の一部または全てを閉じる。 howSHUT_RD  ならば、それ以降の受信を禁止する。
       howSHUT_WR ならば、それ以降の送信を禁止する。 howSHUT_RDWR ならば、それ以降の送受
       信を禁止する。

返り値

       成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

       EBADF  sockfd が有効なファイルディスクリプターでない。

       EINVAL how に無効な値が指定された (バグが参照)。

       ENOTCONN
              指定されたソケットは接続されていない。

       ENOTSOCK
              ファイルディスクリプター sockfd がソケットを参照していない。

準拠

       POSIX.1-2001, POSIX.1-2008, 4.4BSD (shutdown() は 4.2BSD で初めて登場した)。

注意

       SHUT_RD, SHUT_WR, SHUT_RDWR の各定数 (それぞれ 0, 1, 2 の値を持つ) は glibc-2.1.91  以降、
       <sys/socket.h> で定義されている。

バグ

       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)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの
       説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。