USTAT(2) | Руководство программиста Linux | USTAT(2) |
ustat - получить статистику по файловой системе
#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 устанавливается соответствующим образом.
Начиная с версии 2.28, в glibc удалена обёрточная функция этого устаревшего системного вызова.
SVr4.
Вызов ustat() устарел и предоставляется только для совместимости. Во всех новых программах вместо него нужно использовать вызов statfs(2).
Версия структуры ustat в HP-UX содержит дополнительное поле f_blksize, которого в других версиях нет. HP предупреждает: в некоторых файловых системах количество свободных индексных дескрипторов (inodes) не изменяется. Для таких файловых систем в поле f_tinode возвращается значение -1. В некоторых файловых системах индексные дескрипторы выделяются динамически. Для таких файловых систем будет возвращено текущее количество свободных индексных дескрипторов.
2019-03-06 | Linux |