ustat
возвращает информацию о одной из смонтированных файловых систем.
dev
является номером устройства, которое идентифицирует устройство,
содержащее нужную файловую систему.
ubuf
является указателем на структуру ustat, которая имеет следующий
вид:
daddr_t f_tfree; /* Всего свободных блоков */
ino_t f_tinode; /* Количество свободных индексных декскрипторов (inodes) */
char f_fname[6]; /* Имя файловой системы */
char f_fpack[6]; /* Упакованное имя файловой системы */
Последние два поля, f_fname и f_fpack не реализованы и всегда будут
заполнены нулевыми символами.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха возвращается ноль и структура ustat, на которую
указывает
ubuf
будет заполнена значениями. В случае ошибки возвращается -1 и
значение
errno
устанавливается соответствующим образом.
ОШИБКИ
EINVAL
dev
не указывает на устройство, содержащее смонтированную файловую
систему.
EFAULT
ubuf
указывает за пределы доступного вам адресного пространства.
ENOSYS
Смонтированная файловая система, на которую ссылается
dev
не поддерживает данную операцию или у вас версия Linux меньше,
чем 1.3.16.
СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4. SVr4 документирует дополнительные ошибки ENOLINK, ECOMM и EINTR
но не имеет ENOSYS.
ЗАМЕЧАНИЯ
Функция
ustat
устарела и предоставляется только для совместимости. Все новые программы
должны использовать вместо неё вызов
statfs(2).
ЗАМЕЧАНИЯ HP
Версия структуры ustat от HP содержит дополнительное поле
f_blksize ,
которого в других версиях нет. HP предупреждает: В некоторых файловых
систем, количество свободных индексных дескрипторов (inodes) не
изменяется. Такие файловые системы возвращают в поле
f_tinode
значение -1.
В некоторых файловых системах индексные дескрипторы выделяются
динамически. Такие файловые системы будут возвращаеть текущее
количество свободных индексных дескрипторов.