ОБЗОР
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.