Seth Woolley's Man Viewer

statfs(2) - fstatfs, statfs, fstatfs, statfs - Obtenir des statistiques sur le système de fichiers - man 2 statfs

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

STATFS(2)                 Manuel du programmeur Linux                STATFS(2)



NOM
       statfs, fstatfs - Obtenir des statistiques sur le système de fichiers.

SYNOPSIS
       #include <sys/vfs.h>

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

DESCRIPTION
       statfs renvoie des informations à propos  d'un  système  de  fichiers
       monté.   path  est  le nom d'un fichier quelconque dans le système de
       fichiers.  buf est un pointeur sur une structure statfs définie  comme
       suit :

              struct statfs {
                 long    f_type;     /* type de système de fichier        */
                 long    f_bsize;    /* Taille optimale de bloc           */
                 long    f_blocks;   /* Nombre total de blocs             */
                 long    f_bfree;    /* Blocs libres                      */
                 long    f_bavail;   /* Blocs libres pour utilisateurs    */
                 long    f_files;    /* Nombres de noeuds                 */
                 long    f_ffree;    /* Nombre de noeuds libres           */
                 fsid_t  f_fsid;     /* ID du système de fichiers         */
                 long    f_namelen;  /* Longueur maxi des noms de fichier */
                 long    f_spare[6]; /* réservé pour usage ultérieur      */
              };

              Types de systèmes de fichiers :

              linux/adfs_fs.h:
                 ADFS_SUPER_MAGIC       0xadf5
              linux/affs_fs.h:
                 AFFS_SUPER_MAGIC       0xADFF
              linux/coda_psdev.h
                 CODA_SUPER_MAGIC       0x73757245
              linux/devfs_fs_kernel.h
                 DEVFS_SUPER_MAGIC      0x1373
              linux/efs_fs.h:
                 EFS_SUPER_MAGIC        0x00414A53
              linux/ext_fs.h:
                 EXT_SUPER_MAGIC        0x137D
              linux/ext2_fs.h:
                 EXT2_OLD_SUPER_MAGIC   0xEF51
                 EXT2_SUPER_MAGIC       0xEF53
              linux/ext3_fs.h
                 EXT3_SUPER_MAGIC       0xEF53
              linux/hpfs_fs.h:
                 HPFS_SUPER_MAGIC       0xF995E849
              linux/iso_fs.h:
                 ISOFS_SUPER_MAGIC      0x9660
              linux/jffs2.h
                 JFFS2_SUPER_MAGIC      0x72b6
              linux/minix_fs.h:
                 MINIX_SUPER_MAGIC      0x137F  /* Minix original   */
                 MINIX_SUPER_MAGIC2     0x138F  /* Minix 30 caract. */
                 MINIX2_SUPER_MAGIC     0x2468  /* Minix V2         */
                 MINIX2_SUPER_MAGIC2    0x2478  /* Minix V2 30 car. */
              linux/msdos_fs.h:
                 MSDOS_SUPER_MAGIC      0x4d44
              linux/ncp_fs.h:
                 NCP_SUPER_MAGIC        0x564c
              linux/nfs_fs.h:
                 NFS_SUPER_MAGIC        0x6969
              linux/openprom_fs.h
                 OPENPROM_SUPER_MAGIC   0x9fa1
              linux/proc_fs.h:
                 PROC_SUPER_MAGIC       0x9fa0
              linux/qnx4_fs.h
                 QNX4_SUPER_MAGIC       0x002f
              linux/reiserfs_fs.h
                 REISERFS_SUPER_MAGIC   0x52654973
              linux/smb_fs.h:
                 SMB_SUPER_MAGIC        0x517B
              linux/sysv_fs.h:
                 XENIX_SUPER_MAGIC      0x012FF7B4
                 SYSV4_SUPER_MAGIC      0x012FF7B5
                 SYSV2_SUPER_MAGIC      0x012FF7B6
                 COH_SUPER_MAGIC        0x012FF7B7
              linux/ufs_fs.h:
                 UFS_MAGIC              0x00011954
              linux/usbdevice_fs.h
                 USBDEVICE_SUPER_MAGIC  0x9fa2
              linux/xfs_fs.h:
                 XFS_SUPER_MAGIC        0x58465342
              linux/xia_fs.h:
                 _XIAFS_SUPER_MAGIC     0x012FD16D

       Personne  ne sait ce que f_fsid est supposé contenir (voir plus loin).

       Les champs indéfinis pour un système de fichiers donné sont  mis  Ã
       0.   fstatfs  renvoie  les  mêmes  informations  concernant un fichier
       ouvert référencé par fd.

VALEUR RENVOYÃE
       statfs et fstatfs renvoient zéro s'ils réussissent.  En cas  d'échec
       -1 est renvoyé, et errno contient le code d'erreur.

ERREURS
       Pour statfs :

       ENOTDIR
              Un élément du chemin d'accès path n'est pas un répertoire.

       ENAMETOOLONG
              path est trop long.

       ENOENT Le fichier indiqué par path n'existe pas.

       EACCES Un  élément du chemin d'accès path ne permet pas le parcours.

       ELOOP  path contient une référence circulaire  (à  travers  un  lien
              symbolique).

       EFAULT buf  ou path pointent en dehors de l'espace d'adressage accessi-
              ble.

       EIO    Une erreur d'entrée/sortie s'est produite  pendant  la  lecture
              dans le système de fichiers.

       ENOMEM Pas assez de mémoire pour le noyau.

       ENOSYS Le  système  de fichiers contenant path ne supporte pas l'appel
              statfs.

       Pour fstatfs :

       EBADF  Fd n'est pas un descripteur de fichier ouvert valide.

       EFAULT Buf pointe en dehors de l'espace d'adressage accessible.

       EIO    Une erreur d'entrée/sortie s'est produite  pendant  la  lecture
              dans le système de fichiers.

       ENOSYS Le  système  de  fichiers  contenant fd ne supporte pas l'appel
              statfs.

CONFORMITÃ
       La routine statfs de Linux a été inspirée par celle de BSD 4.4, mais
       n'emploie pas la même structure.

   f_fsid
       Solaris  et POSIX 1003.1-2001 ont un appel-système statvfs qui renvoie
       une  struct  statvfs  (définie  dans  <sys/statvfs.h>)  contenant   un
       unsigned long f_fsid.  Linux, SunOS, HPUX, 4.4BSD ont un appel-système
       statfs qui renvoie une struct statfs (définie dans  <sys/vfs.h>)  con-
       tenant  un fsid_t f_fsid, où fsid_t est défini comme une struct { int
       val[2]; }.  La même chose vaut pour FreeBSD, sauf que le fichier d'en-
       tête est <sys/mount.h>.

       L'idée  générale  est que f_fsid contient quelque chose qui permette
       que la paire (f_fsid,ino) identifie  un  fichier  de  manière  unique.
       Certains   systèmes  utilisent  (une  variation  sur)  le  numéro  de
       périphérique combiné au type de  système  de  fichiers.   Plusieurs
       systèmes restreignent l'accès au champ f_fsid pour le Super-user, (et
       indique zéro pour les utilisateurs normaux), car ce champ est utilisé
       dans  la  manipulation  du  système de fichiers lors d'exportation par
       NFS, et sa  valeur  peut  être  considérée  comme  un  élément  de
       sécurite.

       Sous  certains  systèmes,  le  fsid  peut  être  utilisé  en  second
       paramètre de l'appel-système sysfs().

VOIR AUSSI
       stat(1,2)(2)

TRADUCTION
       Christophe Blaess, 1996-2003.



LDP                             18 juillet 2003                      STATFS(2)

References for this manual (incoming links)