#!/bin/sh

/DSX/IM/IntraMail.sh

killall dsxwdog
dsxwdog 10 &

dsxreset
status=$?

while true
do
	if [ "$status" -eq 254 ] || [ "$status" -eq 1 ]
	then
	 	
# DSX configuration files erased here	

		echo
		echo "DSX Database Erased...Cold Starting"
		rm -rf /DSX/DB
		rm -f /usr/share/DSXEmailService/workq
		rm -f /usr/share/DSXEmailService/SMTPResults.txt
		rm -f /usr/share/DSXEmailService/SMTPFailure.txt
		rm -f /usr/share/DSXEmailService/DSXEmail.log1
		rm -f /usr/share/DSXEmailService/DSXEmail.log2
		
	elif [ "$status" -eq 6 ]
	then
	 	
# DSX configuration files restored here	

		echo
		echo "DSX Database Erased..."
		rm -rf /DSX/DB
		echo "DSX Database Restoring..."
		tar xvf /cf/DSXDB.tar -C /
	fi

	/DSX/DSXApp.elf $status
	exitcode=$?
	echo
	echo -n " >>> DSXApp: exit ($exitcode)"
	
	dsxreset
	status=$?
	
	if [ "$status" -eq 0 ]
	then
		status=$exitcode
	fi

	dsxled 0 0
	dsxled 1 1
		
	echo
	echo -n " >>> DSXApp: Closed ($status)"
	
	case "$status" in
	
	0 ) echo -n "...Warm Start Requested"
		;;
		
	1 )
	 	echo -n "...Cold Start Requested"
	 	;;
	 	
	2 )
		echo -n "...CTL-C Entered"
		;;
		
	3 )
		echo -n "...Software Watchdog Occurred"
		;;
		
	4 )
		echo "...Exiting to Linux"
		break;
		;;
	 	
	5 )
		echo -n "...Error Encountered"
		;;
		
	6 )
	 	echo -n "...DB Restore Requested"
	 	;;
		
	7 )
		echo "...Hard Reset Requested"
		reboot
		;;
		
	15 )
		echo "...Terminated"
		;;
		
	126 )
		echo "...No Execute Permission"		
		break;
		;;

	127 )
		echo "...Application Not Found"		
		break;
		;;
		
	137 )
		echo "...Killed"
		break;
		;;
		
	139 )
		echo "...Segmentation Violation"
		;;
		
	* )
		;;

	esac
	
	dsxwdog 10 &
	
	sleep 1
	
done

dsxwdog -1

exec /sbin/getty -L 38400 ttyCPM0

	
