ustat - получить статистику по файловой системе
ustat(2)
получить статистику по файловой системе
ОБЗОР
#include <sys/types.h>
#include <unistd.h> /* libc[45] */
#include <ustat.h> /* glibc2 */
int ustat(dev_t dev, struct ustat *ubuf);
ОПИСАНИЕ
ustat() возвращает информацию о смонтированной файловой системе. В
dev
указывается номер, который идентифицирует устройство, содержащее нужную
файловую систему. Аргумент
ubuf является указателем на структуру
ustat, которая имеет следующий вид:
daddr_t f_tfree; /* всего свободных блоков */
ino_t f_tinode; /* количество свободных индексных дескрипторов */
char f_fname[6]; /* имя Filsys */
char f_fpack[6]; /* имя Filsys pack */
Обработка последних двух полей, f_fname и f_fpack, не реализована, и
они всегда будут заполнены нулевыми символами ('\0').
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успешного завершения возвращается ноль и структура
ustat, на
которую указывает
ubuf, будет заполнена значениями. В случае ошибки
возвращается -1, а значение
errno устанавливается соответствующим
образом.
ОШИБКИ
EFAULT
ubuf указывает за пределы доступного адресного пространства.
EINVAL
dev не указывает на устройство, содержащее смонтированную файловую
систему.
ENOSYS
Смонтированная файловая система, на которую ссылается dev, не
поддерживает данную операцию или версия Linux меньше, чем 1.3.16.
СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4.
ЗАМЕЧАНИЯ
Вызов
ustat() устарел и предоставляется только для совместимости. Во всех
новых программах вместо него нужно использовать вызов
statfs(2).
Замечания, касающиеся HP-UX
Версия структуры
ustat в HP-UX содержит дополнительное поле
f_blksize,
которого в других версиях нет. HP предупреждает: в некоторых файловых
системах количество свободных индексных дескрипторов (inodes) не
изменяется. Для таких файловых систем в поле
f_tinode возвращается
значение -1. В некоторых файловых системах индексные дескрипторы выделяются
динамически. Для таких файловых систем будет возвращено текущее количество
свободных индексных дескрипторов.