2016-03-24 8 views
0

私はオープン時にスーパーブロックにアクセスし、vdiファイルからext2ファイルシステムを読み込もうとしています。私は、ext2.hファイルに存在するstruct ext2_super_blockを使用したいです(415行のhttp://lxr.free-electrons.com/source/fs/ext2/ext2.h参照)。私はちょうど#include <ext2.h>にしたいと思いますが、私の現在のUNIX OSはext3/ext4なので、ヘッダファイルは私のシステムにはなく、ext2.hに含める必要のあるファイルもありません。vdiのスーパーブロックへのアクセス、ext2

このファイルを組み込むにはどうすればよいですか?私は自分でそれを構築するべきです(読み込み時にスーパーブロックを保持する構造体)?私が自分でそれを構築すれば、読み込み方法はどう違うのでしょうか?

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ホストに移植可能です。

関連する問題