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