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.14 (Berkeley) 07/06/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 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_inactive __P((struct vop_inactive_args *)); 39 int ffs_init __P((void)); 40 int ffs_isblock __P((struct fs *, u_char *, daddr_t)); 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 vop_read_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