【发布时间】:2016-07-12 09:00:18
【问题描述】:
我试图在从 vdi 文件打开和读取 ext2 文件系统时访问超级块。我想使用存在于 ext2.h 文件中的 struct ext2_super_block(参见http://lxr.free-electrons.com/source/fs/ext2/ext2.h 的第 415 行)。我只想#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));
【问题讨论】: