Manpages

ИМЯ

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 [AT] perm.ru> 2004