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