Scroll to navigation

SHUTDOWN(2) Linux Programmer's Manual SHUTDOWN(2)

名前

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 が適切に設定される。

エラー

sockfd が有効なファイルディスクリプターでない。
how に無効な値が指定された (バグが参照)。
指定されたソケットは接続されていない。
ファイルディスクリプター 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/ に書かれている。

2018-04-30 Linux