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: 03:33:33 GMT, July 19, 2021