xref: /original-bsd/sys/ufs/ffs/ffs_extern.h (revision 753853ba)
1 /*-
2  * Copyright (c) 1991 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)ffs_extern.h	7.4 (Berkeley) 01/13/92
8  */
9 
10 struct buf;
11 struct fid;
12 struct fs;
13 struct inode;
14 struct mount;
15 struct nameidata;
16 struct proc;
17 struct statfs;
18 struct timeval;
19 struct ucred;
20 struct uio;
21 struct vnode;
22 
23 __BEGIN_DECLS
24 int	ffs_alloc __P((struct inode *, daddr_t, daddr_t, int, daddr_t *));
25 int	ffs_balloc __P((struct inode *, daddr_t, int, struct buf **, int));
26 int	ffs_blkatoff __P((struct vnode *, off_t, char **, struct buf **));
27 int	ffs_blkfree __P((struct inode *, daddr_t, off_t));
28 daddr_t	ffs_blkpref __P((struct inode *, daddr_t, int, daddr_t *));
29 int	ffs_bmap __P((struct vnode *, daddr_t, struct vnode **, daddr_t *));
30 void	ffs_clrblock __P((struct fs *, u_char *, daddr_t));
31 int	ffs_fhtovp __P((struct mount *, struct fid *, int, struct vnode **));
32 void	ffs_fragacct __P((struct fs *, int, long [], int));
33 int	ffs_fsync
34 	    __P((struct vnode *, int, struct ucred *, int, struct proc *));
35 int	ffs_inactive __P((struct vnode *, struct proc *));
36 int	ffs_init __P((void));
37 int	ffs_isblock __P((struct fs *, u_char *, daddr_t));
38 int	ffs_mount __P((struct mount *,
39 	    char *, caddr_t, struct nameidata *, struct proc *));
40 int	ffs_mountfs __P((struct vnode *, struct mount *, struct proc *));
41 int	ffs_mountroot __P((void));
42 int	ffs_read __P((struct vnode *, struct uio *, int, struct ucred *));
43 int	ffs_realloccg
44 	    __P((struct inode *, off_t, daddr_t, int, int, struct buf **));
45 int	ffs_reclaim __P((struct vnode *));
46 int	ffs_root __P((struct mount *, struct vnode **));
47 void	ffs_setblock __P((struct fs *, u_char *, daddr_t));
48 int	ffs_statfs __P((struct mount *, struct statfs *, struct proc *));
49 int	ffs_sync __P((struct mount *, int));
50 int	ffs_truncate __P((struct vnode *, u_long, int));
51 int	ffs_unmount __P((struct mount *, int, struct proc *));
52 int	ffs_update
53 	    __P((struct vnode *, struct timeval *, struct timeval *, int));
54 int	ffs_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
55 void	ffs_vfree __P((struct vnode *, ino_t, int));
56 int	ffs_vget __P((struct mount *, ino_t, struct vnode **));
57 int	ffs_vptofh __P((struct vnode *, struct fid *));
58 int	ffs_write __P((struct vnode *, struct uio *, int, struct ucred *));
59 
60 int	bwrite();		/* FFS needs a bwrite routine.  XXX */
61 
62 #ifdef DIAGNOSTIC
63 void	ffs_checkoverlap __P((struct buf *, struct inode *));
64 #endif
65 __END_DECLS
66 
67 extern int inside[], around[];
68 extern u_char *fragtbl[];
69 extern struct vnodeops ffs_vnodeops, ffs_specops;
70 #ifdef FIFO
71 extern struct vnodeops ffs_fifoops;
72 #define FFS_FIFOOPS &ffs_fifoops
73 #else
74 #define FFS_FIFOOPS NULL
75 #endif
76