BINDAT(2) | FreeBSD System Calls Manual | BINDAT(2) |
名称
bindat — ソケットにローカルプロトコルのアドレスを割り当てるライブラリ
Standard C Library (libc, -lc)書式
#include < sys/types.h>#include < sys/socket.h>
#include < fcntl.h>
int
bindat( int fd, int s, const struct sockaddr *addr, socklen_t addrlen);
解説
bindat() システムコールは、ソケットにローカルプロトコルのアドレスを割り当てます。それは、2 つの例外がありますが、ちょうど bind(2) システムコールのように動作します:
- それは、PF_LOCAL ドメインのソケットに制限されています。
- sockaddr_un 構造体の sun_path フィールドに格納されたファイルのパスが、相対パスであるなら、それは、ファイル記述子 fd に関連したディレクトリに相対的に位置付けられます。 bindat() が fd パラメータの特別の値 AT_FDCWD を渡されるなら、現在の作業ディレクトリが使用され、振る舞いは、 bind(2) への呼び出しと同一です。
戻り値
The bindat() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.エラー
bindat() システムコールは、UNIX ドメインソケットのための bind(2) システムコールと同じエラーか、または次のエラーで失敗します:- [ EBADF]
- sun_path フィールドが、絶対パスを指定せず、 fd 引数が AT_FDCWD でも有効なファイル記述子でもありません。
- [ ENOTDIR]
- sun_path フィールドが、絶対パスでなく、 fd が、 AT_FDCWD でもディレクトリに関連したファイル記述子でもありません。
作者
bindat は、FreeBSD 財団の資金提供の下で <pawel@dawidek.net>によって開発されました。February 13, 2013 | FreeBSD |