aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/vnode.h
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1998-10-16 03:55:01 +0000
committerPeter Wemm <peter@FreeBSD.org>1998-10-16 03:55:01 +0000
commitaa855a598d9a933daa5facd559803ef280326028 (patch)
tree658058677a1163782b542369703538ecadfd07ba /sys/sys/vnode.h
parentdf481e793ff16f23517c70c8ff42884d16ca7fb9 (diff)
downloadsrc-aa855a598d9a933daa5facd559803ef280326028.tar.gz
src-aa855a598d9a933daa5facd559803ef280326028.zip
*gulp*. Jordan specifically OK'ed this..
This is the bulk of the support for doing kld modules. Two linker_sets were replaced by SYSINIT()'s. VFS's and exec handlers are self registered. kld is now a superset of lkm. I have converted most of them, they will follow as a seperate commit as samples. This all still works as a static a.out kernel using LKM's.
Notes
Notes: svn path=/head/; revision=40435
Diffstat (limited to 'sys/sys/vnode.h')
-rw-r--r--sys/sys/vnode.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
index d7b655030609..5567a3a5e079 100644
--- a/sys/sys/vnode.h
+++ b/sys/sys/vnode.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)vnode.h 8.7 (Berkeley) 2/4/94
- * $Id: vnode.h,v 1.73 1998/09/10 02:27:52 tegge Exp $
+ * $Id: vnode.h,v 1.74 1998/09/11 18:50:16 rvb Exp $
*/
#ifndef _SYS_VNODE_H_
@@ -256,10 +256,11 @@ extern int vttoif_tab[];
#define NULLVP ((struct vnode *)NULL)
-#ifdef VFS_LKM
+#if defined(VFS_LKM) && !defined(KLD_MODULE)
#define VNODEOP_SET(f) DATA_SET(MODVNOPS,f)
#else
-#define VNODEOP_SET(f) DATA_SET(vfs_opv_descs_,f)
+#define VNODEOP_SET(f) \
+ SYSINIT(f##init, SI_SUB_VFS, SI_ORDER_SECOND, vfs_mod_opv_init, &f);
#endif
/*
@@ -487,7 +488,8 @@ void vattr_null __P((struct vattr *vap));
int vcount __P((struct vnode *vp));
void vdrop __P((struct vnode *));
int vfinddev __P((dev_t dev, enum vtype type, struct vnode **vpp));
-void vfs_opv_init __P((struct vnodeopv_desc **them));
+void vfs_opv_init __P((struct vnodeopv_desc *opv));
+void vfs_mod_opv_init __P((void *handle));
int vflush __P((struct mount *mp, struct vnode *skipvp, int flags));
int vget __P((struct vnode *vp, int lockflag, struct proc *p));
void vgone __P((struct vnode *vp));