xref: /original-bsd/sys/ufs/ffs/ffs_extern.h (revision 7e5c8007)
1 /*-
2  * Copyright (c) 1991, 1993, 1994
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)ffs_extern.h	8.3 (Berkeley) 04/16/94
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 struct mbuf;
23 
24 __BEGIN_DECLS
25 int	ffs_alloc __P((struct inode *,
26 	    daddr_t, daddr_t, int, struct ucred *, daddr_t *));
27 int	ffs_balloc __P((struct inode *,
28 	    daddr_t, int, struct ucred *, struct buf **, int));
29 int	ffs_blkatoff __P((struct vop_blkatoff_args *));
30 int	ffs_blkfree __P((struct inode *, daddr_t, long));
31 daddr_t	ffs_blkpref __P((struct inode *, daddr_t, int, daddr_t *));
32 int	ffs_bmap __P((struct vop_bmap_args *));
33 void	ffs_clrblock __P((struct fs *, u_char *, daddr_t));
34 int	ffs_fhtovp __P((struct mount *, struct fid *, struct mbuf *,
35 	    struct vnode **, int *, struct ucred **));
36 void	ffs_fragacct __P((struct fs *, int, long [], int));
37 int	ffs_fsync __P((struct vop_fsync_args *));
38 int	ffs_init __P((void));
39 int	ffs_isblock __P((struct fs *, u_char *, daddr_t));
40 int	ffs_mount __P((struct mount *,
41 	    char *, caddr_t, struct nameidata *, struct proc *));
42 int	ffs_mountfs __P((struct vnode *, struct mount *, struct proc *));
43 int	ffs_mountroot __P((void));
44 int	ffs_read __P((struct vop_read_args *));
45 int	ffs_reallocblks __P((struct vop_reallocblks_args *));
46 int	ffs_realloccg __P((struct inode *,
47 	    daddr_t, daddr_t, int, int, struct ucred *, struct buf **));
48 int	ffs_reclaim __P((struct vop_reclaim_args *));
49 void	ffs_setblock __P((struct fs *, u_char *, daddr_t));
50 int	ffs_statfs __P((struct mount *, struct statfs *, struct proc *));
51 int	ffs_sync __P((struct mount *, int, struct ucred *, struct proc *));
52 int	ffs_truncate __P((struct vop_truncate_args *));
53 int	ffs_unmount __P((struct mount *, int, struct proc *));
54 int	ffs_update __P((struct vop_update_args *));
55 int	ffs_valloc __P((struct vop_valloc_args *));
56 int	ffs_vfree __P((struct vop_vfree_args *));
57 int	ffs_vget __P((struct mount *, ino_t, struct vnode **));
58 int	ffs_vptofh __P((struct vnode *, struct fid *));
59 int	ffs_write __P((struct vop_write_args *));
60 
61 int	bwrite();		/* FFS needs a bwrite routine.  XXX */
62 
63 #ifdef DIAGNOSTIC
64 void	ffs_checkoverlap __P((struct buf *, struct inode *));
65 #endif
66 __END_DECLS
67 
68 extern int (**ffs_vnodeop_p)();
69 extern int (**ffs_specop_p)();
70 #ifdef FIFO
71 extern int (**ffs_fifoop_p)();
72 #define FFS_FIFOOPS ffs_fifoop_p
73 #else
74 #define FFS_FIFOOPS NULL
75 #endif
76