#
# /etc/init.d/functions - global functions that are used by scripts
#
# -----------------------------------------------------------------------------

. /etc/init.d/globals

run_initscripts() {
	if [ "x$1" == xstop ]; then
		action="stop"
		doing="stopping"
		files="/etc/init.d/K[0-9][0-9]* /var/etc/init.d/K[0-9][0-9]*"
	else
		action="start"
		doing="starting"
		files="/etc/init.d/S[0-9][0-9]* /var/etc/init.d/S[0-9][0-9]*"
	fi

	names=$(for file in $files ; do echo ${file##*/} ; done | sort -u)

	for name in $names; do
		[ "${name:1}" = "[0-9][0-9]*" ] && continue
		for file in /etc/init.d/$name /var/etc/init.d/$name; do
			if [ -x "$file"  ]; then
				LOGINFO "$doing $file ..."
				"$file" $action
				break;
			fi
		done
	done
}

create_node()
{
	device=$1

	rm -f /dev/${device}
	major=`awk "\\$2==\"$device\" {print \\$1}" /proc/devices`

	if [ ${major} ]; then
		LOGINFO "Creating device node $1"
		mknod /dev/${device} c $major 0
	fi
}

create_node_dir()
{
	device=$1

	rm -rf /dev/${device}
	mkdir -p /dev/${device}

	major=`awk "\\$2==\"$device\" {print \\$1}" /proc/devices`

	if [ ${major} ]; then
		LOGINFO "Creating device node dir $1"
		mknod /dev/${device}/0 c $major 0
	fi
}

load_module()
{
	kernel=$(uname -r)
	module=/lib/modules/${kernel}/$1
	shift
	params=$@

	if [ -e $module ]; then
		LOGINFO "Loading ${module##*/} "
		insmod $module $params
	fi
}

get_setting()
{
	test -e $NEUTRINO_CONF && grep "^${1}=" $NEUTRINO_CONF | cut -d'=' -f2
}