Loading

NOM

       statvfs, fstatvfs - Obtenir les statistiques d’un système de fichiers

SYNOPSIS

       #include <sys/statvfs.h>

       int statvfs(const char *path, struct statvfs *buf);
       int fstatvfs(int fd, struct statvfs *buf);

       La  fonction  statvfs()  retourne  des  informations  sur un système de
       fichiers monté. path est un  chemin  vers  n’importe  quel  fichier  du
       système  de  fichiers  monté.  buf  est  un pointeur vers une structure
       statvfs approximativement définie comme ceci :

           struct statvfs {
               unsigned long  f_bsize;    /* taille de bloc du fs */
               unsigned long  f_frsize;   /* taille d’un fragment */
               fsblkcnt_t     f_blocks;   /* taille du fs en unité f_frsize  */
               fsblkcnt_t     f_bfree;    /* # blocs libres */
               fsblkcnt_t     f_bavail;   /* # blocs libres pour non-root */
               fsfilcnt_t     f_files;    /* # inœuds */
               fsfilcnt_t     f_ffree;    /* # inœuds libres */
               fsfilcnt_t     f_favail;   /* # inœuds libres pour non-root */
               unsigned long  f_fsid;     /* identifiant du système de fichiers */
               unsigned long  f_flag;     /* attributs de montage */
               unsigned long  f_namemax;  /* longueur maximum de nom de fichier */
           };

       Les types fsblkcnt_t et  fsfilcnt_t  utilisés  ici  sont  définis  dans
       <sys/types.h>. Auparavant les deux étaient des unsigned long.

       Le  champ  f_flag  est un masque de bit (des attributs de montage, voir
       mount(8)). Les bits définis par la spécification POSIX sont

       ST_RDONLY
              Système de fichiers en lecture seule.

       ST_NOSUID
              Les bits Set-UID/Set-GID sont ignorés par exec(3).

       Il n’est pas spécifié si tous les membres de la structure retournée ont
       un sens quel que soit le système de fichiers.

       fstatvfs()  renvoie la même information sur un fichier ouvert référencé
       par le descripteur fd.

VALEUR RENVOYÉE

       En cas de réussite, zéro est renvoyé, sinon -1  est  renvoyé  et  errno
       contient le code d’erreur.

ERREURS

       EACCES (statvfs())  Un  élément du chemin d’accès path ne permet pas le
              parcours. (Voir aussi path_resolution(7).)

       EBADF  (fstatvfs()) fd n’est  pas  un  descripteur  de  fichier  ouvert
              valide.

       EFAULT Buf   ou   path  pointent  en  dehors  de  l’espace  d’adressage
              accessible.

       EINTR  L’appel a été interrompu par un signal.

       EIO    Une erreur d’entrée-sortie est survenue lors de la  lecture  sur
              le système de fichiers.

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

       ENAMETOOLONG
              (statvfs()) path est trop long.

       ENOENT (statvfs()) Le fichier indiqué par path n’existe pas.

       ENOMEM Pas assez de mémoire pour le noyau.

       ENOSYS Le système de fichiers ne supporte pas cet appel.

       ENOTDIR
              (statvfs()) Un élément du  chemin  d’accès  path  n’est  pas  un
              répertoire.

       EOVERFLOW
              Certaines  valeurs sont trop grandes pour être représentées dans
              la structure renvoyée.

CONFORMITÉ

       POSIX.1-2001.

NOTES

       Le noyau Linux a  les  appels  système  statfs(2)  et  fstatfs(2)  pour
       supporter cette fonction de bibliothèque.

       Les implémentations actuelles de

          pathconf(path, _PC_REC_XFER_ALIGN);
          pathconf(path, _PC_ALLOC_SIZE_MIN);
          pathconf(path, _PC_REC_MIN_XFER_SIZE);

       dans  la  glibc utilisent respectivement les champs f_frsize, f_frsize,
       et f_bsize de la valeur de retour de statvfs(path,buf).

VOIR AUSSI

       statfs(2)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a été traduite et mise à jour par Alain Portal
       <aportal AT  univ-montp2  DOT  fr>  entre  2004  et  2006,  et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».