bionic (2) socketpair.2.gz

Provided by: manpages-ja-dev_0.5.0.0.20161015+dfsg-1_all bug

名前

       socketpair - 接続されたソケットのペアを作成する

書式

       #include <sys/types.h> /* 「注意」参照 */
       #include <sys/socket.h>

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

説明

       socketpair()   は、指定されたドメイン domain に指定された種類 type で名前のないソケットの接続されたペアを
       作成する。 protocol が指定されると、このプロトコルを用いる。 これらの引き数の詳細は socket(2)  を参照のこ
       と。

       新しいソケットの参照に使用するディスクリプター (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)  だけである。
       (ほとんどの実装で同じ制限がある)

       Linux 2.6.27 以降では、 socketpair()  は、フラグ SOCK_NONBLOCKSOCK_CLOEXEC に対応している。フラグの説
       明は socket(2)  を参照のこと。

       POSIX.1-2001 では <sys/types.h> のインクルードは必須とされておらず、 Linux ではこのヘッダーファイルは必要
       ではない。 しかし、歴史的には、いくつかの実装 (BSD 系) でこのヘッダーファイルが  必要であり、移植性が必要
       なアプリケーションではこのファイルを インクルードするのが賢明であろう。

関連項目

       pipe(2), read(2), socket(2), write(2), socket(7), unix(7)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。