Есть ли в стандартных Linux-библиотеках функция (или интерфейс; ioctl, netlink и т.д.), которая вернет текущие mounts непосредственно из ядра без разбора /proc? strace
команда mount, похоже, что она анализирует файлы в/proc
Функция Linux для получения точек монтирования
Ответ 1
Есть ли причина, по которой вы не будете использовать вызов библиотеки getmntent
libc? Я понимаю, что это не то же самое, что системный вызов "все в одном", но он должен позволить вам получить соответствующую информацию.
#include <stdio.h>
#include <stdlib.h>
#include <mntent.h>
int main(void)
{
struct mntent *ent;
FILE *aFile;
aFile = setmntent("/proc/mounts", "r");
if (aFile == NULL) {
perror("setmntent");
exit(1);
}
while (NULL != (ent = getmntent(aFile))) {
printf("%s %s\n", ent->mnt_fsname, ent->mnt_dir);
}
endmntent(aFile);
}
Ответ 2
Для отображения этой информации нет syscall; вместо этого вы можете найти его в файле /etc/mtab