enum { SUPERMAGIC = 0x4D49534348494546ULL, BBLANK = 0, BSUPER, }; typedef struct Fs Fs; typedef struct BlockRun BlockRun; typedef struct SuperBlock SuperBlock; struct Fs { RWLock; }; struct BlockRun { u32int ag; u16int start; u16int len; }; struct SuperBlock { char label[128]; u64int magic; u32int block_size; u32int block_shift; u64int num_blocks; u64int used_blocks; BlockRun log_run; u64int log_start; u64int log_end; }; /* super.c */ int checksuper(SuperBlock *super); int getsuper(int fd, SuperBlock *super); int putsuper(int fd, SuperBlock *super);