socketpair サブルーチン
目的
接続されたソケットのペアを作成します。
ライブラリー
標準 C ライブラリー (libc.a)
構文
#include <sys/socket.h>
int socketpair (Domain, Type, Protocol, SocketVector[0])
int Domain, Type, Protocol;
int SocketVector[2];
int Domain, Type, Protocol;
int SocketVector[2];
説明
靴下 サブルーチンは、指定されたドメイン、指定されたタイプ、およびオプションで指定されたプロトコルを使用して、接続されたソケットの名前なしペアを作成します。 2 つのソケットは同一です。
注: AF_UNIX (UNIX) プロトコル・ファミリーでのみ、このサブルーチンを使用してソケットを作成します。
新しいソケットの参照に使用されるディスクリプタは、 SocketVector[0]と SocketVector[1]パラメータで返される。
/usr/include/sys/socket.h ファイルには、ソケット・ドメイン、タイプ、およびプロトコルの定義が含まれています。
靴下 サブルーチンを含むすべてのアプリケーションは、43 または 44 の値に設定された BSD (_BSD) マクロを使用してコンパイルする必要があります。 ソケット・アプリケーションには、BSD libbsd.a ライブラリーを組み込む必要があります。
パラメーター
| 項目 | 説明 |
|---|---|
| ドメイン | ソケットが作成される通信ドメインを指定します。 このサブルーチンは、インターネット・ドメインにソケットを作成しません。 |
| Type | ソケットが使用する通信方式 ( _ 翻訳不要 _SOCK_DGRAM または SOCK_ ストリーム) を指定します。 |
| プロトコル | データの転送を制御する規則の標準セット ( UDP/IP および TCP/IP など) を指定するために使用されるオプションの ID を指します。 |
| SocketVector | 作成されたソケットのペアの整数記述子を含む 2 つのエレメントからなるベクトルを指します。 |
戻り値
正常終了すると、 靴下 サブルーチンは値 0 を戻します。
靴下 サブルーチンが失敗すると、サブルーチン・ハンドラーは以下の関数を実行します。
- 呼び出したプログラムに-11を返す。
- 特定のエラーを示すエラー・コードを エラー番号 グローバル変数に移動します。
エラー・コード
靴下 サブルーチンが失敗すると、以下のエラー・コードのいずれかを戻します。
| エラー | 説明 |
|---|---|
| EAFNOSUPPORT | 指定されたアドレス・ファミリーのアドレスは、このソケットでは使用できません。 |
| EFAULT | SocketVector パラメーターは、ユーザー・アドレス・スペースの書き込み可能部分にはありません。 |
| EMFILE | このプロセスには使用中の記述子が多すぎます。 |
| ENFILE | 許可されている最大数のファイルが現在オープンされています。 |
| ENOBUFS | 操作を実行するための十分なリソースがシステムにありませんでした。 |
| EOPNOTSUPP | 指定されたプロトコルは、ソケット・ペアの作成を許可しません。 |
| EPROTONOSUPPORT | 指定されたプロトコルは、このシステムでは使用できません。 |
| EPROTOTYPE | ソケット・タイプがプロトコルでサポートされません。 |