diff options
| author | cvs2svn <cvs2svn@FreeBSD.org> | 1999-01-21 00:55:32 +0000 | 
|---|---|---|
| committer | cvs2svn <cvs2svn@FreeBSD.org> | 1999-01-21 00:55:32 +0000 | 
| commit | 76b5366091f76c9bc73570149ef5055648fc2c39 (patch) | |
| tree | 590d020e0f2a5bea6e09d66d951a674443b21d67 /sys/kern/vnode_if.sh | |
| parent | 4b4d01da6f07f7754ff6a6e4f5223e9f0984d1a6 (diff) | |
Diffstat (limited to 'sys/kern/vnode_if.sh')
| -rw-r--r-- | sys/kern/vnode_if.sh | 40 | 
1 files changed, 38 insertions, 2 deletions
| diff --git a/sys/kern/vnode_if.sh b/sys/kern/vnode_if.sh index 8193edb0c53c7..d289c35da7686 100644 --- a/sys/kern/vnode_if.sh +++ b/sys/kern/vnode_if.sh @@ -32,7 +32,7 @@  # SUCH DAMAGE.  #  #	@(#)vnode_if.sh	8.1 (Berkeley) 6/10/93 -# $Id: vnode_if.sh,v 1.15 1998/07/04 20:45:32 julian Exp $ +# $Id: vnode_if.sh,v 1.14 1997/12/19 23:25:16 bde Exp $  #  # Script to produce VFS front-end sugar. @@ -188,7 +188,7 @@ cat << END_OF_LEADING_COMMENT > $CFILE  #include <sys/vnode.h>  struct vnodeop_desc vop_default_desc = { -	1,			/* special case, vop_default => 1 */ +	0,  	"default",  	0,  	NULL, @@ -400,3 +400,39 @@ struct vnodeop_desc vop_bwrite_desc = {  	NULL,  };  END_OF_SPECIAL_CASES + +# Add the vfs_op_descs array to the C file. +$AWK ' +	BEGIN { +		printf("\nstruct vnodeop_desc *vfs_op_descs[] = {\n"); +		printf("\t&vop_default_desc,	/* MUST BE FIRST */\n"); +		printf("\t&vop_strategy_desc,	/* XXX: SPECIAL CASE */\n"); +		printf("\t&vop_bwrite_desc,	/* XXX: SPECIAL CASE */\n"); +	} +	END { +		printf("\tNULL\n};\n"); +	} +	NF == 0 || $0 ~ "^#" { +		next; +	} +	{ +		# Get the function name. +		printf("\t&%s_desc,\n", $1); + +		# Skip the function arguments. +		for (;;) { +			if (getline <= 0) +				exit +			if ($0 ~ "^};") +				break; +		} +	}' < $SRC >> $CFILE + +cat << END_OF_NUMOPS_CODE >> $CFILE + +/* + * the -1 is to account for the NULL + * XXX is the NULL still necessary?  I don't think so... + */ +int vfs_opv_numops = (sizeof(vfs_op_descs)/sizeof(struct vnodeop_desc *)) - 1; +END_OF_NUMOPS_CODE | 
