Other Alias
getfsspec, getfsfile, setfsent, endfsentОБЗОР
#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. Структура 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.АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).Интерфейс | Атрибут | Значение |
endfsent(),
setfsent() | безвредность в нитях | небезопасно (MT-Unsafe race:fsent) |
getfsent(),
getfsspec(), getfsfile() | безвредность в нитях | небезопасно (MT-Unsafe race:fsent locale) |
СООТВЕТСТВИЕ СТАНДАРТАМ
Эти функции не включены в POSIX.1. Они имеются в некоторых операционных системах, например *BSD, SunOS, Digital UNIX, AIX (в котором также есть getfstype()). В HP-UX есть функции с тем же именем, но вместо структуры struct fstab они используют структуру struct checklist, и вызовы этих функций устарели, они заменены на getmntent(3).ЗАМЕЧАНИЯ
Эти функции нельзя использовать в нескольких нитях одновременно.Так как Linux позволяет монтировать специальное блочное устройство в несколько разных точек, а также так как несколько устройств могут иметь одну точку монтирования, то неясно, будет ли результат (первая запись), возвращенный функциями getfsfile() и getfsspec() именно тем, что и ожидался. Поэтому эти две функции не подходят для использования под Linux.