2 * format of cache on disk
4 typedef struct Dptr Dptr;
5 typedef struct Dahdr Dahdr;
6 typedef struct Dalloc Dalloc;
7 typedef struct Fphdr Fphdr;
8 typedef struct Fptr Fptr;
9 typedef struct Inode Inode;
10 typedef struct Dihdr Dihdr;
11 typedef struct Dinode Dinode;
15 Amagic= 0xbebeefed, /* allocation block magic */
16 Imagic= 0xbadc00ce, /* inode block magic */
17 BtoUL= 8*sizeof(ulong),/* bits in a ulong */
20 #define Indbno 0x80000000 /* indirect block */
21 #define Notabno 0xFFFFFFFF /* not a block number */
24 * Allocation blocks at the begining of the disk. There are
25 * enough of these blocks to supply 1 bit for each block on the
31 ulong bsize; /* logical block size */
32 char name[CACHENAMELEN];
33 short nab; /* number of allocation blocks */
42 * A pointer to disk data
46 ulong fbno; /* file block number */
47 ulong bno; /* disk block number */
48 ushort start; /* offset into block of valid data */
49 ushort end; /* offset into block after valid data */
59 Dptr ptr; /* pointer page */
64 * inode blocks (after allocation blocks)
69 ulong nino; /* number of inodes */