Provided by: manpages-pl-dev_4.13-4_all 

NAZWA
getmntent, setmntent, addmntent, endmntent, hasmntopt, getmntent_r - odczytanie wpisu z pliku
deskryptorów systemów plików
SKŁADNIA
#include <stdio.h>
#include <mntent.h>
FILE *setmntent(const char *filename, const char *type);
struct mntent *getmntent(FILE *stream);
int addmntent(FILE *stream, const struct mntent *mnt);
int endmntent(FILE *streamp);
char *hasmntopt(const struct mntent *mnt, const char *opt);
/* rozszerzenie GNU */
#include <mntent.h>
struct mntent *getmntent_r(FILE *streamp, struct mntent *mntbuf,
char *buf, int buflen);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):
getmntent_r():
Od glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 i wcześniejsze:
_BSD_SOURCE || _SVID_SOURCE
OPIS
Funkcje te służą do udostępniania informacji z pliku opisującego systemy plików /etc/fstab oraz z pliku
opisującego zamontowane systemy plików /etc/mtab.
Funkcja setmntent() otwiera plik opisujący systemy plików, filename, i zwraca wskaźnik do pliku, którym
może się posłużyć getmntent(). Argument type jest żądanym rodzajem dostępu i może przyjmować takie same
wartości, jak argument mode funkcji fopen(3). Zwrócony strumień należy zamknąć za pomocą endmntent(), a
nie za pomocą flose(3).
Funkcja getmntent() odczytuje następny wiersz pliku opisującego systemy plików z stream i zwraca wskaźnik
do struktury zawierającej pola powstałe z rozłożenia linii pliku. Wskaźnik ten jest wskaźnikiem do
statycznego obszaru pamięci, który jest nadpisywany podczas następnego wywołania getmntent().
Funkcja addmntent() dodaje strukturę mnt typu mntent na końcu otwartego stream.
Funkcja endmntent() zamyka stream związany z plikiem opisującym system plików.
Funkcja hasmntopt() przegląda pole mnt_opts (zobacz poniżej) w mnt typu struktury mntent w poszukiwaniu
podłańcuchów pasujących do opt. Prawidłowe opcje montowania opisane są w <mntent.h> i mount(8)
Wielodostępowa funkcja getmntent_r() jest podobna do getmntent(), z tą różnicą że przechowuje struct
mount w przekazanym *mntbuf i przechowuje łańcuchy znaków wskazujące na wpisy w tej strukturze w
przekazanej tablicy buf o rozmiarze buflen.
Struktura mntent jest zdefiniowana w <mntent.h> następująco:
struct mntent {
char *mnt_fsname; /* nazwa zamontowanego systemu plików */
char *mnt_dir; /* prefiks ścieżki systemu plików */
char *mnt_type; /* rodzaj montowania (patrz mntent.h) */
char *mnt_opts; /* opcje montowania (patrz mntent.h) */
int mnt_freq; /* częstotliwość zrzucania w dniach */
int mnt_passno; /* numer przebiegu równoległego fsck */
};
Ponieważ pola w plikach mtab i fstab są rozdzielone białymi znakami, ósemkowe znaki cytowania są używane
do reprezentowania następujących znaków: spacji ("\040"), tabulacji ("\011"), nowej linii ("\012") oraz
odwrotnego ukośnika ("\\"), jeśli występują w jednym z czterech łańcuchów w strukturze mntent. Procedury
addmntent() i getmntent() skonwertują normalną reprezentację łańcucha znaków na cytowaną i z powrotem.
Podczas konwertowania z cytowanej reprezentacji na normalną ciąg "\134" także jest zamieniany na znak
odwrotnego ukośnika.
WARTOŚĆ ZWRACANA
Funkcja getmntent() i getmntent_r() zwracają wskaźnik do struktury mntent albo NULL w przypadku błędu.
Funkcja addmntent() zwraca 0 po pomyślnym zakończeniu, a 1 w przypadku błędu.
Funkcja endmntent() zawsze zwraca 1.
Funkcja hasmntopt() zwraca adres podłańcucha, gdy zostanie on znaleziony, a NULL w przeciwnym przypadku.
PLIKI
/etc/fstab
plik opisujący systemy plików
/etc/mtab
plik opisujący zamontowane systemy plików
ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
┌───────────────┬────────────────────────┬─────────────────────────────────┐
│ Interfejs │ Atrybut │ Wartość │
├───────────────┼────────────────────────┼─────────────────────────────────┤
│ setmntent(), │ Bezpieczeństwo wątkowe │ MT-Safe │
│ endmntent(), │ │ │
│ hasmntopt() │ │ │
├───────────────┼────────────────────────┼─────────────────────────────────┤
│ getmntent() │ Bezpieczeństwo wątkowe │ MT-Unsafe race:mntentbuf locale │
├───────────────┼────────────────────────┼─────────────────────────────────┤
│ addmntent() │ Bezpieczeństwo wątkowe │ MT-Safe race:stream locale │
├───────────────┼────────────────────────┼─────────────────────────────────┤
│ getmntent_r() │ Bezpieczeństwo wątkowe │ MT-Safe locale │
└───────────────┴────────────────────────┴─────────────────────────────────┘
ZGODNE Z
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.
UWAGI
System V również zawiera funkcję getmntent(), ale inna jest sekwencja wywołująca i zwraca ona inną
strukturę. Pod Systemem V używa się /etc/mnttab. 4.4BSD i Digital UNIX zawierają funkcję getmntinfo(),
otulającą funkcję systemową getfsstat().
ZOBACZ TAKŻE
fopen(3), fstab(5), mount(8)
O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux man-pages. Opis projektu, informacje
dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem
https://www.kernel.org/doc/man-pages/.
T◈UMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz
<ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
6 marca 2019 r. GETMNTENT(3)