shutdown() - 二重接続の全部または一部のシャットダウン

標準

標準/拡張機能 C/C++ 依存項目

XPG4.2
Single UNIX Specification、バージョン 3

両方  

形式

X/Open:
#define _XOPEN_SOURCE_EXTENDED 1
#include <sys/socket.h>

int shutdown(int socket, int how);
バークレー・ソケット:
#define _OE_SOCKETS
#include <sys/socket.h>

long shutdown(int *s, int how);

機能説明

shutdown() 関数は、二重接続の全部または一部を シャットダウンします。
パラメーター
説明
socket
ソケット記述子。
how
シャットダウンの条件。値 0、1、または 2 で条件が設定されます。 how は、socket によって指示されたソケットへの接続をシャットダウンするための条件を設定します。
how は、以下の値になる可能性があります。
  • SHUT_RDsocket によって指示されたソケットから受信する通信を終了します。
  • SHUT_WRsocket によって指示されたソケットに送信する通信を終了します。
  • SHUT_RDWRsocket によって指示されたソケットに対する送受信両方の通信を終了します。
注: ソケットに close() 呼び出しを発行する前に、shutdown() 呼び出しを発行する必要があります。

C++ の特殊な動作: C++ でこの関数を使用するには、_XOPEN_SOURCE_EXTENDED 1 フィーチャー・テスト・マクロを 使用する必要があります。

戻り値

正常に実行された場合、shutdown() は 0 を戻します。

正常に実行されなかった場合、shutdown() は -1 を戻して、errno を次のいずれかの 値に設定します。
エラー・コード
説明
EBADF
socket が無効ソケット記述子です。
EINVAL
how パラメーターが、有効値の 1 つに設定されませんでした。
ENOBUFS
使用可能なシステム・リソースが不十分で、呼び出しを完了させることができません。
ENOTCONN
ソケットが接続していません。
ENOTSOCK
記述子はファイル用であり、ソケット用ではありません。

関連情報