minix/servers/pfs/buf.h
Lionel Sambuc fe3b8cf035 3.3.0j Squashed for testing purposes
Change-Id: Ic32d886158c29b23f322eb777894be3f9b438caf
2013-11-19 18:18:58 +01:00

27 lines
828 B
C

#ifndef __PFS_BUF_H__
#define __PFS_BUF_H__
/* Buffer (block) cache.
*/
struct buf {
/* Data portion of the buffer. */
char b_data[PIPE_BUF]; /* ordinary user data */
/* Header portion of the buffer. */
struct buf *b_next; /* used to link all free bufs in a chain */
struct buf *b_prev; /* used to link all free bufs the other way */
pino_t b_num; /* inode number on minor device */
dev_t b_dev; /* major | minor device where block resides */
int b_bytes; /* Number of bytes allocated in bp */
int b_count; /* Number of users of this buffer */
};
/* A block is free if b_dev == NO_DEV. */
EXTERN struct buf *front; /* points to least recently used free block */
EXTERN struct buf *rear; /* points to most recently used free block */
#endif