2 reserved byte[d.s.blocksize];
6 Block b[d.s.NumberofBlocks];
7 label b[literal(0)]: Superblock s;
8 label b[literal(1)]: Groupblock g;
11 structure Superblock subtype of Block {
16 int RootDirectoryInode;
20 structure Groupblock subtype of Block {
24 int GroupFreeBlockCount;
25 int GroupFreeInodeCount;
28 structure InodeTable subtype of Block {
29 Inode itable[d.s.NumberofInodes];
32 structure InodeBitmap subtype of Block {
33 bit inodebitmap[d.s.NumberofInodes];
36 structure BlockBitmap subtype of Block {
37 bit blockbitmap[d.s.NumberofBlocks];
42 int Blockptr[literal(12)];
46 structure DirectoryBlock subtype of Block {
47 DirectoryEntry de[d.s.blocksize/literal(128)];
50 structure DirectoryEntry {
51 byte name[literal(124)];