#!/bin/sh

test -x /usr/sbin/atalkd || exit 0

servername=`hostname --short`

case "$1" in
  start)
    echo -n "Starting AppleTalk daemons (this may take a while):"
    if [ -f /proc/modules -a -r /lib/modules/`uname -r`/net/appletalk.o ]; then
            modprobe appletalk.o
    fi
    echo -n " atalkd"; start-stop-daemon --start --quiet --exec /usr/sbin/atalkd
    sleep 5
    /usr/bin/nbprgstr -p 4 "$servername:Workstation"
    /usr/bin/nbprgstr -p 4 "$servername:netatalk"
    echo -n " papd"; start-stop-daemon --start --quiet --exec /usr/sbin/papd
    echo -n " afpd"; start-stop-daemon --start --quiet --exec /usr/sbin/afpd -- -e -n "$servername"
    echo "."
    ;;

  stop)
    echo -n "Stopping AppleTalk daemons:"
    echo -n " afpd"; start-stop-daemon --stop --quiet --oknodo --exec /usr/sbin/afpd
    echo -n " papd"; start-stop-daemon --stop --quiet --oknodo --exec /usr/sbin/papd
    /usr/bin/nbpunrgstr "$servername:Workstation"
    /usr/bin/nbpunrgstr "$servername:netatalk"
    sleep 3
    echo -n " atalkd"; start-stop-daemon --stop --quiet --oknodo --exec /usr/sbin/atalkd
    echo "."
    sleep 5
    if [ -f /proc/modules -a -r /lib/modules/`uname -r`/net/appletalk.o ]; then
	modprobe -r appletalk
    fi
    ;;

restart)
    $0 force-reload
    ;;

force-reload)
    echo -n "Restarting AppleTalk Daemons (this may take a while)"
    /etc/init.d/netatalk stop > /dev/null 2>&1
    echo -n "."
    sleep 2
    echo -n "."
    if /etc/init.d/netatalk start > /dev/null 2>&1
    then
        echo "done."
    fi
    ;;
  
  *)
    echo "Usage: /etc/init.d/netatalk {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac
