#!/bin/sh
#
#	Description: Start and Stop Adaptec daemons
#

if [ "$1" = "start" ]
then
    if [ ! -d /proc/scsi/dpt_i2o -a ! -d /proc/scsi/dpt ]
    then
        echo "	Adaptec I2O driver is not loaded... daemons will not be loaded" >&2
        exit 0
    fi

    echo "Starting Adaptec daemons"

    # if we were invoked as dptelog, just run dptelog
    BASE=`basename $0`
    INVOKED_AS=`echo $BASE | cut -c4- | sed "s/@//" > /dev/null`
    if [ "$INVOKED_AS" = "dptelog" ]
    then
        /usr/dpt/dptelog > /dev/null 2> /dev/null &
        exit 0
    fi

    if [ -z "`ps -C dptcom | grep dptcom | grep -v grep`" ] ; then
        rm -f /tmp/dptcom.load
    fi

    if [ -z "`ps -C dpteng | grep dpteng | grep -v grep`" ] ; then
        rm -f /tmp/dpteng.LOCK
    fi

    if [ -x /usr/dpt/dptscom ] ; then
        /usr/dpt/dptscom -DAEMON > /tmp/dptscom.log &
    fi

	if [ -x /usr/dpt/dptelog ] ; then
        if [ -x /usr/dpt/dptagent ] ; then
            ( /usr/dpt/dptagent > /dev/null 2> /dev/null ; /usr/dpt/dptelog > /dev/null 2> /dev/null & ) &
        else
	        /usr/dpt/dptelog > /dev/null 2> /dev/null &
        fi
    fi

elif [ "$1" = "stop" ]
then
    echo "Stopping Adaptec daemons"
    kill -SIGTERM `ps -A | grep -v grep | fgrep "dptscom
dptcom
dptelog
dptagent
dpteng" | awk '{print $1}'` 2> /dev/null
    kill -SIGKILL `ps -C dpteng | grep dpteng | grep -v grep | awk '{print $1}'` 2> /dev/null
    # rm -f /tmp/dptcom.load
    # rm -f /tmp/dpteng.LOCK
else
	echo "Usage:	$0 start|stop"
    exit 1
fi
exit 0
