| typedef struct MetaBlock MetaBlock; | 
 | typedef struct MetaEntry MetaEntry; | 
 |  | 
 | #define MaxBlock (1UL<<31) | 
 |  | 
 | enum { | 
 | 	BytesPerEntry = 100,	/* estimate of bytes per dir entries - determines number of index entries in the block */ | 
 | 	FullPercentage = 80,	/* don't allocate in block if more than this percentage full */ | 
 | 	FlushSize = 200,	/* number of blocks to flush */ | 
 | 	DirtyPercentage = 50	/* maximum percentage of dirty blocks */ | 
 | }; | 
 |  | 
 |  | 
 | struct MetaEntry | 
 | { | 
 | 	uchar *p; | 
 | 	ushort size; | 
 | }; | 
 |  | 
 | struct MetaBlock | 
 | { | 
 | 	int maxsize;		/* size of block */ | 
 | 	int size;		/* size used */ | 
 | 	int free;		/* free space within used size */ | 
 | 	int maxindex;		/* entries allocated for table */ | 
 | 	int nindex;		/* amount of table used */ | 
 | 	int unbotch; | 
 | 	uchar *buf; | 
 | }; | 
 |  | 
 | struct VacDirEnum | 
 | { | 
 | 	VacFile *file; | 
 | 	u32int boff; | 
 | 	int i, n; | 
 | 	VacDir *buf; | 
 | }; | 
 |  |