スポンサーリンク

SOCKETPAIR(2) FreeBSD システムコールマニュアル SOCKETPAIR(2)

名称

socketpair − 接続されたソケットのペアの作成

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

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

int

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

解説

socketpair() システムコールは、任意に指定された protocol を使用し、指定さ れた type の、名前を持たない、接続されたソケットのペアを、指定されたドメ イン d に作成します。このとき、ペアは指定できません。新しいソケットの参照 に使用された記述子は、 sv[0] と sv[1] に戻されます。 2 つのソケットは区別 できません。

戻り値

関数 socketpair() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。

エラー

以下のような場合、処理を失敗します:

       [EMFILE]

プロセスで使用されている記述子が多すぎます。

[EAFNOSUPPORT]
指定されたアドレスファミリが、この機械でサポートされて いません。

[EPROTONOSUPPORT]
指定したプロトコルが、この機械でサポートされていませ ん。

[EOPNOTSUPP]
指定したプロトコルでの、ソケットペアの作成がサポートさ れていません。

[EFAULT]
アドレス sv が、プロセスアドレス空間の有効な部分を指定 していません。

関連項目

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

バグ

この呼び出しは、現在のところ UNIX ドメインのみで実装されています。

歴史

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

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク