Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / libexec / lfs_cleanerd / fdfs.h
blob9f486ee90b33f38a46d2ee44c4e2c5b0603ee588
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 };
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 */
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 *);