SOCKETPAIR
Section: Linux Programmer's Manual (2)
Updated: 2004-06-17
Index
JM Home Page
roff page
名前
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
が適切に設定される。
エラー
- EAFNOSUPPORT
-
このマシンでは指定されたアドレス・ファミリがサポートされていない。
- EFAULT
-
アドレス
sv
がこのプロセスで使えるアドレス空間を指定していない。
- EMFILE
-
このプロセスが使用しているディスクリプタの数が多すぎる。
- ENFILE
-
オープンされたファイルの総数がシステム全体の上限に達した。
- EOPNOTSUPP
-
指定されたプロトコルではソケットのペアの作成がサポートされていない。
- EPROTONOSUPPORT
-
このマシンでは指定されたプロトコルがサポートされていない。
準拠
4.4BSD, POSIX.1-2001.
socketpair()
関数コールは 4.2BSD で現われた。一般に (System V の変種を含めて)
BSD のソケット層のクローンをサポートしている、BSD 以外のシステムと、
互いに移植性がある。
注意
Linux では、この関数でサポートされているドメインは
AF_UNIX
(または同義語である
AF_LOCAL)
だけである。
(ほとんどの実装で同じ制限がある)
POSIX.1-2001 では
<sys/types.h>
のインクルードは必須とされておらず、
Linux ではこのヘッダファイルは必要ではない。
しかし、歴史的には、いくつかの実装 (BSD 系) でこのヘッダファイルが
必要であり、移植性が必要なアプリケーションではこのファイルを
インクルードするのが賢明であろう。
関連項目
pipe(2),
read(2),
socket(2),
write(2),
unix(7)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:32:04 GMT, November 19, 2007