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/ に書かれている。