ОБЗОР
#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 устанавливается соответствующим образом.ОШИБКИ
- EFAULT
- ubuf указывает за пределы доступного адресного пространства.
- EINVAL
- dev не указывает на устройство, содержащее смонтированную файловую систему.
- ENOSYS
- Смонтированная файловая система, на которую ссылается dev, не поддерживает данную операцию или версия Linux меньше, чем 1.3.16.