bionic (3) addmntent.3.gz

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)