SOCKETPAIR(2) | FreeBSD System Calls Manual | SOCKETPAIR(2) |
名称
socketpair — 1 組の接続されたソケットを作成するライブラリ
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_CLOEXEC と SOCK_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 が、プロセスのアドレス空間の有効な部分を指定していません。
歴史
socketpair() システムコールは、 4.2BSD で登場しました。バグ
この呼び出しは、現在 UNIX ドメインのためだけに実装されてます。September 11, 2013 | FreeBSD |