#!/bin/bash
#
# psion        Starts ncpd/plpnfsd.
#
# chkconfig: 2345 80 20
# description: This facility enables connectivity to a Psion series 5.

     START_NCPD="yes"
      NCPD_ARGS=""
  START_PLPNFSD="yes"
   PLPNFSD_ARGS=""
START_PLPPRINTD="yes"
 PLPPRINTD_ARGS=""

. /etc/config.d/psion.conf

start() {
	echo "Starting Psion support ..."
	RETVAL=0
	if test "$START_NCPD" = "yes" ; then
		echo -n "  ncpd: "
		daemon /usr/sbin/ncpd $NCPD_ARGS
		RETVAL=$?
		echo
	fi
	if [ $RETVAL -eq 0 ] ; then
		if test "$START_PLPNFSD" = "yes" ; then
			echo -n "  plpnfsd: "
			daemon /usr/sbin/plpnfsd $PLPNFSD_ARGS
			RETVAL=$?
			echo
		fi
		if test "$START_PLPPRINTD" = "yes" ; then
			echo -n "  plpprintd: "
			daemon /usr/sbin/plpprintd $PLPPRINTD_ARGS
			RETVAL=$?
			echo
		fi
	fi
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/psion
	return $RETVAL
}

stop() {
	echo "Stopping Psion support ..."
	RETVAL=0
	if test "$START_PLPNFSD" = "yes" ; then
		echo -n "  plpnfsd: "
		killproc plpnfsd -HUP
		WAIT=5
		while test $WAIT -gt 0 ; do
			test -z "`pidofproc plpnfsd`" && break;
			sleep 1 # allow plpnfsd flushing it's cache
			WAIT=`expr $WAIT - 1`
		done
		test -z "`pidofproc plpnfsd`" || killproc plpnfsd
		echo
	fi
	if test "$START_PLPPRINTD" = "yes" ; then
		echo -n "  plpprintd: "
		killproc plpprintd
		echo
	fi
	if test "$START_NCPD" = "yes" ; then
		echo -n "  ncpd: "
		killproc ncpd
		RETVAL=$?
		echo
	fi
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/psion
	return $RETVAL
}

reload () {
	default_restart
}

# See how we were called.
case "$1" in
  start|stop|restart|reload|restart)
	;;
  *)
	echo "Usage: psion {start|stop|restart|reload}"
	exit 1
esac

. /lib/lsb/init-functions

