EN JA
GETFSENT(3)
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