Что является эквивалентом getfsstat() в Linux?
-
20-09-2019 - |
Вопрос
Вопрос говорит сам за себя.Мне нужен вызов функции C, который возвращает список смонтированных файловых систем вместе со связанной информацией, такой как тип файловой системы.
Решение
Вы ищете getmntent
и другие *mntent
Семейство функций.Видеть справочная страница Для дальнейшего использования.
Пример кода взят из здесь и немного модифицированный. /etc/mtab
— это файл, содержащий список смонтированных файловых систем.
mounts = setmntent("/etc/mtab", "r");
while ( (ent = getmntent(mounts)) != NULL ){
if (strcmp(ent->mnt_type, "iso9660") == 0)
/* copy mount point to output */
strcpy(retval[cd_count - 1], ent->mnt_dir);
} /* if */
} /* while */
endmntent(mounts);
К сожалению, этих функций нет в POSIX.Но они управляются и реализуются в glibc, поэтому я думаю, что они лучшая альтернатива, чем синтаксический анализ. /proc
.
Другие советы
Вы можете разобрать /proc/filesystems
.
Не связан с StackOverflow