EN JA
SOCKETPAIR(2)
SOCKETPAIR(2) FreeBSD System Calls Manual SOCKETPAIR(2)

名称

socketpair1 組の接続されたソケットを作成する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/types.h>
#include < sys/socket.h>

int
socketpair( int fd, int type, int protocol, int *sv);

解説

socketpair() システムコールは、オプションで指定された protocol を使用して、指定された type の指定されたドメイン fd に名前のない 1 組の接続されたソケットを作成します。新しいソケットを参照するために使用される記述子は、 sv[0] と sv[1] に返されます。 2 つのソケットは、区別ができません。

type 引数の SOCK_CLOEXECSOCK_NONBLOCK フラグは、両方の記述子に適用します。

戻り値

The socketpair() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

呼び出しは、次の場合を除いて成功します:
[ EMFILE]
あまりにも多くの記述子が、このプロセスで使用されています。
[ EAFNOSUPPORT]
指定されたアドレスファミリが、このマシンでサポートされていません。
[ EPROTONOSUPPORT]
指定されたプロトコルが、このマシンでサポートされていません。
[ EOPNOTSUPP]
指定されたプロトコルが、ソケットの組の作成をサポートしていません。
[ EFAULT]
アドレス sv が、プロセスのアドレス空間の有効な部分を指定していません。

関連項目

pipe(2), read(2), socket(2), write(2)

歴史

socketpair() システムコールは、 4.2BSD で登場しました。

バグ

この呼び出しは、現在 UNIX ドメインのためだけに実装されてます。
September 11, 2013 FreeBSD