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.4 (Berkeley) 01/13/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 *, daddr_t, daddr_t, int, daddr_t *)); 25 int ffs_balloc __P((struct inode *, daddr_t, int, struct buf **, int)); 26 int ffs_blkatoff __P((struct vnode *, off_t, char **, struct buf **)); 27 int ffs_blkfree __P((struct inode *, daddr_t, off_t)); 28 daddr_t ffs_blkpref __P((struct inode *, daddr_t, int, daddr_t *)); 29 int ffs_bmap __P((struct vnode *, daddr_t, struct vnode **, daddr_t *)); 30 void ffs_clrblock __P((struct fs *, u_char *, daddr_t)); 31 int ffs_fhtovp __P((struct mount *, struct fid *, int, struct vnode **)); 32 void ffs_fragacct __P((struct fs *, int, long [], int)); 33 int ffs_fsync 34 __P((struct vnode *, int, struct ucred *, int, struct proc *)); 35 int ffs_inactive __P((struct vnode *, struct proc *)); 36 int ffs_init __P((void)); 37 int ffs_isblock __P((struct fs *, u_char *, daddr_t)); 38 int ffs_mount __P((struct mount *, 39 char *, caddr_t, struct nameidata *, struct proc *)); 40 int ffs_mountfs __P((struct vnode *, struct mount *, struct proc *)); 41 int ffs_mountroot __P((void)); 42 int ffs_read __P((struct vnode *, struct uio *, int, struct ucred *)); 43 int ffs_realloccg 44 __P((struct inode *, off_t, daddr_t, int, int, struct buf **)); 45 int ffs_reclaim __P((struct vnode *)); 46 int ffs_root __P((struct mount *, struct vnode **)); 47 void ffs_setblock __P((struct fs *, u_char *, daddr_t)); 48 int ffs_statfs __P((struct mount *, struct statfs *, struct proc *)); 49 int ffs_sync __P((struct mount *, int)); 50 int ffs_truncate __P((struct vnode *, u_long, int)); 51 int ffs_unmount __P((struct mount *, int, struct proc *)); 52 int ffs_update 53 __P((struct vnode *, struct timeval *, struct timeval *, int)); 54 int ffs_valloc __P((struct vnode *, int, struct ucred *, struct vnode **)); 55 void ffs_vfree __P((struct vnode *, ino_t, int)); 56 int ffs_vget __P((struct mount *, ino_t, struct vnode **)); 57 int ffs_vptofh __P((struct vnode *, struct fid *)); 58 int ffs_write __P((struct vnode *, struct uio *, int, struct ucred *)); 59 60 int bwrite(); /* FFS needs a bwrite routine. XXX */ 61 62 #ifdef DIAGNOSTIC 63 void ffs_checkoverlap __P((struct buf *, struct inode *)); 64 #endif 65 __END_DECLS 66 67 extern int inside[], around[]; 68 extern u_char *fragtbl[]; 69 extern struct vnodeops ffs_vnodeops, ffs_specops; 70 #ifdef FIFO 71 extern struct vnodeops ffs_fifoops; 72 #define FFS_FIFOOPS &ffs_fifoops 73 #else 74 #define FFS_FIFOOPS NULL 75 #endif 76