Вы ищете getmntent
и другие *mntent
семейства функций. См. manpage Для дальнейшего использования.
Пример кода взят из здесь и немного изменен. /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
.