名前


shutdown - 全二重接続の一部を遮断する

書式


#include <sys/socket.h>

int shutdown(int s, int how);

説明


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

返り値


成功した場合にはゼロを返す。失敗した場合には -1 を返し、 errno が適切に設定される。

エラー


EBADF s が有効なディスクリプター(descriptor)でない。
ENOTCONN
 指定されたソケットは接続されていない。
ENOTSOCK
 s がソケットでなくファイルである。

準拠


POSIX.1-2001, 4.4BSD (shutdown() 関数コールは 4.2BSD で最初に現われた。)

注意


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

関連項目


connect(2), socket(2)

openSUSE Logo

コンテンツ