Вопрос

Вопрос говорит сам за себя.Мне нужен вызов функции 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top