# Written by Bjorn Ekwall == bj0rn@blox.se in 1994. License: GNU GPL
#MODS=/linux/modules
MODS=.

param=""
force=""
exp=""
# exp="-x" for no export

if [ $# -eq 1 ]
then
	module=$1
	object=${1}.o
else
	for i in $*
	do
		case $1 in
		*.o)
			object=`basename $1`
			if [ A$module = A ]
			then
				module=`basename $object .o`
			fi
			;;
		*.mod)
			object=`basename $1`
			if [ A$module = A ]
			then
				module=`basename $object .mod`
			fi
			;;
		-o)
			module=$2; shift ;;
		-f)
			force="-f" ;;
		-x)
			exp="-x" ;;
		*)
			param="$param $1" ;;
		esac
		shift
	done
fi

if grep "^${module}$" $MODS/RESIDENT > /dev/null
then
	exit 0
fi

if ! grep "^${module} " /proc/modules > /dev/null
then
	if [ -f $MODS/$object ]
	then
		echo insmod $force $exp -o $module $MODS/$object $param
	else
		echo "no such module: $module"
		exit 1
	fi
fi
exit 0
