GETFSENT

Section: Linux Programmer's Manual (3)
Updated: 2002-02-28
IndexJM Home Page
 

名前

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; char *fs_file; char *fs_vfstype; char *fs_mntops; const char *fs_type; int fs_freq; int fs_passno;
};

*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/ に書かれている。


関連キーワード

fstab,char,GETFSENT,file,getfsspec,getfsfile,マウント,エントリー,struct,getfsent 

Index

名前
書式
説明
返り値
準拠
注意
関連項目
この文書について

This document was created byman2html, using the manual pages.
Time: 20:43:05 GMT, August 08, 2017