SOCKETPAIR

Section: Linux Programmer's Manual (2)
Updated: 2020-06-09
Index JM Home 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/ に書かれている。


関連キーワード

SOCKETPAIR, sv, int, ソケット, On, サポート, ペア, 作成, pages, sys 

Index

名前
書式
説明
返り値
エラー
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 13:30:30 GMT, January 09, 2022