#!/bin/sh
#
#
#ident "%W% %G% SMI"
#
#
# Copyright 1994 Sun Microsystems, Inc. All Rights Reserved
#
# Exit codes for installation scripts 
e_ok=0      
e_fatal=1      # stop installation on this exit
e_warning=2    # Installation will go on. 
e_int=3        # Interrupted. Stop installation
e_reboot=10    # User must reboot after installation of all selected packages
e_rebootnow=20 # User must reboot right after installation of current package
               # To be added to one of the single-digit exit code above

FTAM_DAEMON=osiftrd     # name of FTAM daemon to kill
VT_DAEMON1=vtdae        # name of VT daemon to kill
VT_DAEMON2=osidvt       # name of VT daemon to kill

# Trap interrupt
trap `exit $e_int` 15

# Check if any OSI application is running and kill it
if [ -f /etc/SUNWconn/OSIROOT ]
then
	OSIROOT=`cat /etc/SUNWconn/OSIROOT 2>/dev/null`
	if [ -d $OSIROOT/mbx ]
	then
		RUNPROC=`cd $OSIROOT/mbx;ls | grep -v SMTP_X400 | sed "s/timer.mbx/ositimer/"`
		if [ -n "$RUNPROC" ]
		then
		for i in $RUNPROC
		do
			PID=`ps -fe | grep $i | grep -v grep | awk '{print $2}'`
			if [ -n "$PID" ]
			then
				echo killing $i
				kill -9 $PID
			fi
		done
		/bin/rm -f $OSIROOT/mbx/*  >/dev/null 2>&1
		/bin/rm -f $OSIROOT/conf/osiam_op.data >/dev/null 2>&1
		fi
	fi

# Check FTAM and VT daemons
        pid=`ps -fu root | grep $FTAM_DAEMON | egrep -v grep | awk '{ print $2 }'`
        for p in $pid
        do
                echo "killing osiftrd PID=$p\n"
                kill -15 $p >/dev/null 2>&1
        done
        pid=`ps -fu root | grep $VT_DAEMON1 | egrep -v grep | awk '{ print $2 }'`
        for p in $pid
        do
                echo "killing vtdae PID=$p\n"
                kill -15 $p >/dev/null 2>&1
        done
        pid=`ps -fu root | grep $VT_DAEMON2 | egrep -v grep | awk '{ print $2 }'`
        for p in $pid
        do
                echo "killing osidvt PID=$p\n"
                kill -15 $p >/dev/null 2>&1
        done
fi
OSILOGDPID=`ps -fe | grep osilogd | grep -v grep | awk '{print $2}'`
if [ -f /etc/rc2.d/S90osinet ]
then
	sh /etc/rc2.d/S90osinet stop
fi
PID=`ps -fe | grep osilogd | grep -v grep | awk '{print $2}'`
if [ -n "$PID" ]
then
	echo killing osilogd
	kill -9 $PID
fi
if [ -n "$OSILOGDPID" ]
then
	MKEY=`ipcs -p | grep $OSILOGDPID | sed "s/.*0x\([0-9a-f]*\) .*/\1/"`
	if [ -n "$MKEY" ]
	then
		SKEY=`bc <<%
obase=16
ibase=16
$MKEY + 01000000
%`
		ipcrm -M0x$MKEY -S0x$SKEY >/dev/null 2>&1
	fi
fi
exit $e_ok
