SYSFS(2) Руководство программиста Linux 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 устанавливается соответствующим образом.

ОШИБКИ

fsname или buf указывают на адрес за пределами адресного пространства процесса.
fsname не является правильным идентификатором типа файловой системы; превышены пределы fs_index; неправильный параметр option.

СООТВЕТСТВИЕ СТАНДАРТАМ

SVr4.

ЗАМЕЧАНИЯ

Данный вызов, унаследованный от System-V, устарел; не используйте его. В системах с /proc такую же информацию можно получить из /proc/filesystems; используйте данную возможность вместо этого вызова.

ДЕФЕКТЫ

Нет поддержки в libc и glibc. Нет способа определить необходимый размер буфера buf.

2017-09-15 Linux