getmntent(3) Library Functions Manual getmntent(3) NAZWA getmntent, setmntent, addmntent, endmntent, hasmntopt, getmntent_r - odczytuje wpis z pliku deskryptora systemu plikow BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include #include FILE *setmntent(const char *path, 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); /* rozszerzenie GNU */ #include struct mntent *getmntent_r(int size; FILE *restrict streamp, struct mntent *restrict mntbuf, char buf[restrict size], int size); Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)): getmntent_r(): Od glibc 2.19: _DEFAULT_SOURCE glibc 2.19 i wczesniejsze: _BSD_SOURCE || _SVID_SOURCE OPIS Funkcje te sluza do udostepniania informacji z pliku opisujacego systemy plikow /etc/fstab oraz z pliku opisujacego zamontowane systemy plikow /etc/mtab. Funkcja setmntent() otwiera plik opisujacy systemy plikow, path, i zwraca wskaznik do pliku, ktorym moze sie posluzyc getmntent(). Argument type jest zadanym rodzajem dostepu i moze przyjmowac takie same wartosci, jak argument mode funkcji fopen(3). Zwrocony strumien nalezy zamknac za pomoca endmntent(), a nie za pomoca flose(3). Funkcja getmntent() odczytuje nastepny wiersz pliku opisujacego systemy plikow z stream i zwraca wskaznik do struktury zawierajacej pola powstale z rozlozenia linii pliku. Wskaznik ten jest wskaznikiem do statycznego obszaru pamieci, ktory jest nadpisywany podczas nastepnego wywolania getmntent(). Funkcja addmntent() dodaje strukture mnt typu mntent na koncu otwartego stream. Funkcja endmntent() zamyka stream zwiazany z plikiem opisujacym system plikow. Funkcja hasmntopt() przeglada pole mnt_opts (zobacz ponizej) w mnt typu struktury mntent w poszukiwaniu podlancuchow pasujacych do opt. Prawidlowe opcje montowania opisane sa w i mount(8) Wielodostepowa funkcja getmntent_r() jest podobna do getmntent(), z ta roznica ze przechowuje strukture mntent w przekazanym *mntbuf i przechowuje lancuchy znakow wskazujace na wpisy w tej strukturze w przekazanej tablicy buf o rozmiarze size. Struktura mntent jest zdefiniowana w nastepujaco: struct mntent { char *mnt_fsname; /* nazwa zamontowanego systemu plikow */ char *mnt_dir; /* prefiks sciezki systemu plikow */ char *mnt_type; /* rodzaj montowania (patrz mntent.h) */ char *mnt_opts; /* opcje montowania (patrz mntent.h) */ int mnt_freq; /* czestotliwosc zrzucania w dniach */ int mnt_passno; /* numer przebiegu rownoleglego fsck */ }; Poniewaz pola w plikach mtab i fstab sa rozdzielone bialymi znakami, osemkowe znaki cytowania sa uzywane do reprezentowania nastepujacych znakow: spacji ("\040"), tabulacji ("\011"), nowej linii ("\012") oraz odwrotnego ukosnika ("\\"), jesli wystepuja w jednym z czterech lancuchow w strukturze mntent. Procedury addmntent() i getmntent() skonwertuja normalna reprezentacje lancucha znakow na cytowana i z powrotem. Podczas konwertowania z cytowanej reprezentacji na normalna ciag "\134" takze jest zamieniany na znak odwrotnego ukosnika. WARTOSC ZWRACANA Funkcja getmntent() i getmntent_r() zwracaja wskaznik do struktury mntent albo NULL w przypadku bledu. Funkcja addmntent() zwraca 0 po pomyslnym zakonczeniu, a 1 w przypadku bledu. Funkcja endmntent() zawsze zwraca 1. Funkcja hasmntopt() zwraca adres podlancucha, gdy zostanie on znaleziony, a NULL w przeciwnym przypadku. PLIKI /etc/fstab plik opisujacy systemy plikow /etc/mtab plik opisujacy zamontowane systemy plikow ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +--------------+--------------------------+----------------------------+ |Interfejs | Atrybut | Wartosc | +--------------+--------------------------+----------------------------+ |setmntent(), | Bezpieczenstwo watkowe | MT-bezpieczne | |endmntent(), | | | |hasmntopt() | | | +--------------+--------------------------+----------------------------+ |getmntent() | Bezpieczenstwo watkowe | MT-niebezpieczne | | | | race:mntentbuf locale | +--------------+--------------------------+----------------------------+ |addmntent() | Bezpieczenstwo watkowe | MT-bezpieczne race:stream | | | | locale | +--------------+--------------------------+----------------------------+ |getmntent_r() | Bezpieczenstwo watkowe | MT-bezpieczne locale | +--------------+--------------------------+----------------------------+ STANDARDY Brak. HISTORIA Wersje niewielowatkowe funkcji pochodza z SunOS 4.1.3. Procedura getmntent_r() zostala dodana w HP-UX 10, ale zwraca int. Prototyp pokazany powyzej jest dostepny tylko w bibliotece glibc. System V rowniez zawiera funkcje getmntent(), ale inna jest sekwencja wywolujaca i zwraca ona inna strukture. Pod Systemem V uzywa sie /etc/mnttab. 4.4BSD i Digital UNIX zawieraja funkcje getmntinfo(), otulajaca funkcje systemowa getfsstat(). ZOBACZ TAKZE fopen(3), fstab(5), mount(8) TLUMACZENIE Tlumaczenie niniejszej strony podrecznika: Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.18 8 lutego 2026 r. getmntent(3)