Provided by: manpages-ru-dev_4.23.1-1_all 

ИМЯ
getmntent, setmntent, addmntent, endmntent, hasmntopt, getmntent_r - возвращают запись из файла описания
файловых систем
LIBRARY
Standard C library (libc, -lc)
СИНТАКСИС
#include <stdio.h>
#include <mntent.h>
FILE *setmntent(const char *filename, const char *type);
struct mntent *getmntent(FILE *stream);
int addmntent(FILE *restrict stream,
const struct mntent *restrict mnt);
int endmntent(FILE *streamp);
char *hasmntopt(const struct mntent *mnt, const char *opt);
/* Расширение GNU */
#include <mntent.h>
struct mntent *getmntent_r(FILE *restrict streamp,
struct mntent *restrict mntbuf,
char buf[restrict .buflen], int buflen);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
getmntent_r():
начиная с glibc 2.19:
_DEFAULT_SOURCE
в glibc 2.19 и старее:
_BSD_SOURCE || _SVID_SOURCE
ОПИСАНИЕ
Эти функции используются для доступа к файлу описаний файловых систем /etc/fstab и к файлу описаний
смонтированных файловых систем /etc/mtab.
Функция setmntent() открывает файл описаний файловых систем filename и возвращает указатель на файл,
который может быть использован getmntent(). В аргументе type указывается требуемый тип доступа и и могут
задаваться те же значения, что и в аргументе mode функции fclose(3). Возвращаемый поток должен
закрываться с помощью endmntent(), а не fclose(3).
Функция getmntent() считывает следующую строку из файла описаний файловых систем stream и возвращает
указатель на структуру, содержащую поля строки файла. Указатель ссылается на статическую область памяти,
которая перезаписывается последующими вызовами getmntent().
Функция addmntent() добавляет структуру mnt типа mntent к концу открытого stream.
Функция endmntent() закрывает stream, связанный с файл описаний файловых систем.
Функция hashmntopt() ищет в полях mnt_opts (смотрите ниже) структуры mnt типа mntent подстроку,
совпадающую с opt. Список возможных параметров монтирования приведён в <mntent.h> и mount(8).
The reentrant getmntent_r() function is similar to getmntent(), but stores the mntent structure in the
provided *mntbuf, and stores the strings pointed to by the entries in that structure in the provided
array buf of size buflen.
Структура mntent определена в <mntent.h> следующим образом:
struct mntent {
char *mnt_fsname; /* название смонтированной файловой системы */
char *mnt_dir; /* префикс пути к файловой системе */
char *mnt_type; /* тип монтирования (смотрите mntent.h) */
char *mnt_opts; /* параметры монтирования (смотрите mntent.h) */
int mnt_freq; /* периодичность запуска dump, в днях */
int mnt_passno; /* номер прохода при параллельном fsck */
};
Так как поля в файлах mtab и fstab разделяются пробельными символами, то для их записи в одной из четырёх
строках структуры mntent используются их экранированные последовательности в восьмеричном коде: пробел
(\040), табуляция (\011), новая строка (\012) и обратная косая черта (\\). Функции addmntent() и
getmntent() выполнят преобразование экранированных строк и обратно. При преобразовании из экранированного
представления, последовательность \134 также преобразуется в символ обратной косой черты.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функции getmntent() и getmntent_r() возвращают указатель на структуру типа mntent или NULL при ошибке.
Функция addmntent() возвращает 0 при успешном выполнении и 1 при ошибке.
Функция endmntent() всегда возвращает 1.
Функция hasmntopt() возвращает адрес подстроки, если она была найдена, в противном случае NULL.
ФАЙЛЫ
/etc/fstab
файл описаний файловых систем
/etc/mtab
файл описаний смонтированных файловых систем
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
┌───────────────────────────┬──────────────────────┬────────────────────────────────────────────────────┐
│ Интерфейс │ Атрибут │ Значение │
├───────────────────────────┼──────────────────────┼────────────────────────────────────────────────────┤
│ setmntent(), endmntent(), │ Безвредность в нитях │ MT-Safe │
│ hasmntopt() │ │ │
├───────────────────────────┼──────────────────────┼────────────────────────────────────────────────────┤
│ getmntent() │ Безвредность в нитях │ MT-Unsafe race:mntentbuf locale │
├───────────────────────────┼──────────────────────┼────────────────────────────────────────────────────┤
│ addmntent() │ Безвредность в нитях │ MT-Safe race:stream locale │
├───────────────────────────┼──────────────────────┼────────────────────────────────────────────────────┤
│ getmntent_r() │ Безвредность в нитях │ MT-Safe locale │
└───────────────────────────┴──────────────────────┴────────────────────────────────────────────────────┘
СТАНДАРТЫ
None.
ИСТОРИЯ
The nonreentrant functions are from SunOS 4.1.3. A routine getmntent_r() was introduced in HP-UX 10, but
it returns an int. The prototype shown above is glibc-only.
System V also has a getmntent() function but the calling sequence differs, and the returned structure is
different. Under System V /etc/mnttab is used. 4.4BSD and Digital UNIX have a routine getmntinfo(), a
wrapper around the system call getfsstat().
СМОТРИТЕ ТАКЖЕ
fopen(3), fstab(5), mount(8)
ПЕРЕВОД
Русский перевод этой страницы руководства разработал Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry
Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov
<yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной
лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.
Linux man-pages 6.8 2 мая 2024 г. getmntent(3)