xref: /csrg-svn/sys/ufs/ffs/ffs_extern.h (revision 51475)
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.1 (Berkeley) 11/01/91
8  */
9 
10 struct buf;
11 struct fs;
12 struct inode;
13 struct mount;
14 struct nameidata;
15 struct proc;
16 struct statfs;
17 struct timeval;
18 struct ucred;
19 struct uio;
20 struct vnode;
21 
22 __BEGIN_DECLS
23 int	ffs_alloc __P((struct inode *, daddr_t, daddr_t, int, daddr_t *));
24 int	ffs_balloc __P((struct inode *, daddr_t, int, struct buf **, int));
25 int	ffs_blkatoff __P((struct inode *, off_t, char **, struct buf **));
26 int	ffs_blkfree __P((struct inode *, daddr_t, off_t));
27 daddr_t	ffs_blkpref __P((struct inode *, daddr_t, int, daddr_t *));
28 int	ffs_bmap __P((struct inode *, daddr_t, daddr_t *));
29 void	ffs_clrblock __P((struct fs *, u_char *, daddr_t));
30 void	ffs_fragacct __P((struct fs *, int, long [], int));
31 int	ffs_fsync
32 	    __P((struct vnode *, int, struct ucred *, int, struct proc *));
33 int	ffs_ialloc __P((struct inode *, int, struct ucred *, struct inode **));
34 void	ffs_ifree __P((struct inode *, ino_t, int));
35 int	ffs_iget __P((struct inode *, ino_t, struct inode **));
36 int	ffs_init __P((void));
37 int	ffs_isblock __P((struct fs *, u_char *, daddr_t));
38 int	ffs_itrunc __P((struct inode *, u_long, int));
39 int	ffs_iupdat
40 	    __P((struct inode *, struct timeval *, struct timeval *, int));
41 int	ffs_mount __P((struct mount *,
42 	    char *, caddr_t, struct nameidata *, struct proc *));
43 int	ffs_mountfs __P((struct vnode *, struct mount *, struct proc *));
44 int	ffs_mountroot __P((void));
45 int	ffs_read __P((struct vnode *, struct uio *, int, struct ucred *));
46 int	ffs_realloccg
47 	    __P((struct inode *, off_t, daddr_t, int, int, struct buf **));
48 int	ffs_reclaim __P((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_unmount __P((struct mount *, int, struct proc *));
53 int	ffs_write __P((struct vnode *, struct uio *, int, struct ucred *));
54 
55 int	bwrite();		/* FFS needs a bwrite routine.  XXX */
56 
57 #ifdef DIAGNOSTIC
58 void	ffs_checkoverlap __P((struct buf *, struct inode *));
59 #endif
60 __END_DECLS
61 
62 extern int inside[], around[];
63 extern u_char *fragtbl[];
64