getmntent(3)

NUME
getmntent, setmntent, addmntent, endmntent, hasmntopt, getmntent_r - obțin intrarea fișierului descriptor al sistemului de fișiere

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <stdio.h>
#include <mntent.h>

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

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

struct mntent *getmntent_r(FILE *restrict streamp,
              struct mntent *restrict mntbuf,
              char buf[restrict .size], int size);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

getmntent_r():
    Începând cu glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 și versiunile anterioare:
        _BSD_SOURCE || _SVID_SOURCE

DESCRIERE
Aceste rutine sunt folosite pentru a accesa fișierul de descriere a sistemului de fișiere /etc/fstab și fișierul de descriere a sistemului de fișiere montat /etc/mtab.

Funcția setmntent() deschide fișierul de descriere a sistemului de fișiere filename și returnează un indicator de fișier care poate fi folosit de getmntent(). Argumentul type este tipul de acces necesar și poate lua aceleași valori ca și argumentul mode al lui fopen(3). Fluxul returnat ar trebui să fie închis folosind endmntent() mai degrabă decât fclose(3).

Funcția getmntent() citește următoarea linie a fișierului de descriere a sistemului de fișiere din stream și returnează un indicator către o structură care conține câmpurile defalcate dintr-o linie a fișierului. Indicatorul indică o zonă statică a memoriei care este suprascrisă de apelurile ulterioare la getmntent().

Funcția addmntent() adaugă structura mntent mnt la sfârșitul fluxului stream deschis.

Funcția endmntent() închide fluxul stream asociat cu fișierul de descriere a sistemului de fișiere.

Funcția hasmntopt() scanează câmpul mnt_opts (a se vedea mai jos) al structurii mntent mnt pentru un subșir care se potrivește cu opt. Consultați <mntent.h> și mount(8) pentru opțiuni de montare valide.

Funcția reentrată getmntent_r() este similară cu getmntent(), dar stochează structura mntent în *mntbuf furnizată și stochează șirurile la care indică intrările din acea structură în matricea buf furnizată de dimensiunea size.

Structura mntent este definită în <mntent.h> după cum urmează:

    struct mntent {
        char *mnt_fsname;   /* numele sistemului de fișiere montat */
        char *mnt_dir;      /* prefixul rutei sistemului de fișiere */
        char *mnt_type;     /* tipul montării (a se vedea mntent.h) */
        char *mnt_opts;     /* opțiuni de montare (a se vedea mntent.h) */
        int   mnt_freq;     /* frecvența de descărcare în zile */
        int   mnt_passno;   /* numărul de ordine a trecerii în paralel a «fsck» */
    };

Deoarece câmpurile din fișierele mtab și fstab sunt separate prin spații albe, eludările octale sunt folosite pentru a reprezenta spațiul de caractere (\040), tabulatorul (\011), linia nouă (\012) și bara oblică inversă (\\) din acele fișiere, când apar într-unul din cele patru șiruri dintr-o structură mntent. Rutinele addmntent() și getmntent() vor converti de la reprezentare șir la reprezentare eludare și invers. La conversia din reprezentarea eludare, secvența \134 este, de asemenea, convertită într-o bară oblică inversă.

VALOAREA RETURNATĂ
Funcțiile getmntent() și getmntent_r() returnează un indicator către structura mntent sau NULL în caz de eșec.

Funcția addmntent() returnează 0 în caz de succes și 1 în caz de eșec.

Funcția endmntent() returnează întotdeauna 1.

Funcția hasmntopt() returnează adresa subșirului dacă este găsită o potrivire și NULL în caz contrar.

FIȘIERE

/etc/fstab
    fișierul de descriere a sistemului de fișiere

/etc/mtab
    fișierul de descriere a sistemului de fișiere montat

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
setmntent(), endmntent(), hasmntopt() | Siguranța firelor | MT-Safe
getmntent() | Siguranța firelor | MT-Unsafe race:mntentbuf locale
addmntent() | Siguranța firelor | MT-Safe race:stream locale
getmntent_r() | Siguranța firelor | MT-Safe locale

STANDARDE
Niciunul.

ISTORIC
Funcțiile non-reentrante sunt din SunOS 4.1.3. O rutină getmntent_r() a fost introdusă în HP-UX 10, dar returnează un int. Prototipul prezentat mai sus este doar pentru glibc.

Sistem V are de asemenea o funcție getmntent(), dar secvența de apelare diferă, iar structura returnată este diferită. Sub System V se folosește /etc/mnttab. 4.4BSD și Digital UNIX au o rutină getmntinfo(), o funcție de învăluire în jurul apelului de sistem getfsstat().

CONSULTAȚI ȘI
fopen(3), fstab(5), mount(8)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.