GETFH(2)

名称
getfh, lgetfh - ファイルハンドルを得る

ライブラリ
libc

書式
<sys/param.h> <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() はそのリンクが参照するファイルについての情報を返します。 これらのシステムコールはスーパユーザに限定されます。

戻り値

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

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

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

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

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

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

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

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

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