STATFS(2)

NAME
statfs, fstatfs - hole Dateisystemstatistiken

ÜBERSICHT
#include <sys/vfs.h>

int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);

BESCHREIBUNG
gibt Informationen über ein aufgesetztes Dateisystem zurück. Path ist der Pfadname einer Datei in dem aufgesetzten Dateisystem. Buf ist ein Zeiger auf eine Struktur statfs, die wie folgt definiert ist:
    struct statfs {
       long    f_type;     /* Typ des Dateisystems (siehe unten) */
       long    f_bsize;    /* optimale Übertragungsblockgröße */
       long    f_blocks;   /* gesammte Datenblöcke im Dateisystem */
       long    f_bfree;    /* freie Blöcke im Dateisystem */
       long    f_bavail;   /* freie Blöcke verfügbar für nicht-Superuser */
       long    f_files;    /* gesammte I-Nodes im Dateisystem */
       long    f_ffree;    /* freie I-Nodes im Dateisystem */
       fsid_t  f_fsid;     /* Dateisystemkennung */
       long    f_namelen;  /* maximale Dateinamenlänge */
       long    f_spare[6]; /* Reserve */
    };
    Dateisystemtypen:
    linux/ext2_fs.h:  EXT2_OLD_SUPER_MAGIC  0xEF51
    linux/ext2_fs.h:  EXT2_SUPER_MAGIC      0xEF53
    linux/ext_fs.h:   EXT_SUPER_MAGIC       0x137D
    linux/iso_fs.h:   ISOFS_SUPER_MAGIC     0x9660
    linux/minix_fs.h: MINIX_SUPER_MAGIC     0x137F /* orig. minix */
    linux/minix_fs.h: MINIX_SUPER_MAGIC2    0x138F /* 30 Zeichen minix */
    linux/minix_fs.h: NEW_MINIX_SUPER_MAGIC 0x2468 /* minix V2 */
    linux/msdos_fs.h: MSDOS_SUPER_MAGIC     0x4d44
    linux/nfs_fs.h:   NFS_SUPER_MAGIC       0x6969
    linux/proc_fs.h:  PROC_SUPER_MAGIC      0x9fa0
    linux/xia_fs.h:   _XIAFS_SUPER_MAGIC    0x012FD16D

Felder, die für ein bestimmtes Dateisystem nicht definiert sind, sind auf -1 gesetzt. Fstatfs gibt die gleichen Informationen über eine offene Datei zurück, die über den Deskriptor fd definiert ist.

RÜCKGABEWERT
Bei Erfolg wird Null zurückgegeben. Im Fehlerfall wird -1 zurückgegeben und errno entsprechend gesetzt.

FEHLER
Für statfs:

ENOTDIR
    Eine Komponente des Pfadpräfixes von Path ist kein Verzeichnis.

EINVAL
    path enthält ein Zeichen mit dem hochwerten Bit gesetzt (z.B. Umlaute).

ENAMETOOLONG
    Die Länge eine Komponente von path überschreitet 255 Zeichen, oder die Gesamtlänge von path überschreitet 1023 Zeichen. [Sind diese Werte korrekt für Linux??]

ENOENT
    Die Datei, auf die sich path bezieht, existiert nicht.

EACCES
    Sucheberechtigung existiert für eine Komponente des Pfadpräfixes von path nicht.

ELOOP
    Zu viele symbolische Links traten auf bei der Übersetzung von path.

EFAULT
    Buf oder path zeigt auf eine ungültige Adresse.

EIO Ein E/A-Fehler trat auf während des Lesens von oder des Schreibens auf das Dateisystem.

Für fstatfs:

EBADF
    Fd ist kein gültiger Dateideskriptor.

EFAULT
    Buf zeigt auf eine ungültige Adresse.

EIO Ein E/A-Fehler trat auf während des Lesens von oder des Schreibens auf das Dateisystem.

SIEHE AUCH
stat(2).