#!/sbin/sh
#
# Copyright (c) 1998-1999 by Sun Microsystems, Inc.
# All rights reserved.
#
#ident	"@(#)ncalogd	1.20	99/05/10 SMI"
#

PATH=/sbin:/usr/bin:/usr/sbin; export PATH

NCALOGD=/usr/lib/nca/ncalogd
NCALOGDCONF=/etc/nca/ncalogd.conf
NCAKMODCONF=/etc/nca/ncakmod.conf
DEFAULT_LOGD_DOOR=/tmp/nca_logd_1.door

readconf() {
	while read varname varvalue; do
		case "$varname" in
		'#'* | '')	# Ignore comments, empty lines
				continue ;;
		esac
		[ "x$varname" = "x$1" ] && break
	done
}

case "$1" in
'start')

	exec < $NCALOGDCONF; readconf "status"
	case "$varvalue" in
	'enabled')
		;; # Fall through
	*)
		# Default is "disabled"
		exit 0
		;;
	esac

	exec < $NCAKMODCONF; readconf "status"
	case "$varvalue" in
	'enabled')
		;; # Fall through
	*)
		# Default is exit if ncakmod is disabled
		exit 0
		;;
	esac

	if [ -f "$NCALOGD" ]; then
		echo 'NCA log daemon service starting.'

		exec < $NCALOGDCONF; readconf "logd_direct_io"
		case "$varvalue" in
		'enabled')
			# Default is "enabled"
			;; # Fall through
		*)
			OPTIONS="$OPTIONS -D"
			;;
		esac

		exec < $NCALOGDCONF; readconf "logd_door_path"
		if [ "$varvalue" != "$DEFAULT_LOGD_DOOR" ]; then
			OPTIONS="$OPTIONS -d $varvalue"
		fi

		exec < $NCALOGDCONF; readconf "logd_file_size"
		OPTIONS="$OPTIONS -s $varvalue"

		exec < $NCALOGDCONF; readconf "logd_path_name"
		OPTIONS="$OPTIONS -l $varvalue"
		for i in $varvalue
		do
			LOGD_DIR=`/usr/bin/dirname ${i}`
			[ -d "$LOGD_DIR" ] || /usr/bin/mkdir -p $LOGD_DIR
		done

		$NCALOGD $OPTIONS &

	fi
	;;

'stop')
	/usr/sbin/ndd -set /dev/nca nca_logging_on 0
	;;

*)
	echo "Usage: $0 { start | stop }"
	exit 1
	;;
esac
