int sysfs(int option, const char *fsname);int sysfs(int option, unsigned int fs_index, char *buf);int sysfs(int option);
ОПИСАНИЕ
sysfs
возвращает информацию о типе файловой системы, заданном в ядре.
Форма вызова функции
sysfs
и возвращаемая информация зависят от параметра
option
согласно следующей таблице:
1
Преобразовать строку с идентификатором типа файловой системы
fsname
в индекс типа файловой системы.
2
Преобразовать индекс типа файловой системы
fs_index
в строку с идентификатором типа файловой системы. Эта строка (оканчивающаяся
нулем) будет записана в буфер
buf.
Убедитесь в том, что в
buf
есть достаточно места для размещения этой строки.
3
Получить общее количество типов файловой системы, находящихся
в настоящий момент в ядре.
Нумерация типов файловой системы начинается с нуля.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
При удачном завершении
sysfs
возвращает индекс типа файловой системы (значение option равно
единице);
ноль, если значение option равно
2-м,
и количество существующих в данный момент типов файловых систем в ядре
при option, равном
3-м.
При ошибке возвращается
-1, а переменной
errno
присваивается номер ошибки.
НАЙДЕННЫЕ ОШИБКИ
EINVAL
fsname
не является правильным идентификатором типа файловой системы;
превышены пределы
fs_index;
неправильный параметр
option.
EFAULT
fsname
или
buf
указывают на адрес за пределами адресного пространства
процесса.
СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4.
ЗАМЕЧАНИЯ
Если в Linux файловая система
/proc
подключена к
proc,
та же самая информация может быть взята из каталога
/proc/filesystems.
НАЙДЕННЫЕ ОШИБКИ
libc или glibc не поддерживают данную функцию.
Нет способа определить необходимый размер буфера buf.