ИМЯ
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; |
/* Количество свободных индексных декскрипторов (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. В некоторых файловых системах индексные дескрипторы выделяются динамически. Такие файловые системы будут возвращаеть текущее количество свободных индексных дескрипторов.
СМОТРИ ТАКЖЕ
ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone [AT] perm.ru> 2004