.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 21:46:57 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified 961109, 031115, aeb .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getmntent 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ getmntent, setmntent, addmntent, endmntent, hasmntopt, getmntent_r \- возвращают запись из файла описания файловых систем .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP \fB#include \fP .PP \fBFILE *setmntent(const char *\fP\fIfilename\fP\fB, const char *\fP\fItype\fP\fB);\fP .PP \fBstruct mntent *getmntent(FILE *\fP\fIstream\fP\fB);\fP .PP \fBint addmntent(FILE *restrict \fP\fIstream\fP\fB,\fP \fB const struct mntent *restrict \fP\fImnt\fP\fB);\fP .PP \fBint endmntent(FILE *\fP\fIstreamp\fP\fB);\fP .PP \fBchar *hasmntopt(const struct mntent *\fP\fImnt\fP\fB, const char *\fP\fIopt\fP\fB);\fP .PP /* Расширение GNU */ \fB#include \fP .PP \fBstruct mntent *getmntent_r(FILE *restrict \fP\fIstreamp\fP\fB,\fP \fB struct mntent *restrict \fP\fImntbuf\fP\fB,\fP \fB char \fP\fIbuf\fP\fB[restrict .\fP\fIbuflen\fP\fB], int \fP\fIbuflen\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBgetmntent_r\fP(): .nf начиная с glibc 2.19: _DEFAULT_SOURCE в glibc 2.19 и старее: _BSD_SOURCE || _SVID_SOURCE .fi .SH ОПИСАНИЕ Эти функции используются для доступа к файлу описаний файловых систем \fI/etc/fstab\fP и к файлу описаний смонтированных файловых систем \fI/etc/mtab\fP. .PP Функция \fBsetmntent\fP() открывает файл описаний файловых систем \fIfilename\fP и возвращает указатель на файл, который может быть использован \fBgetmntent\fP(). В аргументе \fItype\fP указывается требуемый тип доступа и и могут задаваться те же значения, что и в аргументе \fImode\fP функции \fBfclose\fP(3). Возвращаемый поток должен закрываться с помощью \fBendmntent\fP(), а не \fBfclose\fP(3). .PP Функция \fBgetmntent\fP() считывает следующую строку из файла описаний файловых систем \fIstream\fP и возвращает указатель на структуру, содержащую поля строки файла. Указатель ссылается на статическую область памяти, которая перезаписывается последующими вызовами \fBgetmntent\fP(). .PP Функция \fBaddmntent\fP() добавляет структуру \fImnt\fP типа \fImntent\fP к концу открытого \fIstream\fP. .PP Функция \fBendmntent\fP() закрывает \fIstream\fP, связанный с файл описаний файловых систем. .PP Функция \fBhashmntopt\fP() ищет в полях \fImnt_opts\fP (смотрите ниже) структуры \fImnt\fP типа \fImntent\fP подстроку, совпадающую с \fIopt\fP. Список возможных параметров монтирования приведён в \fI\fP и \fBmount\fP(8). .PP The reentrant \fBgetmntent_r\fP() function is similar to \fBgetmntent\fP(), but stores the \fImntent\fP structure in the provided \fI*mntbuf\fP, and stores the strings pointed to by the entries in that structure in the provided array \fIbuf\fP of size \fIbuflen\fP. .PP Структура \fImntent\fP определена в \fI\fP следующим образом: .PP .in +4n .EX 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 */ }; .EE .in .PP Так как поля в файлах mtab и fstab разделяются пробельными символами, то для их записи в одной из четырёх строках структуры \fImntent\fP используются их экранированные последовательности в восьмеричном коде: пробел (\e040), табуляция (\e011), новая строка (\e012) и обратная косая черта (\e\e). Функции \fBaddmntent\fP() и \fBgetmntent\fP() выполнят преобразование экранированных строк и обратно. При преобразовании из экранированного представления, последовательность \e134 также преобразуется в символ обратной косой черты. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Функции \fBgetmntent\fP() и \fBgetmntent_r\fP() возвращают указатель на структуру типа \fImntent\fP или NULL при ошибке. .PP Функция \fBaddmntent\fP() возвращает 0 при успешном выполнении и 1 при ошибке. .PP Функция \fBendmntent\fP() всегда возвращает 1. .PP Функция \fBhasmntopt\fP() возвращает адрес подстроки, если она была найдена, в противном случае NULL. .SH ФАЙЛЫ .TP \fI/etc/fstab\fP файл описаний файловых систем .TP \fI/etc/mtab\fP файл описаний смонтированных файловых систем .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. Интерфейс Атрибут Значение T{ .na .nh \fBsetmntent\fP(), \fBendmntent\fP(), \fBhasmntopt\fP() T} Безвредность в нитях MT\-Safe T{ .na .nh \fBgetmntent\fP() T} Безвредность в нитях T{ .na .nh MT\-Unsafe race:mntentbuf locale T} T{ .na .nh \fBaddmntent\fP() T} Безвредность в нитях T{ .na .nh MT\-Safe race:stream locale T} T{ .na .nh \fBgetmntent_r\fP() T} Безвредность в нитях MT\-Safe locale .TE .sp 1 .SH СТАНДАРТЫ None. .SH ИСТОРИЯ The nonreentrant functions are from SunOS 4.1.3. A routine \fBgetmntent_r\fP() was introduced in HP\-UX 10, but it returns an \fIint\fP. The prototype shown above is glibc\-only. .PP System V also has a \fBgetmntent\fP() function but the calling sequence differs, and the returned structure is different. Under System V \fI/etc/mnttab\fP is used. 4.4BSD and Digital UNIX have a routine \fB\%getmntinfo\fP(), a wrapper around the system call \fBgetfsstat\fP(). .SH "СМ. ТАКЖЕ" \fBfopen\fP(3), \fBfstab\fP(5), \fBmount\fP(8) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitry Bolkhovskikh , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .