EN JA
CONNECTAT(2)
CONNECTAT(2) FreeBSD System Calls Manual CONNECTAT(2)

名称

connectatソケットで接続を開始する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/types.h>
#include < sys/socket.h>


#include < fcntl.h>

int
connectat( int fd, int s, const struct sockaddr *name, socklen_t namelen);

解説

connectat() システムコールは、ソケットで接続を開始します。それは、2 つの例外がありますが、ちょうど connect(2) システムコールのように動作します:

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

  2. sockaddr_un 構造体の sun_path フィールドに格納されたファイルのパスが、相対パスであるなら、それは、ファイル記述子 fd に関連したディレクトリに相対的に位置付けられます。 connectat() が fd パラメータの特別の値 AT_FDCWD を渡されるなら、現在の作業ディレクトリが使用され、振る舞いは、 connect(2) への呼び出しと同一です。

戻り値

The connectat() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

connectat() システムコールは、UNIX ドメインソケットのための connect(2) システムコールと同じエラーか、または次のエラーで失敗します:
[ EBADF]
sun_path フィールドが、絶対パスを指定せず、 fd 引数が AT_FDCWD でも有効なファイル記述子でもありません。
[ ENOTDIR]
sun_path フィールドが、絶対パスでなく、 fd が、 AT_FDCWD でもディレクトリに関連したファイル記述子でもありません。

作者

connectat は、FreeBSD 財団の資金提供の下で Pawel Jakub Dawidek <pawel@dawidek.net>によって開発されました。
February 13, 2013 FreeBSD