getfsent, getfsspec, getfsfile, setfsent, endfsent - обработка записей fstab
НАЗВАНИЕgetfsent, getfsspec, getfsfile, setfsent, endfsent -
обработка записей fstab
СИНТАКСИС
#include
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. Структура struct
fstab определена следующи образом
struct fstab {
char *fs_spec; /* номер блочного устройства */
char *fs_file; /* точка монтирования */
char *fs_vfstype; /* тип файлововй системы */
char *fs_mntops; /* опции монтирования */
const char *fs_type; /* опции rw/rq/ro/sw/xx */
int fs_freq; /* частота запуска dump, в днях */
int fs_passno; /* номер прохода при параллельном dump */
};
Поле fs_type (на системах *BSD) содержит одну из пяти
строк "rw", "rq", "ro", "sw", "xx" (чтение-запись,
чтение-запись с квотами, только чтение, подкачка,
игнорирование).
Функция setfsent() открывает файл и устанавливает
указатель на первую строку.
Функция getfsent() обрабатывает следующую строку из файла.
(Открыв файл, если требуется.)
Функция endfsent() закрывает файл.
Функция getfsspec() ищет с начала файла запись, для
которой поле fs_spec соответствует аргументу special_file,
и возвращает ее.
Функция getfsfile() ищет с начала файла запись, для
которой поле fs_file соответсвует аргументу mount_point, и
возвращает ее.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При удачном завершении функции getfsent(), getfsfile(), и
getfsspec() возвращают указатель на структуру struct
fstab, а setfsent() возвращает 1. При ошибке или
обнаружении конца файла эти функции возвращают
соответственно NULL или 0.
ПРЕДЫСТОРИЯ
Функция getfsent() появилась в 4.0BSD; остальные 4 функции
появились в 4.3BSD.
СООТВЕТСТВИЕ СТАНДАРТАМ
Эти функции не включены в POSIX. Ряд операционных систем
имеют их, например *BSD, SunOS, Digital Unix, AIX (в
котором также есть getfstype()). В HP-UX есть функции с
тем же именем, но вместо стуруктуры struct fstab они
используют структуру struct checklist, вызовы этих функций
устарели, они заменены на getmntent(3).
ЗАМЕЧАНИЯ
Эти функции небезопасны с точки зрения подпроцессов.
Так как Linux позволяет монтрировать специальное блочное
устройство в несколько мест, а также так как несколько
устройств может иметь одну точку монтирования, то неясно,
будет ли результат (первая запись), возвращенный функциями
getfsfile() и getfsspec() тем, который ожидался. Поэтому
эти две функции не подходят для использования под Linux.