Linux Man на русском

  User    Syst    Libr    Device    Files    Other    Admin  



   setfsent - для работы с записями

setfsent(3) для работы с записями

Other Alias

getfsent, getfsspec, getfsfile, 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.