EN JA
BINDAT(2)
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) システムコールのように動作します:

  1. それは、PF_LOCAL ドメインのソケットに制限されています。

  2. 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 Jakub Dawidek <pawel@dawidek.net>によって開発されました。
February 13, 2013 FreeBSD