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

名称
ライブラリ
書式
解説
戻り値
エラー
関連項目
歴史

jman



Time: 07:06:24 GMT, January 12, 2009