#!/bin/bash

DIR="/usr/local/sbin"
PATH=$DIR:$PATH

# log file
LOG=/var/log/fpac.log
echo "=========================================" >> $LOG
echo "MYFPAC.SH : " >> $LOG
/bin/date >> $LOG
#rm -f $LOG

# serial port for watchdog
# WDOG_PORT="/dev/ttyS4"
WDOG_PORT=""

# callsign of the sysop
SYSOP="F6BVP"
# Node Callsign
#NODECALL="$HOSTNAME"
NODECALL="f6bvp-8"

# load ROSE module
/usr/sbin/modprobe rose
#

# route/callsign of the notified BBS
CONNECT="rose0 f6bvp-8 2080175520"
#CONNECT="MYBBS-1"

export PATH SYSOP CONNECT

case "$1" in
-restart|restart)
	echo -n "Restartting FPAC  :" >> $LOG
	$0 -stop && $0 -start
	sleep 3
	$0 status
	;;
-stop|stop)
	echo " "
	echo -n "Halting FPAC :"
	echo -n "Halting FPAC  :" >> $LOG
	for PROC_NAME in fpacnode fpacshell
	do
#		PID=`/bin/pidof -x $DIR/$PROC_NAME`
		PID=`/bin/pidof -x $PROC_NAME`
		if [ -n "$PID" ]; then
                        kill -TERM $PID
			sleep 4
		fi
	done
	echo -n " [flexd] "
	kill -TERM `/bin/pidof -x $DIR/flexd` 2>/dev/null
	echo -n " [route] "
	kill -TERM `/bin/pidof -x $DIR/fpacroute` 2>/dev/null
	echo -n " [stats] "
	kill -TERM `/bin/pidof -x $DIR/fpacstat` 2>/dev/null
	echo -n " [wp] "
	kill -TERM `/bin/pidof -x $DIR/fpacwpd` 2>/dev/null
	echo -n " [pad] "
#	kill -KILL `/bin/pidof -x $DIR/fpad` 2>/dev/null
	kill -TERM `/bin/pidof -x $DIR/fpad` 2>/dev/null
	echo -n " [wdog] "
	kill -TERM `/bin/pidof -x $DIR/fpacwdog` 2>/dev/null
	echo -n " [ax25d] "
	PID=`/bin/pidof -x $DIR/ax25d` 
	if [ -n "$PID" ]; then
		kill -TERM $PID 2>/dev/null
		sleep 1
	fi
	echo -n " [netromd] "
	PID=`/bin/pidof -x $DIR/netromd`
	if [ -n "$PID" ]; then
		kill -TERM $PID 2>/dev/null
		sleep 1
	fi
	echo  " "
#	echo -n " ok "
	echo " ok "
	;;
-status|status)
	echo " "
        echo -e "\nStatus of FPAC :"

	for PROC_NAME in fpacwdog fpad fpacwpd fpacstat fpacroute flexd ax25ipd netromd ax25d
	do
	        PID=`/bin/pidof -x $DIR/$PROC_NAME`
		if [ -n "$PID" ]; then
			echo -e "$PROC_NAME    \tis running"

		else
			echo -e "$PROC_NAME    \tis not running"
		fi
	done
	echo
        ;;
fpad)
	while [ 1 ]
	do
		$DIR/fpad -d
		sleep 1
	done
	;;
fpacwpd)
	while [ 1 ]
	do
		$DIR/fpacwpd -d -v -x
		sleep 1
	done
	;;

-start|start)
	FPAC_BG="yes"
	export FPAC_BG
	echo " "
	echo -n "Starting FPAC : " >> $LOG
	echo -n "Starting FPAC : "
	if [ "_$WDOG_PORT" != "_" ] ; then
		echo -n " [wdog] "
		$DIR/fpacwdog -p 2 $WDOG_PORT >> $LOG 2>&1
	fi
#	echo -n " [ax25d] "
#	$DIR/ax25d >> $LOG 2>&1
#	sleep 2
	echo -n " [rc-netrom] "
	/etc/ax25/rc.netrom >> $LOG 2>&1
	sleep 2
#	echo -n " [netromd] "
#	/usr/local/sbin/netromd -d -l -i -t 10
#	sleep 2
	echo -n " [fpad] "
	$DIR/fpad >> $LOG 2>&1 
	echo -n " [fpacwpd] "
	sleep 2
	$DIR/fpacwpd >> $LOG 2>&1 
	echo -n " [fpacstat] "
	sleep 2
	$DIR/fpacstat >> $LOG 2>&1
	echo -n " [fpacroute] "
	sleep 2
	$DIR/fpacroute >> $LOG 2>&1
	echo -n " [flexd] "
	$DIR/flexd >> $LOG 2>&1
	sleep 2
#	(sleep 10 ; /bin/date | $DIR/mailbbs -d $SYSOP -t "FPAC node $NODECALL started" $CONNECT) &
#	sleep 2
	echo " ok "
	;;

*) echo "Usage : $0 {-start|-stop|-restart|-status|fpad|fpacwpd}"
exit 1

esac


exit 0

#/usr/bin/killall netromd
#/usr/local/sbin/netromd -d -l -i -t 10
#/usr/local/sbin/netromd -i -t 5
