#!/bin/sh

USAGE='echo \
	"usage: $0 \
 (status|dumpdb|reload|stats|trace|notrace|querylog|start|stop|restart) \
	 ... \
	"; exit 1'

PATH=/usr/sbin:/bin:/usr/bin:/usr/ucb:$PATH
PIDFILE=/var/run/named.pid

for ARG
do
	case $ARG in
	status)	
		if [ -f $PIDFILE ]
		then
			PID=`cat $PIDFILE`
			PS=`ps $PID | tail -1 | grep $PID`
			[ `echo $PS | wc -w` -ne 0 ] || {
				PS="named (pid $PID?) not running"
			}
		else
			PS="named (no pid file) not running"
		fi

		echo "$PS"
		;;
	dumpdb)	
		start-stop-daemon --stop --signal 2 --pidfile $PIDFILE &&
		  echo Dumping Database
                echo ssd $?
		;;
	reload)	
		start-stop-daemon --stop --signal 1 --pidfile $PIDFILE &&
		  echo Reloading Database
		;;
	stats)	
		start-stop-daemon --stop --signal 6 --pidfile $PIDFILE &&
		  echo Dumping Statistics
		;;
	trace)	
		#kill -USR1 $PID && echo Trace Level Incremented
		start-stop-daemon --stop --signal 10 --pidfile $PIDFILE &&
		  echo Trace Level Incremented
		;;
	notrace) 
		start-stop-daemon --stop --signal 12 --pidfile $PIDFILE &&
		  echo Tracing Cleared
		;;
	querylog|qrylog) 
		#kill -WINCH $PID && echo Query Logging Toggled
		start-stop-daemon --stop --signal 28 --pidfile $PIDFILE &&
		  echo Query Logging Toggled
		;;
	start)
		echo -n "Starting Domain Name Service : named"
		start-stop-daemon --start --quiet --exec /usr/sbin/named
		echo "."

		;;
	stop)
		echo -n "Stoping Domain Name Service : named"
		start-stop-daemon --stop --pidfile $PIDFILE
		echo "."
		;;
	restart)
		start-stop-daemon --stop --quiet --pidfile $PIDFILE
		sleep 5
		start-stop-daemon --start --exec /usr/sbin/named && {
		  sleep 5
		  echo Name Server Restarted
		}
		;;
	*)	eval "$USAGE";;
	esac
done
test -z "$ARG" && eval "$USAGE"

exit 0
