Provided by: manpages-pl-dev_0.7-1_all bug

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).

       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 czterech następujących znaków: spacji ("\040"),
       tabulacji  ("\011"),  nowej  linii  ("\012")  oraz  odwrotnego  ukośnika  ("\134"),  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.

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).

       ┌──────────────┬────────────────────────┬─────────────────────────────────┐
       │InterfejsAtrybutWartość                         │
       ├──────────────┼────────────────────────┼─────────────────────────────────┤
       │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

       Wersje  niewielowątkowe  funkcji  pochodzą  z SunOS 4.1.3. Procedura getmntent_r() została
       dodana w HP-UX 10, ale zwraca  int.  Prototyp  pokazany  powyżej  jest  dostępny  tylko  w
       bibliotece glibc.

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  4.07  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   man  są:  Andrzej
       Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>, Robert Luberda  <robert@debian.org>  i  Michał
       Kułach <michal.kulach@gmail.com>.

       Polskie  tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na
       stronie  http://sourceforge.net/projects/manpages-pl/.  Jest   zgodne   z   wersją    4.07
       oryginału.

                                            2016-03-15                               GETMNTENT(3)