日本語 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
BIND(2) FreeBSD システムコールマニュアル BIND(2)
名称
bind -- ローカルプロトコルのアドレスをソケットに割り当てる
ライブラリ
標準 C ライブラリ (libc, -lc)
書式
#include <sys/socket.h>
int
bind(int s, const struct sockaddr *addr, socklen_t addrlen);
解説
bind() システムコールは、ローカルプロトコルのアドレスをソケットに割り当て
ます。ソケットが socket(2) で作成されるとき、それは、アドレスファミリの空
間に存在しますが、割り付けられたプロトコルのアドレスは、ありません。
bind() システムコールは、addr がソケットに割り当てられることを要求しま
す。
注
UNIX ドメインのアドレスをバインドすることは、それが、もはや必要でないと
き、呼び出し側によって (unlink(2) を使用して) 削除されなければならない、
ファイルシステムにソケットを作成します。
アドレスのバインドで使用される規則は、通信ドメインの間で変化します。詳細
情報については、セクション 4 のマニュアルのエントリを調べてください。
最大の移植性について、bind() にそれを渡して、それを追加する前に、利用者
は、常に 0 のソケットのアドレス構造体にするべきです。
戻り値
関数 bind() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が
返され、グローバル変数 errno にエラーを示す値が設定されます。
エラー
bind() システムコールは、次の場合に失敗します:
[EAGAIN] 要求を達成するためのカーネルリソースが、一時的に利用不
可能です。
[EBADF] s 引数が、有効な記述子ではありません。
[EINVAL] ソケットが、既にアドレスにバインドされ、プロトコルが、
新しいアドレスへのバインドをサポートしていません。また
は、ソケットが、シャットダウンされています。
[EINVAL] addrlen 引数が、アドレスファミリのための有効な長さでは
ありません。
[ENOTSOCK] s 引数がソケットではありません。
[EADDRNOTAVAIL] 指定されたアドレスがローカルマシンから利用可能でありま
せん。
[EADDRINUSE] 指定されたアドレスが、既に使用されています。
[EAFNOSUPPORT] 指定されたアドレスファミリのアドレスを、このソケットで
使用することができません。
[EACCES] 要求されたアドレスが保護されていて、現在のユーザには、
それにアクセスする適切なパーミッションがありません。
[EFAULT] addr 引数が、ユーザのアドレス空間の有効な部分ではあり
ません。
次のエラーは、UNIX ドメインのバインドアドレスに特有です。
[ENOTDIR] パス接頭辞の構成要素が、ディレクトリではありません。
[ENAMETOOLONG]
パス名の構成要素が、255 文字を越えているか、または、全体のパ
ス名が、1023 文字を越えています。
[ENOENT] パス名の接頭辞の構成要素が存在しません。
[ELOOP] パス名の変換で、あまりにも多くのシンボリックリンクに遭遇しま
した。
[EIO] I/O エラーがディレクトリのエントリを作成するか、または inode
を割り付ける間に起こりました。
[EINTEGRITY]
破損したデータが、ファイルシステムから読み込む間に検出されま
した。
[EROFS] 名前が、読み込み専用のファイルシステムに存在するでしょう。
[EISDIR] 空のパス名が指定されました。
関連項目
connect(2), getsockname(2), listen(2), socket(2)
歴史
bind() システムコールは、4.2BSD で登場しました。
FreeBSD 13.2 March 30, 2020 FreeBSD 13.2