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