SOCKETPAIR(2)

名前
socketpair - 接続されたソッケト(socket)のペアを作成する

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

int socketpair(int d, int type, int protocol, int sv[2]);

説明
socketpair は指定されたドメイン d 、指定された種類 type 、オプションとして指定された protocol を使用して名前のないソケットの接続されたペアを作成する。 新しいソッケトの参照に使用するディスクリプター(descriptor)は sv[0] と sv[1] に返される。 二つのソケットは全く同じである。

返り値
成功した場合はゼロを返す、エラーの場合は -1 を返し、 errno が適切に設定される。

エラー

EMFILE
    このプロセスが使用しているディスクリプターの数が多すぎる。

EAFNOSUPPORT
    このマシンでは指定されたアドレス・ファミリがサポートされていない。

EPROTONOSUPPORT
    このマシンでは指定されたプロトコルがサポートされていない。

EOPNOSUPPORT
    指定されたプロトコルではソケットのペアの作成がサポートされていない。

EFAULT
    アドレス sv がこの正しいこのプロセスのアドレス空間を指定していない。

準拠
4.4BSD ( socketpair 関数コールは BSD 4.2 で現われた。)一般に(System V の変種を含めて) BSD のソケット層のクローンをサポートしている BSD 以外のシステムへ、 または、BSD 以外のシステムからの移植ができる。

関連項目
read(2), write(2), pipe(2)