GETFSENT(3)

名称
getfsent, getfsspec, getfsfile, setfsent, endfsent - ファイルシステム記述ファイルのエントリを取得

書式
#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)

解説
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() 関数はファイルをクローズします。

getfsspec() および getfsfile() 関数は、目的のファイルで(必要ならばそれをオープンして)、適合する特殊ファ イル名またはシステムファイル名を検索します。

データベース全体を読み込むプログラムの場合、 getfsent() は次のエントリを(必要ならば目的のファイルをオープンして)読み込みます。

FSTAB_XX と等価のタイプフィールドを持つファイルの、エントリはすべて無視されます。

戻り値
getfsent(), getfsspec(), および getfsfile() 関数は、 EOF またはエラーで NULL ポインタを返します。 setfsent() 関数は失敗した場合 0を、成功した場合は 1を返します。 endfsent() 関数の戻り値はありません。

関連ファイル
/etc/fstab

関連項目
fstab(5)

歴史
getfsent() 関数は 4.0BSD で最初に取り入れられました。 endfsent(), getfsfile(), getfsspec() および setfsent() 関数は 4.3BSD で最初に登場しました。

バグ
これらの関数は静的データ記憶域を使用します。データが後で必要になる場合は、 以後の呼び出しで上書きする前に、コピーして保存する必要があります。