Provided by: manpages-ja-dev_0.5.0.0.20131015+dfsg-2_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, 4.4BSD (shutdown()  関数コールは 4.2BSD で初めて登場した)。

注意

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

バグ

       現在の実装では how の妥当性チェックはドメイン固有のコードの中で行われているが、 すべてのド
       メインでこれらのチェックが行われている訳ではない。  中でも注意すべきは、  UNIX  ドメインソ
       ケットでは無効な値は単に無視される点である。 これは将来変更されるかもしれない。

関連項目

       connect(2), socket(2), socket(7)

この文書について

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