diff options
author | Peter Wemm <peter@FreeBSD.org> | 1998-10-16 03:55:01 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 1998-10-16 03:55:01 +0000 |
commit | aa855a598d9a933daa5facd559803ef280326028 (patch) | |
tree | 658058677a1163782b542369703538ecadfd07ba /sys/sys/vnode.h | |
parent | df481e793ff16f23517c70c8ff42884d16ca7fb9 (diff) | |
download | src-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.h | 10 |
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)); |