GETFSENT(3) | FreeBSD Library Functions Manual | GETFSENT(3) |
名称
getfsent, getfsspec, getfsfile, setfsent, endfsent — ファイルシステム記述ファイルのエントリを取得するライブラリ
Standard C Library (libc, -lc)書式
#include < fstab.h> struct fstab *
getfsent( void);
struct fstab *
getfsspec( const char *spec);
struct fstab *
getfsfile( const char *file);
int
setfsent( void);
void
endfsent( void);
void
setfstab( const char *file);
const char *
getfstab( void);
解説
getfsent(), getfsspec() および getfsfile() 関数はそれぞれ、次に示す構造体のオブジェクトのポインタを返します。構造体には、ファイルシステム記述ファイル < fstab.h> にある行の内訳フィールドが含まれます。
struct fstab { char *fs_spec; /* ブロック特殊デバイス名 */ char *fs_file; /* ファイルシステムのパス プレフィックス */ char *fs_vfstype; /* ファイルシステムのタイプ, ufs, nfs */ char *fs_mntops; /* マウントオプション -o */ char *fs_type; /* fs_mntops からの FSTAB_* */ int fs_freq; /* ダンプ頻度, 昼間 */ int fs_passno; /* パラレル fsck のパス番号 */ };
これらのフィールドは、 fstab(5) に記述された意味を持ちます。
setfsent() 関数はファイルをオープンします (前にオープンされていたほかのファイルはクローズされます)。または、目的のファイルがすでにオープンされていたならリワインドします。
endfsent() 関数はファイルをクローズします。
setfstab() 関数はファイルをその後の操作で使用されるように設定します。 setfstab() によって設定された値は endfsent() への呼び出しにわたって存続されません。
getfstab() 関数は使用されるファイルの名前を返します。
getfsspec() および getfsfile() 関数は、マッチする特殊ファイル名やファイルシステムファイル名の (必要ならばそれをオープンして) ファイル全体を検索します。
データベース全体を読み込むプログラムの場合、 getfsent() は (必要ならばファイルをオープンして) 次のエントリを読み込みます。
FSTAB_XX と等価なタイプフィールドを持つファイルの全てのエントリは無視されます。
戻り値
getfsent(), getfsspec(), および getfsfile() 関数は、 EOF またはエラーで NULL ポインタを返します。 setfsent() 関数は失敗した場合 0 を、成功した場合は 1 を返します。 endfsent() 関数の戻り値はありません。環境変数
- PATH_FSTAB
- 環境変数 PATH_FSTAB が設定されるなら、すべての操作は指定されたファイルに対して実行されます。プロセス環境かメモリアドレス空間が“悪化した”と考えられるなら、 PATH_FSTAB は有効に受け取られません。 (詳しい情報に関しては issetugid(2) を参照いください。)
関連ファイル
- /etc/fstab
関連項目
fstab(5)歴史
getfsent() 関数は、 4.0BSD で登場しました。 endfsent(), getfsfile(), getfsspec() と setfsent() 関数は、 4.3BSD で登場し、 setfstab() と getfstab() 関数は、 FreeBSD 5.1 で登場しました。バグ
これらの関数は静的データ記憶域を使用します。データが後で必要になる場合は、以後の呼び出しで上書きする前にコピーすべきです。April 7, 2003 | FreeBSD |