sysfs(2) получает информацию о типах файловых систем

ОБЗОР

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.