xref: /original-bsd/sys/ufs/ffs/ffs_extern.h (revision 2932bec8)
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.6 (Berkeley) 04/21/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 *,
25 	    daddr_t, daddr_t, int, struct ucred *, daddr_t *));
26 int	ffs_balloc __P((struct inode *,
27 	    daddr_t, int, struct ucred *, struct buf **, int));
28 int	ffs_blkatoff __P((struct vnode *, off_t, char **, struct buf **));
29 int	ffs_blkfree __P((struct inode *, daddr_t, long));
30 daddr_t	ffs_blkpref __P((struct inode *, daddr_t, int, daddr_t *));
31 int	ffs_bmap __P((struct vnode *, daddr_t, struct vnode **, daddr_t *));
32 void	ffs_clrblock __P((struct fs *, u_char *, daddr_t));
33 int	ffs_fhtovp __P((struct mount *, struct fid *, int, struct vnode **));
34 void	ffs_fragacct __P((struct fs *, int, long [], int));
35 int	ffs_fsync
36 	    __P((struct vnode *, int, struct ucred *, int, struct proc *));
37 int	ffs_inactive __P((struct vnode *, struct proc *));
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 vnode *, struct uio *, int, struct ucred *));
45 int	ffs_realloccg __P((struct inode *,
46 	    daddr_t, daddr_t, int, int, struct ucred *, struct buf **));
47 int	ffs_reclaim __P((struct vnode *));
48 int	ffs_root __P((struct mount *, struct vnode **));
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));
52 int	ffs_truncate __P((struct vnode *, off_t, int, struct ucred *));
53 int	ffs_unmount __P((struct mount *, int, struct proc *));
54 int	ffs_update
55 	    __P((struct vnode *, struct timeval *, struct timeval *, int));
56 int	ffs_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
57 void	ffs_vfree __P((struct vnode *, ino_t, int));
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 vnode *, struct uio *, int, struct ucred *));
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 inside[], around[];
70 extern u_char *fragtbl[];
71 extern struct vnodeops ffs_vnodeops, ffs_specops;
72 #ifdef FIFO
73 extern struct vnodeops ffs_fifoops;
74 #define FFS_FIFOOPS &ffs_fifoops
75 #else
76 #define FFS_FIFOOPS NULL
77 #endif
78