DF-3078 / dumpsb.c
#include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <sys/types.h> #include <sys/param.h> #include <vfs/ufs/ufs_types.h> #include <vfs/ufs/fs.h> int main(int argc, char **argv){ FILE *f = fopen(argv[1], "rb"); struct fs sb; if (!f){perror("open");return 1;} fseek(f, 8192, SEEK_SET); if (fread(&sb, sizeof sb, 1, f) != 1){perror("read");return 1;} printf("magic=0x%08x ncg=%d bsize=%d fsize=%d frag=%d\n", sb.fs_magic, sb.fs_ncg, sb.fs_bsize, sb.fs_fsize, sb.fs_frag); printf("sbsize=%d csaddr=%d cssize=%d ipg=%d fpg=%d inopb=%d\n", sb.fs_sbsize, sb.fs_csaddr, sb.fs_cssize, sb.fs_ipg, sb.fs_fpg, sb.fs_inopb); printf("cgsize=%d contigsumsize=%d maxsymlinklen=%d clean=%d flags=0x%x\n", sb.fs_cgsize, sb.fs_contigsumsize, sb.fs_maxsymlinklen, sb.fs_clean, sb.fs_flags); printf("fshift=%d bshift=%d size=%d dsize=%d\n", sb.fs_fshift, sb.fs_bshift, sb.fs_size, sb.fs_dsize); return 0; } |