getmntent(3) Library Functions Manual getmntent(3) BEZEICHNUNG getmntent, setmntent, addmntent, endmntent, hasmntopt - Lesen des Eintrags in der Dateisystem-Beschreibungsdatei BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include #include FILE *setmntent(const char *dateiname, const char *typ); struct mntent *getmntent(FILE *datenstrom); int addmntent(FILE *restrict datenstrom, const struct mntent *restrict mnt); int endmntent(FILE *datenstromz); char *hasmntopt(const struct mntent *mnt, const char *opt); /* GNU-Erweiterung */ #include struct mntent *getmntent_r(FILE *restrict datenstromz, struct mntent *restrict mntbuf, char puf[restrict .puflange], int puflange); Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)): getmntent_r(): Seit Glibc 2.19: _DEFAULT_SOURCE Glibc 2.19 und alter: _BSD_SOURCE || _SVID_SOURCE BESCHREIBUNG Diese Routinen werden benutzt, um auf die Dateien /etc/fstab und /etc/mtab zuzugreifen. Erstere beschreibt die Dateisysteme, letztere die aktuell eingehangten Dateisysteme. Die Funktion setmntent() offnet die Dateisystem-Beschreibungsdatei dateiname und liefert einen Dateizeiger zuruck, der von getmntent() benutzt werden kann. Das Argument typ ist die Art des benotigten Zugriffs und kann dieselben Werte annehmen wie das mode-Argument von fopen(3). Der zuruckgelieferte Datenstrom sollte mittels endmntent() statt fclose(3) geschlossen werden. Die Funktion getmntent() liest die nachste Zeile der Dateisystem-Beschreibungsdatei aus datenstrom und liefert einen Zeiger auf eine Struktur zuruck, welche die einzelnen Felder der gelesenen Zeile enthalt. Der Zeiger weist zu einem statischen Speicherbereich, der von den folgenden Aufrufen von getmntent() wieder uberschrieben wird. Die Funktion addmntent() fugt die mntent-Struktur an das Ende des offenen datenstrom an. Die Funktion endmntent() schliesst den mit der Dateisystemdeskriptorendatei assoziierten datenstrom. Die Funktion hasmntopt() durchsucht das Feld mnt_opts (siehe unten) der mntent-Struktur mnt nach einer Teilzeichenkette, die zu opt passt. Gultige Optionen finden Sie unter und in mount(8). Die ablaufinvariante Funktion getmntent_r() ahnelt getmntent(), speichert aber die Struktur mntent im bereitgestellten *mntbuf und die Zeichenketten, auf welche die Eintrage in dieser Struktur zeigen, im Feld puf der Grosse puflange. Die Struktur mntent wird in wie folgt definiert: struct mntent { char *mnt_fsname; /* Name des eingehangten Dateisystems */ char *mnt_dir; /* Prafix des Dateisystempfads */ char *mnt_type; /* Typ des Dateisystems (siehe mntent.h) */ char *mnt_opts; /* Mount-Optionen (siehe mntent.h) */ int mnt_freq; /* Dump-Haufigkeit in Tagen */ int mnt_passno; /* Durchgangsnummer beim parallelen fsck */ }; Da die Felder in den Dateien mtab und fstab durch Leerraume getrennt sind, werden oktale Maskierungszeichen verwendet, um die Zeichen Leerzeichen (\040), Tabulator (\011), Zeilenumbruch (\012) und Ruckwartsschragstrich (\\) in diesen Dateien darzustellen, wenn sie in einer der vier Zeichenketten in einer mntent-Struktur auftreten. Die Routinen addmntent() und getmntent() wandeln die Darstellung der Zeichenketten mit und ohne Maskierungszeichen ineinander um. Beim Umwandeln aus der maskierten Darstellung wird die Sequenz \134 auch in einen Ruckwartsschragstrich umgewandelt. RUCKGABEWERT Die Funktionen getmntent() und getmntent_r() geben einen Zeiger auf die mntent-Struktur zuruck oder NULL bei einem Fehler. Die Funktion addmntent() liefert bei Erfolg eine 0 zuruck, bei einem Fehler dagegen eine 1. Die Funktion endmntent() liefert immer eine 1 zuruck. Die Funktion hasmntopt() liefert die Adresse der Teilzeichenkette zuruck, wenn eine Entsprechung gefunden wurde; ansonsten NULL. DATEIEN /etc/fstab Dateisystembeschreibungsdatei /etc/mtab Beschreibungsdatei eingehangter Dateisysteme ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------+-------------------------+-----------------------------+ |Schnittstelle | Attribut | Wert | +--------------+-------------------------+-----------------------------+ |setmntent(), | Multithread-Fahigkeit | MT-Sicher | |endmntent(), | | | |hasmntopt() | | | +--------------+-------------------------+-----------------------------+ |getmntent() | Multithread-Fahigkeit | MT-Unsicher race:mntentbuf | | | | locale | +--------------+-------------------------+-----------------------------+ |addmntent() | Multithread-Fahigkeit | MT-Sicher race:stream | | | | locale | +--------------+-------------------------+-----------------------------+ |getmntent_r() | Multithread-Fahigkeit | MT-Sicher locale | +--------------+-------------------------+-----------------------------+ STANDARDS Keine. GESCHICHTE Die nicht ablaufinvarianten Funktionen stammen aus SunOS 4.1.3. Eine Routine getmntent_r() wurde in HP-UX 10 eingefuhrt, aber sie gibt einen int zuruck. Den oben erwahnten Prototyp gibt es nur in der Glibc. Auch System V verfugt uber eine getmntent()-Funktion, aber die Aufrufreihenfolge und die zuruckgegebene Struktur sind anders. Unter System V wird /etc/mnttab verwendet. In 4.4BSD und Digital UNIX gibt es eine Routine getmntinfo(), einen Wrapper um den Systemaufruf getfsstat(). SIEHE AUCH fopen(3), fstab(5), mount(8) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 getmntent(3)