日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
CONNECT(2) FreeBSD システムコールマニュアル CONNECT(2)
名称
connect -- ソケットで接続を開始する
ライブラリ
標準 C ライブラリ (libc, -lc)
書式
#include <sys/socket.h>
int
connect(int s, const struct sockaddr *name, socklen_t namelen);
解説
s 引数は、ソケットです。それがタイプ SOCK_DGRAM であるなら、この呼び出し
は、ソケットが関連付けされている、通信相手を指定します。このアドレスは、
データグラムが送信され、データグラムが受信されるただ一つのアドレスです。
ソケットがタイプ SOCK_STREAM であるなら、この呼び出しは、別のソケットへの
接続を行うことを試みます。別のソケットは、ソケットの通信空間のアドレスで
ある、name によって指定されます。namelen は、バイト単位で name によって指
された空間の量を示します。name の sa_len メンバは、無視されます。各通信空
間は、それ自体の方法で name 引数を解釈します。一般的に、ストリームのソ
ケットは、一度だけ connect() に成功します。データグラムのソケットは、それ
らの関連付けを変更するために複数回 connect() 使用します。データグラムのソ
ケットは、NULL アドレスのような、無効のアドレスへの接続によって関連付けを
解消します。
戻り値
関数 connect() は、処理が成功すると値 0 を返します。そうでない場合、値 -1
が返され、グローバル変数 errno にエラーを示す値が設定されます。
エラー
connect() システムコールは、次の場合に失敗します:
[EBADF] s 引数が有効な記述子でありません。
[EINVAL] namelen 引数が、アドレスファミリのための有効な長さでは
ありません。
[ENOTSOCK] s 引数が、ソケットではなくファイルのための記述子です。
[EADDRNOTAVAIL] 指定されたアドレスが、このマシンで利用可能でありませ
ん。
[EAFNOSUPPORT] このソケットで、指定されたアドレスファミリのアドレスを
使用することができません。
[EISCONN] ソケットは、既に接続されています。
[ETIMEDOUT] 接続の確立が、接続を確立せずにタイムアウトしました。
[ECONNREFUSED] 接続する試みが、強制的に拒絶されました。
[ECONNRESET] 接続が、リモートホストによってリセットされました。
[ENETUNREACH] ネットワークが、このホストから到達可能ではありません。
[EHOSTUNREACH] リモートホストが、このホストから到達可能ではありませ
ん。
[EADDRINUSE] アドレスが既に使用されています。
[EFAULT] name 引数が、プロセスのアドレス空間の外側の領域を指定
しています。
[EINPROGRESS] ソケットが、非ブロッキングで、接続が、直ちに完了するこ
とができません。書き込みのためのソケットを選択すること
によって、完了のために select(2) することができます。
[EINTR] 接続の試みが、シグナルの配信によって割り込まれました。
接続が EINPROGRESS の場合でのように、バックグラウンド
で確立されました。
[EALREADY] 前の接続の試みが、まだ完了していません。
[EACCES] ブロードキャスト (同報通信) の機能を提供しないソケット
を通して (INADDR_BROADCAST 定数または INADDR_NONE 返り
値によって取得される) ブロードキャストのアドレスに接続
する試みが行われています。
[EAGAIN] 自動割り当てポート番号が、要求されましたが、自動割り当
てポートが利用可能でありません。sysctl(3) MIB 変数
net.inet.ip.portrange.first と
net.inet.ip.portrange.last によって指定されたポート範
囲を増加させることが、問題を軽減します。
次のエラーは、UNIX ドメインの接続名に特有です。これらのエラーは、UNIX IPC
ドメインの将来のバージョンに適用されないかもしれません。
[ENOTDIR] パス接頭辞の構成要素が、ディレクトリではありません。
[ENAMETOOLONG] パス名の構成要素が、255 文字を越えているか、または、全
体のパス名が、1023 文字を越えています。
[ENOENT] 指定されたソケットが存在しません。
[EACCES] 検索パーミッションが、パス接頭辞の構成要素に対して拒否
されています。
[EACCES] 指定されたソケットへの書み込みアクセスが拒否されていま
す。
[ELOOP] パス名の変換で、あまりにも多くのシンボリックリンクに遭
遇しました。
[EPERM] 指定されたソケットへの書き込みアクセスが拒否されまし
た。
関連項目
accept(2), getpeername(2), getsockname(2), select(2), socket(2),
sysctl(3), sysctl(8)
歴史
connect() システムコールは、4.2BSD で登場しました。
FreeBSD 13.2 August 18, 2016 FreeBSD 13.2