#!/sbin/sh
#
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T.
# All rights reserved.
#
# ident	"@(#)rc0	1.1	08/05/06 SMI"
#
# Solaris 9 Brand Replacement rc driver script

PATH=/usr/sbin:/usr/bin
ALT_RC_DIR=/.SUNWnative/usr/lib/brand/solaris9/files/rc0.d

echo 'The system is coming down.  Please wait.'

# Make sure /usr is mounted before proceeding since init scripts
# and this shell depend on things on /usr file system

/sbin/mount /usr >/dev/null 2>&1

# Export boot parameters to rc scripts

set -- `/usr/bin/who -r`

_INIT_RUN_LEVEL="$7"	# Current run-level
_INIT_RUN_NPREV="$8"	# Number of times previously at current run-level
_INIT_PREV_LEVEL="$9"	# Previous run-level

set -- `/usr/bin/uname -a`

_INIT_UTS_SYSNAME="$1"  # Operating system name (uname -s)
_INIT_UTS_NODENAME="$2" # Node name (uname -n)
_INIT_UTS_RELEASE="$3"  # Operating system release (uname -r)
_INIT_UTS_VERSION="$4"  # Operating system version (uname -v)
_INIT_UTS_MACHINE="$5"  # Machine class (uname -m)
_INIT_UTS_ISA="$6"      # Instruction set architecture (uname -p)
_INIT_UTS_PLATFORM="$7" # Platform string (uname -i)

export _INIT_RUN_LEVEL _INIT_RUN_NPREV _INIT_PREV_LEVEL \
    _INIT_UTS_SYSNAME _INIT_UTS_NODENAME _INIT_UTS_RELEASE _INIT_UTS_VERSION \
    _INIT_UTS_MACHINE _INIT_UTS_ISA _INIT_UTS_PLATFORM

if [ -d /etc/rc0.d ]; then
	for f in /etc/rc0.d/K*; do
		SCRIPT_NAME=`basename $f`
		ALT_SCRIPT=$ALT_RC_DIR/$SCRIPT_NAME
		if [ -s $ALT_SCRIPT ]; then
			case $ALT_SCRIPT in
				*.sh)	.	 $ALT_SCRIPT ;;
				*)	/sbin/sh $ALT_SCRIPT stop ;;
			esac
		elif [ -s $f ]; then
			case $f in
				*.sh)	.	 $f ;;
				*)	/sbin/sh $f stop ;;
			esac
		fi
	done

	# System cleanup functions ONLY (things that end fast!)	

	for f in /etc/rc0.d/S*; do
		SCRIPT_NAME=`basename $f`
		ALT_SCRIPT=$ALT_RC_DIR/$SCRIPT_NAME
		if [ -s $ALT_SCRIPT ]; then
			case $ALT_SCRIPT in
				*.sh)	.	 $ALT_SCRIPT ;;
				*)	/sbin/sh $ALT_SCRIPT start ;;
			esac
		elif [ -s $f ]; then
			case $f in
				*.sh)	.	 $f ;;
				*)	/sbin/sh $f start ;;
			esac
		fi
	done
fi

[ -f /etc/.dynamic_routing ] && /usr/bin/rm -f /etc/.dynamic_routing

trap "" 15

# Kill all processes, first gently, then with prejudice.

/usr/sbin/killall
/usr/bin/sleep 5
/usr/sbin/killall 9
/usr/bin/sleep 10
[ -x /usr/lib/acct/closewtmp ] && /usr/lib/acct/closewtmp
/sbin/sync; /sbin/sync; /sbin/sync

echo 'The system is down.'
