BIND(2) FreeBSD システムコールマニュアル BIND(2)
名称
bind − ローカルプロトコルアドレスをソケットに割り当てる |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <sys/types.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] [ENOTSOCK] [EADDRNOTAVAIL] [EADDRINUSE] [EACCES] [EFAULT] 次のエラーは UNIX ドメイン内のバインドアドレスに固有のものです。 [ENOTDIR] [ENAMETOOLONG] [ENOENT] [ELOOP] [EIO] [EROFS] [EISDIR] 関連項目 |
歴史
bind() システムコールは 4.2BSD で登場しました。 FreeBSD 10.0 June 4, 1993 FreeBSD 10.0 |