vdi ファイルから ext2 ファイルシステムを開いて読み込む際に、スーパーブロックにアクセスしようとしています。ext2.h ファイルに存在する構造体 ext2_super_block を使用したい ( http://lxr.free-electrons.com/source/fs/ext2/ext2.hの 415 行を参照)。やりたいのです#include <ext2.h>
が、現在のUNIX OSは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));