shithub: riscv

ref: 403fef45c1a65aa74c449764e2857597fc03290a
dir: /sys/src/cmd/vac/dat.h/

View raw version
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;
};