| 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; |
| }; |
| |