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 systme 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  systme  de  fichiers
       mont.   path  est  le nom d'un fichier quelconque dans le systme de
       fichiers.  buf est un pointeur sur une structure statfs dfinie  comme
       suit :

              struct statfs {
                 long    f_type;     /* type de systme 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 systme de fichiers         */
                 long    f_namelen;  /* Longueur maxi des noms de fichier */
                 long    f_spare[6]; /* rserv pour usage ultrieur      */
              };

              Types de systmes 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 indfinis pour un systme de fichiers donn sont  mis  
       0.   fstatfs  renvoie  les  mmes  informations  concernant un fichier
       ouvert rfrenc par fd.

VALEUR RENVOYE
       statfs et fstatfs renvoient zro s'ils russissent.  En cas  d'chec
       -1 est renvoy, et errno contient le code d'erreur.

ERREURS
       Pour statfs :

       ENOTDIR
              Un lment du chemin d'accs path n'est pas un rpertoire.

       ENAMETOOLONG
              path est trop long.

       ENOENT Le fichier indiqu par path n'existe pas.

       EACCES Un  lment du chemin d'accs path ne permet pas le parcours.

       ELOOP  path contient une rfrence circulaire  (   travers  un  lien
              symbolique).

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

       EIO    Une erreur d'entre/sortie s'est produite  pendant  la  lecture
              dans le systme de fichiers.

       ENOMEM Pas assez de mmoire pour le noyau.

       ENOSYS Le  systme  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'entre/sortie s'est produite  pendant  la  lecture
              dans le systme de fichiers.

       ENOSYS Le  systme  de  fichiers  contenant fd ne supporte pas l'appel
              statfs.

CONFORMIT
       La routine statfs de Linux a t inspire par celle de BSD 4.4, mais
       n'emploie pas la mme structure.

   f_fsid
       Solaris  et POSIX 1003.1-2001 ont un appel-systme statvfs qui renvoie
       une  struct  statvfs  (dfinie  dans  <sys/statvfs.h>)  contenant   un
       unsigned long f_fsid.  Linux, SunOS, HPUX, 4.4BSD ont un appel-systme
       statfs qui renvoie une struct statfs (dfinie dans  <sys/vfs.h>)  con-
       tenant  un fsid_t f_fsid, o fsid_t est dfini comme une struct { int
       val[2]; }.  La mme chose vaut pour FreeBSD, sauf que le fichier d'en-
       tte est <sys/mount.h>.

       L'ide  gnrale  est que f_fsid contient quelque chose qui permette
       que la paire (f_fsid,ino) identifie  un  fichier  de  manire  unique.
       Certains   systmes  utilisent  (une  variation  sur)  le  numro  de
       priphrique combin au type de  systme  de  fichiers.   Plusieurs
       systmes restreignent l'accs au champ f_fsid pour le Super-user, (et
       indique zro pour les utilisateurs normaux), car ce champ est utilis
       dans  la  manipulation  du  systme de fichiers lors d'exportation par
       NFS, et sa  valeur  peut  tre  considre  comme  un  lment  de
       scurite.

       Sous  certains  systmes,  le  fsid  peut  tre  utilis  en  second
       paramtre de l'appel-systme sysfs().

VOIR AUSSI
       stat(1,2)(2)

TRADUCTION
       Christophe Blaess, 1996-2003.



LDP                             18 juillet 2003                      STATFS(2)

References for this manual (incoming links)