kazmax - Linux で自宅サーバー

socketpair - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 準拠
  7. 注意
  8. 関連項目

名前

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 )だけである。 (ほとんどの実装で同じ制限がある)

関連項目