1struct fd_buf {
2	char *buf;     /* The buffer itself */
3	daddr_t start; /* Start of this buffer */
4	daddr_t end;   /* End of this buffer */
5};
6
7struct fdfs {
8	int	       fd_fd;	     /* The file descriptor */
9	int	       fd_bufc;	     /* Number of segment buffers */
10	int	       fd_bufi;	     /* Index to next segment buffer */
11	struct fd_buf *fd_bufp;	     /* The buffers */
12	off_t	       fd_bsize;     /* block size */
13	off_t	       fd_ssize;     /* segment size */
14};
15
16struct uvnode * fd_vget(int, int, int, int);
17int fd_preload(struct uvnode *, daddr_t);
18int fd_vop_strategy(struct ubuf *);
19int fd_vop_bwrite(struct ubuf *);
20int fd_vop_bmap(struct uvnode *, daddr_t, daddr_t *);
21char *fd_ptrget(struct uvnode *, daddr_t);
22void fd_reclaim(struct uvnode *);
23void fd_release(struct uvnode *);
24void fd_release_all(struct uvnode *);
25