SYSFS(2)

ИМЯ
sysfs - получает информацию о типах файловых систем

ОБЗОР
int sysfs(int option, const char *fsname);

int sysfs(int option, unsigned int fs_index, char *buf);

int sysfs(int option);

ОПИСАНИЕ
Замечание: информация о файловой системе sysfs, обычно монтируемой в /sys, приведена в sysfs(5).

Системный вызов (устаревший) 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.