スポンサーリンク

GETFH(2) FreeBSD システムコールマニュアル GETFH(2)

名称

getfh, lgetfh − ファイルハンドルを得る

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <sys/param.h>
#include <sys/mount.h>

int

getfh(const char *path, fhandle_t *fhp);

int

lgetfh(const char *path, fhandle_t *fhp);

解説

getfh() システムコールは指定のファイルまたはディレクトリのファイルハンド ルを fhp が指すファイルハンドルの格納領域に返します。 lgetfh() システム コールは、指定されたファイルがシンボリックリンクであった場合を除いて getfh() と同様です。この場合には lgetfh() はそのリンクについての情報を返 し、一方 getfh() はそのリンクが参照するファイルについての情報を返します。 これらのシステムコールはスーパユーザに限定されます。

戻り値

成功して終了したときには値 0 を返します。そうでない場合、値 -1 が返され、 グローバル変数 errno が設定されてエラーを示します。

エラー

getfh() および lgetfh() システムコールは以下の 1 つでも真の場合、処理に失 敗します:

       [ENOTDIR]

path の構成要素中にディレクトリ以外のものが含まれてい ます。

[ENAMETOOLONG]
path
の構成要素が 255 文字を越えているか、または path が 1023 文字を越えています。

[ENOENT]
path
が参照するファイルが存在しません。

[EACCES]
path
に検索が許可されていないディレクトリが含まれてい ます。

[ELOOP]
path
を変換するときに検出されたシンボリックリンクが多 すぎます。

[EFAULT]
fhp
引数が無効なアドレスを指しています。

[EIO]
ファイルシステムに読み書きしている間に I/O (入出力) エ ラーが発生しました。

歴史

getfh() システムコールは 4.4BSD ではじめて登場しました。

FreeBSD 10.0 April 6, 2004 FreeBSD 10.0

スポンサーリンク