socketpair(2) FreeBSD 一般コマンドマニュアル

socketpair

前のページ 上に戻る 次のページ

socketpair




書式

     #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 4.4                      June 4, 1993                      FreeBSD 4.4

ABELNET VPSサービス