#include #include #include #include #include #include #include #include "ext2.h" unsigned char *disk; int main(int argc, char **argv) { if(argc != 2) { fprintf(stderr, "Usage: readimg \n"); exit(1); } int fd = open(argv[1], O_RDWR); disk = mmap(NULL, 128 * 1024, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); if(disk == MAP_FAILED) { perror("mmap"); exit(1); } struct ext2_super_block *sb = (struct ext2_super_block *)(disk + 1024); printf("Inodes: %d\n", sb->s_inodes_count); printf("Blocks: %d\n", sb->s_blocks_count); return 0; }