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

ИМЯ

       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)