SOCKETPAIR
Section: Linux Programmer's Manual (2)
Updated: 2020-06-09
Index
JM Home Page
roff page
 
名前
socketpair - 接続されたソケットのペアを作成する
 
書式
#include <sys/types.h> /* 「注意」参照 */
#include <sys/socket.h>
int socketpair(int domain, int type, int protocol, int
sv[2]);
 
説明
socketpair()  は、指定されたドメイン domain に指定された種類 type
で名前のないソケットの接続されたペアを作成する。 protocol が指定されると、このプロトコルを用いる。 これらの引数の詳細は
socket(2)  を参照のこと。
The file descriptors used in referencing the new sockets are returned in
sv[0] and sv[1].  The two sockets are indistinguishable.
 
返り値
On success, zero is returned.  On error, -1 is returned, errno is set
appropriately, and sv is left unchanged
On Linux (and other systems), socketpair()  does not modify sv on
failure.  A requirement standardizing this behavior was added in
POSIX.1-2008 TC2.
 
エラー
- EAFNOSUPPORT
 - 
このマシンでは指定されたアドレスファミリーがサポートされていない。
 - EFAULT
 - 
アドレス sv がこのプロセスで使えるアドレス空間を指定していない。
 - EMFILE
 - 
1プロセスがオープンできるファイルディスクリプター数の上限に達した。
 - ENFILE
 - 
オープンされたファイルの総数がシステム全体の上限に達していた。
 - EOPNOTSUPP
 - 
指定されたプロトコルではソケットのペアの作成がサポートされていない。
 - EPROTONOSUPPORT
 - 
このマシンでは指定されたプロトコルがサポートされていない。
 
 
準拠
POSIX.1-2001, POSIX.1-2008, 4.4BSD.  socketpair() は 4.2BSD で登場した。一般に
(System V の変種を含めて)  BSD のソケット層のクローンをサポートしている、BSD 以外のシステムと、 互いに移植性がある。
 
注意
On Linux, the only supported domains for this call are AF_UNIX (or
synonymously, AF_LOCAL)  and AF_TIPC (since Linux 4.12).
Since Linux 2.6.27, socketpair()  supports the SOCK_NONBLOCK and
SOCK_CLOEXEC flags in the type argument, as described in socket(2).
POSIX.1 では <sys/types.h> のインクルードは必須とされておらず、 Linux
ではこのヘッダーファイルは必要ではない。 しかし、歴史的には、いくつかの実装 (BSD 系) でこのヘッダーファイルが
必要であり、移植性が必要なアプリケーションではこのファイルを インクルードするのが賢明であろう。
 
関連項目
pipe(2), read(2), socket(2), write(2), socket(7), unix(7)
 
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/ に書かれている。
 Index
- 名前
 - 
 - 書式
 - 
 - 説明
 - 
 - 返り値
 - 
 - エラー
 - 
 - 準拠
 - 
 - 注意
 - 
 - 関連項目
 - 
 - この文書について
 - 
 
This document was created by
man2html,
using the manual pages.
Time: 16:46:43 GMT, November 24, 2023