Provided by: manpages-ja-dev_0.5.0.0.20210215+dfsg-1_all
名前
getfsent, getfsspec, getfsfile, setfsent, endfsent - fstab エントリーの処理
書式
#include <fstab.h> void endfsent(void); struct fstab *getfsent(void); struct fstab *getfsfile(const char *mount_point); struct fstab *getfsspec(const char *special_file); int setfsent(void);
説明
これらの関数は /etc/fstab ファイルから情報を読み込む。fstab 構造体は次のように定義されてい る。 struct fstab { char *fs_spec; /* block device name */ char *fs_file; /* mount point */ char *fs_vfstype; /* file-system type */ char *fs_mntops; /* mount options */ const char *fs_type; /* rw/rq/ro/sw/xx option */ int fs_freq; /* dump frequency, in days */ int fs_passno; /* pass number on parallel dump */ }; *BSD システムの場合、 fs_type フィールドには、5 つの文字列 "rw", "rq", "ro", "sw", "xx" の いずれかが入る (それぞれ read-write, quota 付き read-write, read-only, swap, ignore)。 関数 setfsent() は呼び出されると fstab ファイルをオープンし、 最初の行に移動する。 関数 getfsent() は fstab ファイルから次の行をパースする (必要な場合はファイルをオープンす る)。 関数 endfsent() は呼び出されると fstab ファイルをクローズする。 関数 getfsspec() は fstab ファイルを先頭から検索し、 fs_spec フィールドが special_file 引 数にマッチするエントリーが見つかったら、その最初のものを返す。 関数 getfsfile() は fstab ファイルを先頭から検索し、 fs_file フィールドが mount_point 引 数にマッチするエントリーが見つかったら、その最初のものを返す。
返り値
成功すると、 getfsent(), getfsfile(), getfsspec() の各関数は fstab 構造体へのポインターを 返し、 setfsent() 関数は 1 を返す。 失敗するとこれらの関数は NULL を返し、 end-of-file に なったら 0 を返す。
準拠
POSIX.1-2001 にはこれらの関数は存在しない。 これらの関数をもつ OS はいくつかあり、 例えば *BSD, SunOS, Digital UNIX, AIX 等である (AIX には getfstype() もある)。 HP-UX にも同名の 関数群があるが、 HP-UX のものは fstab 構造体ではなく checklist 構造体を用いる。 またこれら の関数の呼び出しは obsolete で、 getmntent(3) に取って代わられている。
注意
これらの関数はスレッドセーフではない。 Linux ではブロックスペシャルデバイスを複数の場所にマウントでき、 また複数のデバイスが同じ マウントポイントを共有できる (この場合はそのマウントポイントに最後にマウントされたデバイス が意味を持つ) が、 getfsfile() と getfsspec() はマッチした最初のエントリーしか返さないの で、 これらの 2 つの関数は Linux での利用には適していない。
関連項目
getmntent(3), fstab(5)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。