getmntent, setmntent, addmntent, endmntent, hasmntopt − Lesen des Dateieintrages des Dateisystemdeskriptors
#include <stdio.h>
#include <mntent.h>
FILE *setmntent(const char *filep, const char *type);
struct mntent *getmntent(FILE *filep);
int addmntent(FILE *filep, const struct mntent *mnt);
int endmntent(FILE *filep);
char *hasmntopt(const struct mntent *mnt, const char *opt);
Diese Routinen werden benutzt, um auf die Dateien /etc/fstab, die die Liste der Dateisysteme enthält und die Datei /etc/mtab, die die Liste der zurzeit gemounteten Dateisysteme enthält, zuzugreifen.
Die setmntent()-Funktion öffnet die Dateisystembeschreibungsdatei filep und liefert einen Dateizeiger zurück, der von getmntent() benutzt werden kann. Das Argument type ist die Art des benötigten Zugriffs und kann die selben Werte annehmen wie das mode-Argument von fopen(3).
Die getmntent()-Funktion liest die nächste Zeile von der Dateisystembeschreibungsdatei filep und liefert einen Zeiger auf Struktur zurück, die die einzelnen Felder der gelesenen Zeile enthält. Der Zeiger zeigt auf einen statischen Speicherbereich, der von den folgenden getmntent()-Aufrufen wieder überschrieben wird.
Die addmntent()-Funktion fügt die mntent-Struktur mnt an das Ende der offenen Datei filep.
Die endmntent()-Funktion schließt die Dateisystembeschreibungsdatei filep.
Die hasmntopt()-Funktion durchsucht das mnt_opts-Feld (siehe unten) der mntent-Struktur mnt nach einem Teilstring der auf mnt passt. Gültige mount-Optionen sind unter <mntent.h> zu finden.
Die mntent-Struktur ist in <mntent.h> folgendermaßen definiert:
struct mntent {
char |
|||
*mnt_fsname; |
/* Name des gemounteten Dateisystems */ |
||
char |
|||
*mnt_dir; |
/* Dateisystempfadprefix */ |
||
char |
|||
*mnt_type; |
/* Mounttyp (siehe mntent.h) */ |
||
char |
|||
*mnt_opts; |
/* Mount Optionen (siehe mntent.h) */ |
||
int |
|||
mnt_freq; |
/* Dumphäufigkeit in Tagen */ |
||
int |
|||
mnt_passno; |
/* Durchgangsnummer beim parallelen fsck */ |
};
Die getmntent()-Funktion liefert einen Pointer auf eine mntent-Struktur zurück oder NULL bei einem Fehler.
Die addmntent()-Funktion liefert bei Erfolg eine 0 zurück, bei einem Fehler dagegen eine 1.
Die endmntent()-Funktion liefert immer eine 1 zurück.
Die hasmntopt()-Funktion liefert die Adresse des Substrings oder NULL wenn er nicht gefunden werden konnte.
/etc/fstab
Dateisystembeschreibungsdatei /etc/mtab Enthält Liste der z.Zt. gemounteten Filesysteme
BSD 4.3