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.7 (Berkeley) 05/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 *, 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; 72 extern struct vnodeops ffs_specops; 73 #ifdef FIFO 74 extern struct vnodeops ffs_fifoops; 75 #define FFS_FIFOOPS &ffs_fifoops 76 #else 77 #define FFS_FIFOOPS NULL 78 #endif 79