Provided by: manpages-pl-dev_0.6-2_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 *fp);

       int addmntent(FILE *fp, const struct mntent *mnt);

       int endmntent(FILE *fp);

       char *hasmntopt(const struct mntent *mnt, const char *opt);

       /* rozszerzenie GNU */
       #include <mntent.h>

       struct mntent *getmntent_r(FILE *fp, struct mntent *mntbuf,
                                  char *buf, int buflen);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       getmntent_r(): _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ępną  linię  z pliku fp, opisującego systemy plików 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 pliku fp.

       Funkcja endmntent() zamyka plik fp, opisujący systemy 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

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  3.71  projektu  Linux  man-pages.  Opis
       projektu,  informacje  dotyczące  zgłaszania błędów, oraz najnowszą wersję oryginału można
       znaleźć pod adresem http://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> i Robert Luberda <robert@debian.org>.

       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ą    3.71
       oryginału.

                                            2009-09-15                               GETMNTENT(3)