#!/sbin/sh

# *****
# /sbin/init.d/rclocal
# execute Linux-style rc.local on HP-UX 11.11 or other rc and init.d based
#   Unix environments that don't support rc.local directly; see
#   https://supratim-sanyal.blogspot.com/2021/10/linux-style-etcrclocal-for-hp-ux-1111.html
# *****

# 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.
#	4 = background; causes "BG" to show up in the checklist.
#           Use this value if this script starts a process in background mode.

# 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 -el | awk '( ($NF ~ /'"$1"'/) && ($4 != mypid) && ($5 != mypid)  ){ print $4 }' mypid=$$ `
#	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 "Executing SANYALnet Labs /etc/rc.local"
	;;

'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 <specific> subsystem"
	echo "Executing SANYALnet Labs /etc/rc.shutdown"
	;;

'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 [ -x /etc/rc.local ] ; then
		. /etc/rc.local			#IMP: the file is sourced
	else
		echo "ERROR: cannot execute /etc/rc.local"
	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
	#:
	#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 [ -x /etc/rc.shutdown ] ; then
		. /etc/rc.shutdown		#IMP - the files is sourced
	else
		echo "ERROR: cannot execute /etc/rc.shutdown"
	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
	#fi
	;;

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

exit $rval