スポンサーリンク

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

名称

fhopen, fhstat, fhstatfs − ファイルハンドルによるファイルアクセス

ライブラリ

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

書式

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

int

fhopen(const fhandle_t *fhp, int flags);

int

fhstat(const fhandle_t *fhp, struct stat *sb);

int

fhstatfs(const fhandle_t *fhp, struct statfs *buf);

解説

これらのシステムコールはファイルハンドル fhp で渡されたファイルにアクセス する手段を提供します。この方法はディレクトリのアクセス制限をバイパスする ので、これらのシステムコールの使用はスーパユーザに限定されています。

fhopen() システムコールは fhp が参照するファイルを flags で指定にしたがっ て読取り/書込み/読み書き用にオープンし、呼び出したプロセスにファイル記述 子を返します。 flags 引数は、 open(2) システムコールで使われる各種フラグ の or をとって指定します。ただし、フラグのうち O_CREAT は使えません。

fhstat() と fhstatfs() システムコールはオープンされたファイルではなく、 fhp によって指し示されたファイルの情報を返すことを除いて fstat(2)fstatfs(2) 呼び出しと同等の機能を提供します。

戻り値

処理が正常に完了すると、 fhopen() はオープンされたファイルの記述子を返し ます。そうでない場合は -1 が返され、エラーを示すために errno が設定されま す。

関数 fhstat() および fhstatfs() は、処理が成功すると値 0 を返します。そう でない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示し ます。

エラー

open(2), fstat(2), fstatfs(2) のそれぞれの返すエラーに加えて fhopen(), fhstat(), fhstatfs() は次のエラーを返します:

       [EINVAL]

fhopen() が O_CREAT をセットされて呼び出されました。

[ESTALE]
ファイルハンドル fhp はもう有効ではありません。

関連項目

fstat(2), fstatfs(2), getfh(2), open(2)

歴史

関数 fhopen(), fhstat(), および fhstatfs() システムコールは NetBSD 1.5 で はじめて登場しました。 Alfred Perlstein が FreeBSD 4.0 に移植しました。

作者

このマニュアルページは William Studenmund によって NetBSD 用に書かれまし た。

FreeBSD 10.0 June 29, 1999 FreeBSD 10.0

スポンサーリンク