STATFS(2)

NOMBRE
statfs, fstatfs - consigue estadísticas del sistema de ficheros

SINOPSIS
#include <sys/vfs.h>

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

DESCRIPCION
devuelve información de un sistema de ficheros montado. Path el el camino de cualquier fichero en el sistema de ficheros montado. Buf es un puntero a una estructura statfs definida como sigue:
    struct statfs {
       long    f_type;     /* tipo sistema ficheros (ver bajo) */
       long    f_bsize;    /* tamaño óptimo de bloque
                              de transferencia */
       long    f_blocks;   /* total de bloques de datos en el sistema
                              de ficheros */
       long    f_bfree;    /* bloques libres en el sf */
       long    f_bavail;   /* bloques libres disponibles para
                              no-superusuarios */
       long    f_files;    /* total de nodos de ficheros en el sf */
       long    f_ffree;    /* nodos de ficheros libres en el sf */
       fsid_t  f_fsid;     /* id del sistema de ficheros */
       long    f_namelen;  /* longitud máxima de nombre de ficheros */
       long    f_spare[6]; /* de sobra, para más tarde */
    };
    Tipos de sistema de ficheros:
    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 /* minix 30 car. */
    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

Los campos no definidos para un sistema de ficheros particular se ponen a -1. Fstatfs devuelve la misma información sobre un fichero abierto referenciado por el descriptor fd.

VALOR REGRESADO
Si hubo éxito se devuelve cero. Si hubo error, se devuelve -1, y errno es actualizado apropiadamente.

ERRORES
Para statfs:

ENOTDIR
    Un componente del camino Path no es un directorio.

EINVAL
    path contiene un caracter con el bit de orden alto a 1.

ENAMETOOLONG
    La longitud de un componente de path excede de 255 caracteres, o la longitud de path excede de 1023 caracteres. [Nota del documentador: ¿son válidos estos valores para Linux?]

ENOENT
    El fichero al que se refiere path no existe.

EACCES
    El permiso de búsqueda se deniega para un componente del camino path.

ELOOP
    Se encontraron demasiados enlaces simbólicos al traducir path.

EFAULT
    Buf o path apuntan a una dirección inválida.

EIO Ocurrió un error de E/S mientras se leía o escribía en el sistema de ficheros.

Para fstatfs:

EBADF
    Fd no es un descriptor de fichero válido.

EFAULT
    Buf apunta a una dirección inválida.

EIO Ocurrió un error de E/S mientras se leía o escribía en el sistema de ficheros.

CONFORMA CON
4.4BSD.

VEASE
stat(2)