rminnichinitial1fcdf7916 years agoHistory
45 lines · 797 B · C
RawDownload
typedef struct Bbuf	Bbuf;typedef struct Bcache	Bcache; enum{	Nbcache=	32,		/* number of blocks kept in pool */}; /* *  block cache descriptor */struct Bbuf{	Lru;				/* must be first in struct */	ulong	bno;	int	inuse;	Bbuf	*next;			/* next in dirty list */	int	dirty;	char	*data;}; /* *  the buffer cache */struct Bcache{	Lru;	int	bsize;			/* block size in bytes */	int	f;			/* fd to disk */	Bbuf	*dfirst;		/* dirty list */	Bbuf	*dlast;	Bbuf	bb[Nbcache];}; int	bcinit(Bcache*, int, int);Bbuf*	bcalloc(Bcache*, ulong);Bbuf*	bcread(Bcache*, ulong);void	bcmark(Bcache*, Bbuf*);int	bcwrite(Bcache*, Bbuf*);int	bcsync(Bcache*);int	bread(Bcache*, ulong, void*);int	bwrite(Bcache*, ulong, void*);int	bref(Bcache*, Bbuf*);void	error(char*, ...);void	warning(char*);