xref: /original-bsd/sys/ufs/ffs/ffs_extern.h (revision f737e041)
1 /*-
2  * Copyright (c) 1991, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)ffs_extern.h	8.2 (Berkeley) 02/03/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 int	ffs_root __P((struct mount *, struct vnode **));
50 void	ffs_setblock __P((struct fs *, u_char *, daddr_t));
51 int	ffs_statfs __P((struct mount *, struct statfs *, struct proc *));
52 int	ffs_sync __P((struct mount *, int, struct ucred *, struct proc *));
53 int	ffs_truncate __P((struct vop_truncate_args *));
54 int	ffs_unmount __P((struct mount *, int, struct proc *));
55 int	ffs_update __P((struct vop_update_args *));
56 int	ffs_valloc __P((struct vop_valloc_args *));
57 int	ffs_vfree __P((struct vop_vfree_args *));
58 int	ffs_vget __P((struct mount *, ino_t, struct vnode **));
59 int	ffs_vptofh __P((struct vnode *, struct fid *));
60 int	ffs_write __P((struct vop_write_args *));
61 
62 int	bwrite();		/* FFS needs a bwrite routine.  XXX */
63 
64 #ifdef DIAGNOSTIC
65 void	ffs_checkoverlap __P((struct buf *, struct inode *));
66 #endif
67 __END_DECLS
68 
69 extern int (**ffs_vnodeop_p)();
70 extern int (**ffs_specop_p)();
71 #ifdef FIFO
72 extern int (**ffs_fifoop_p)();
73 #define FFS_FIFOOPS ffs_fifoop_p
74 #else
75 #define FFS_FIFOOPS NULL
76 #endif
77