доступ к суперблоку в vdi, ext2

Я пытаюсь получить доступ к суперблоку при открытии и чтении файловой системы ext2 из файла vdi. Я хочу использовать struct ext2_super_block, которая существует в файле ext2.h (см. Строку 415 http://lxr.free-electrons.com/source/fs/ext2/ext2.h). Я хотел бы просто #include <ext2.h> но поскольку моя текущая операционная система Unix — ext3 / ext4, файл заголовка отсутствует в моей системе, равно как и файлы, которые ext2.h должен включать.

Как я могу включить этот файл получить эту структуру? Должен ли я создавать его (структуру для хранения суперблока после чтения) самостоятельно? Если я построю это самостоятельно, как будет различаться чтение?

Вот что у меня есть для системных вызовов, чтобы завершить это (очевидно, не работают в данный момент):

fd = open (argv[1], O_RDONLY);
.......check for errors in open
lseek(fd, OFFSET, SEEK_SET); //to skip to superblock
read (fd, &mySB, sizeof(struct ext2_superblock));

0

Решение

Возможно, вам лучше использовать libext2fs, а не заголовки ядра. Он знает все структуры, он предназначен для использования в пользовательском пространстве и переносим на хосты не-GNU, а не на Linux.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]