xref: /plan9/sys/src/cmd/vac/dat.h (revision 3be74836e45a818042257560f5093e4f51d57220)
19a747e4fSDavid du Colombier typedef struct MetaBlock MetaBlock;
2d9306527SDavid du Colombier typedef struct MetaEntry MetaEntry;
3*3be74836SDavid du Colombier 
4*3be74836SDavid du Colombier #define MaxBlock (1UL<<31)
59a747e4fSDavid du Colombier 
6d9306527SDavid du Colombier enum {
7*3be74836SDavid du Colombier 	BytesPerEntry = 100,	/* estimate of bytes per dir entries - determines number of index entries in the block */
8*3be74836SDavid du Colombier 	FullPercentage = 80,	/* don't allocate in block if more than this percentage full */
9*3be74836SDavid du Colombier 	FlushSize = 200,	/* number of blocks to flush */
10*3be74836SDavid du Colombier 	DirtyPercentage = 50	/* maximum percentage of dirty blocks */
11d9306527SDavid du Colombier };
12d9306527SDavid du Colombier 
13d9306527SDavid du Colombier 
14*3be74836SDavid du Colombier struct MetaEntry
15*3be74836SDavid du Colombier {
16d9306527SDavid du Colombier 	uchar *p;
17d9306527SDavid du Colombier 	ushort size;
189a747e4fSDavid du Colombier };
199a747e4fSDavid du Colombier 
20*3be74836SDavid du Colombier struct MetaBlock
21*3be74836SDavid du Colombier {
22d9306527SDavid du Colombier 	int maxsize;		/* size of block */
23d9306527SDavid du Colombier 	int size;		/* size used */
24d9306527SDavid du Colombier 	int free;		/* free space within used size */
25d9306527SDavid du Colombier 	int maxindex;		/* entries allocated for table */
26d9306527SDavid du Colombier 	int nindex;		/* amount of table used */
27d9306527SDavid du Colombier 	int unbotch;
289a747e4fSDavid du Colombier 	uchar *buf;
299a747e4fSDavid du Colombier };
309a747e4fSDavid du Colombier 
31*3be74836SDavid du Colombier struct VacDirEnum
32*3be74836SDavid du Colombier {
339a747e4fSDavid du Colombier 	VacFile *file;
34*3be74836SDavid du Colombier 	u32int boff;
35*3be74836SDavid du Colombier 	int i, n;
36*3be74836SDavid du Colombier 	VacDir *buf;
379a747e4fSDavid du Colombier };
389a747e4fSDavid du Colombier 
39