#!/sbin/sh
#
#
# PURPOSE: Installation script to be used for HPUX 10.2 
#
# See <Sonnet directory>/data/hpux.txt for installation instructions
#
# File modified from /sbin/init.d/template (version 10.0)
# Version: 1.1
#-----------------------------------------------------------------------
#
#
# Allowed exit values:
#	0 = success; causes "OK" to show up in checklist.
#	1 = failure; causes "FAIL" to show up in checklist.
#	2 = skip; causes "N/A" to show up in the checklist.
#           Use this value if execution of this script is overridden
#	    by the use of a control variable, or if this script is not
#	    appropriate to execute for some other reason.
#       3 = reboot; causes the system to be rebooted after execution.

# Input and output:
#	stdin is redirected from /dev/null
#
#	stdout and stderr are redirected to the /etc/rc.log file
#	during checklist mode, or to the console in raw mode.

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

# NOTE: If your script executes in run state 0 or state 1, then /usr might
#	not be available.  Do not attempt to access commands or files in
#	/usr unless your script executes in run state 2 or greater.  Other
#	file systems typically not mounted until run state 2 include /var
#	and /opt.

rval=0

# Check the exit value of a command run by this script.  If non-zero, the
# exit code is echoed to the log file and the return value of this script
# is set to indicate failure.

set_return() {
	x=$?
	if [ $x -ne 0 ]; then
		echo "EXIT CODE: $x"
		rval=1	# script FAILed
	fi
}

# Kill the named process(es).
# $1=<search pattern for your process>

killproc() {
	pid=`ps -e | awk '$NF~/'"$1"'/ {print $1}'`
	if [ "X$pid" != "X" ]; then
		if kill "$pid"; then
			echo "$1 stopped"
		else
			rval=1
			echo "Unable to stop $1"
		fi
	fi
}


case $1 in
'start_msg')
	# Emit a _short_ message relating to running this script with
	# the "start" argument; this message appears as part of the checklist.
	echo "Starting the sonnet emserver subsystem"
	;;

'stop_msg')
	# Emit a _short_ message relating to running this script with
	# the "stop" argument; this message appears as part of the checklist.
	echo "Stopping the sonnet emserver subsystem"
	;;

'start')

	# source the system configuration variables
	if [ -f /etc/rc.config ] ; then
		. /etc/rc.config
	else
		echo "ERROR: /etc/rc.config defaults file MISSING"
	fi
	if [ "$SONNET_DIR" = "" ]; then
		echo "ERROR: SONNET_DIR not defined in /etc/rc.config.d/sonnetemserverconfig, exitiing"
		exit 1
	fi


	# Check to see if this script is allowed to run...
	if [ "$CONTROL_VARIABLE" != 1 ]; then
		rval=2
	else

		# Execute the commands to start your subsystem
		export SONNET_DIR SONNET_UMASK
		$SONNET_DIR/bin/emserver -DaemonProcess &
	fi
	;;

'stop')
	# source the system configuration variables
	if [ -f /etc/rc.config ] ; then
		. /etc/rc.config
	else
		echo "ERROR: /etc/rc.config defaults file MISSING"
	fi
	if [ "$SONNET_DIR" = "" ]; then
		echo "ERROR: SONNET_DIR not defined in /etc/rc.config.d/sonnetserverconfig, exitiing"
		exit 1
	fi

	# Check to see if this script is allowed to run...
	if [ "$CONTROL_VARIABLE" != 1 ]; then
		rval=2
	else
		# Execute the commands to stop your subsystem
		export SONNET_DIR SONNET_UMASK
		$SONNET_DIR/bin/emclient -SHUTDOWN &

	fi
	;;

*)
	echo "usage: $0 {start|stop|start_msg|stop_msg}"
	rval=1
	;;
esac

exit $rval
