getmntent(3) Library Functions Manual getmntent(3) NAZWA getmntent, setmntent, addmntent, endmntent, hasmntopt, getmntent_r - odczytanie wpisu z pliku deskryptorow systemow plikow BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include #include 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); /* rozszerzenie GNU */ #include struct mntent *getmntent_r(FILE *restrict streamp, struct mntent *restrict mntbuf, char buf[restrict .buflen], int buflen); 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, filename, 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) 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. 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-Unsafe race:mntentbuf | | | | locale | +--------------+--------------------------+----------------------------+ |addmntent() | Bezpieczenstwo watkowe | MT-Safe race:stream locale | +--------------+--------------------------+----------------------------+ |getmntent_r() | Bezpieczenstwo watkowe | MT-bezpieczne locale | +--------------+--------------------------+----------------------------+ STANDARDY None. HISTORIA 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(). ZOBACZ TAKZE fopen(3), fstab(5), mount(8) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: 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.06 31 pazdziernika 2023 r. getmntent(3)