26 lines
539 B
C
26 lines
539 B
C
|
#define FS_ROOT_INODE 1
|
||
|
#define FS_BSIZE 512
|
||
|
#define FS_NDIRECT 12
|
||
|
#define FS_NINDIRECT (BASE / sizeof(u32))
|
||
|
#define FS_MAXFILE (FS_NINDIRECT + FS_NDIRECT)
|
||
|
#define FS_IPB (FS_BSIZE / sizeof(struct dinode)
|
||
|
#define FS_IBLOCK(i, sb) ((i) / IPB + sb.inodestart)
|
||
|
#define FS_BPB (FS_BSIZE * 8)
|
||
|
#define FS_BBLOCK(b, sb) (b/FS_BPB + b.bmapstart)
|
||
|
#define FS_DIRSIZ 14
|
||
|
|
||
|
struct superblock {
|
||
|
u32 size;
|
||
|
u32 nblock;
|
||
|
u32 ninode;
|
||
|
u32 nlog;
|
||
|
u32 firstlog;
|
||
|
u32 firstinode;
|
||
|
u32 firstfreemapblock;
|
||
|
}
|
||
|
|
||
|
struct dirent {
|
||
|
u16 inum;
|
||
|
s8 name[FS_DIRSIZ];
|
||
|
}
|