1 struct 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 
7 struct 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 
16 struct uvnode * fd_vget(int, int, int, int);
17 int fd_preload(struct uvnode *, daddr_t);
18 int fd_vop_strategy(struct ubuf *);
19 int fd_vop_bwrite(struct ubuf *);
20 int fd_vop_bmap(struct uvnode *, daddr_t, daddr_t *);
21 char *fd_ptrget(struct uvnode *, daddr_t);
22 void fd_reclaim(struct uvnode *);
23 void fd_release(struct uvnode *);
24 void fd_release_all(struct uvnode *);
25