GETMNTENT(3)

NAZWA
getmntent, setmntent, addmntent, endmntent, hasmntopt - 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 *filep);

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

int endmntent(FILE *filep);

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

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, filep, 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 filep, opisującego systemy plików i zwraca wskaźnik do struktury zawierajacej 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ę mntent mnt na końcu otwartego pliku filep.

Funkcja endmntent() zamyka plik filep, opisujący systemy plików.

Funkcja hasmntopt() przegląda pole mnt_opts (zobacz poniżej) struktury mntent mnt w poszukiwaniu podłańcuchów pasujących do opt. Prawidłowe opcje montowania opisane są w <mntent.h>.

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
    			   (zobacz mntent.h) */
    	char	*mnt_opts;	/* opcje montowania
    			   (zobacz mntent.h) */
    	int	mnt_freq;	/* częstotliwość zrzucania
    			   w dniach */
    	int	mnt_passno;	/* numer przebiegu dla fsck */
    };

WARTOŚĆ ZWRACANA
Funkcja getmntent() zwraca 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
SunOS 4.1.3.

UWAGI
SysV również zawiera funkcję getmntent(), ale inna jest sekwencja wywołująca i zwraca ona inną strukturę. Pod SysV używa się /etc/mnttab. BSD 4.4 i Digital Unix zawierają funkcję getmntinfo(), otulającą funkcję systemową getfsstat().

ZOBACZ TAKŻE
fopen(3), fstab(5)