BIND
Section: System Calls (2)
索引
jman
BSD mandoc
索引
名称
bind
- ローカルプロトコルアドレスをソケットに割り当てる
索引
ライブラリ
Lb libc
索引
書式
In sys/types.h
In sys/socket.h
Ft int
Fn bind int s const struct sockaddr *addr socklen_t addrlen
索引
解説
Fn bind
システムコールは、ローカルプロトコルアドレスをソケットに割り当てます。
ソケットは、
socket(2)
で作成される時にアドレスファミリ空間に存在しますが、
プロトコルアドレスは割り当てられていません。
Fn bind
システムコールはソケットに
Fa addr
を割り当てることを要求します。
索引
注
UNIX ドメイン内でのアドレスのバインドによってファイルシステム内に
ソケットが作成されます。
これは、必要なくなったときに呼び出し側が
( unlink(2)
を使用して) 削除する必要があります。
アドレスのバインドで使用される規則は通信ドメイン間で異なります。
詳細については、
セクション 4 のマニュアルエントリを参照してください。
移植性を最大にするためには、ソケット構造体は、使用前
つまりこれを
Fn bind
に渡す前に、0 で埋めるべきです。
索引
戻り値
Rv -std bind
索引
エラー
Fn bind
システムコールは次の場合に失敗します:
- Bq Er EAGAIN
-
要求を満たすためのカーネルリソースが一時的に利用できません。
- Bq Er EBADF
-
Fa s
引数が有効な記述子ではありません。
- Bq Er ENOTSOCK
-
Fa s
引数がソケットではありません。
- Bq Er EADDRNOTAVAIL
-
指定のアドレスがローカルマシンから利用できません。
- Bq Er EADDRINUSE
-
指定のアドレスは既に使用中です。
- Bq Er EACCES
-
要求されたアドレスは保護されており、現在のユーザが持っているパーミッションは
それにアクセスするのには不適切です。
- Bq Er EFAULT
-
Fa addr
引数が有効なユーザアドレス空間ではありません。
次のエラーは UNIX ドメイン内のバインドアドレスに固有のものです。
- Bq Er ENOTDIR
-
パスの構成要素中にディレクトリ以外のものが含まれています。
- Bq Er ENAMETOOLONG
-
パス名の構成要素が 255 文字を越えているか、
またはパス名全体が 1023 文字を越えています。
- Bq Er ENOENT
-
パス名の接頭辞構成要素が存在しません。
- Bq Er ELOOP
-
パス名を変換するときに検出されたシンボリックリンクが多すぎます。
- Bq Er EIO
-
ディレクトリエントリを作成している間、または inode を割り振りしている間に
入出力エラーが発生しました。
- Bq Er EROFS
-
指定されたファイルは読取り専用ファイルシステム上にあります。
- Bq Er EISDIR
-
空のパス名が指定されました。
索引
関連項目
connect(2),
getsockname(2),
listen(2),
socket(2)
索引
歴史
Fn bind
システムコールは
BSD 4.2
で登場しました。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 注
-
- 戻り値
-
- エラー
-
- 関連項目
-
- 歴史
-
Time: 07:06:24 GMT, January 12, 2009