-extern u_long hashalloc();
-extern ino_t ialloccg();
-extern daddr_t alloccg();
-extern daddr_t alloccgblk();
-extern daddr_t fragextend();
-extern daddr_t blkpref();
-extern daddr_t mapsearch();
-extern int inside[], around[];
-extern unsigned char *fragtbl[];
+#include <ufs/ffs/fs.h>
+#include <ufs/ffs/ffs_extern.h>
+
+extern u_long nextgennumber;
+
+static daddr_t ffs_alloccg __P((struct inode *, int, daddr_t, int));
+static daddr_t ffs_alloccgblk __P((struct fs *, struct cg *, daddr_t));
+static ino_t ffs_dirpref __P((struct fs *));
+static daddr_t ffs_fragextend __P((struct inode *, int, long, int, int));
+static void ffs_fserr __P((struct fs *, u_int, char *));
+static u_long ffs_hashalloc
+ __P((struct inode *, int, long, int, u_long (*)()));
+static ino_t ffs_ialloccg __P((struct inode *, int, daddr_t, int));
+static daddr_t ffs_mapsearch __P((struct fs *, struct cg *, daddr_t, int));