#! /bin/sh # # Start/stop the AppleTalk daemons. # # AppleTalk daemons. Make sure not to start atalkd in the background: # its data structures must have time to stablize before running the # other processes. # HOSTNAME=`hostname` . /usr/local/develop/etc/netatalk/netatalk.conf if [ -f /etc/melco/info ]; then . /etc/melco/info fi configure() { ## configure files from Buffalo parameters. echo "configure atalkd atalk_name=${ATALK_NAME}" /usr/local/sbin/nas_configgen -c atalk if [ $? -ne 0 ]; then echo "$0 configure fail" exit 1 fi sync } load_modules() { echo "module load..." modprobe p8022 modprobe appletalk } unload_modules() { rmmod appletalk rmmod p8022 rmmod psnap rmmod llc } start_netatalk() { sed s/:DEFAULT:/:DEFAULT:\ ea:auto/ /etc/atalk/AppleVolumes.default |sed s/\"Time-Machine\"/\"Time-Machine\"\ options\:tm/ > /usr/local/develop/etc/netatalk/AppleVolumes.default /usr/local/develop/sbin/cnid_metad sleep 3 /usr/local/develop/sbin/afpd -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}" } # # Start the appletalk server processes. # start() { if [ "$atalk" != "on" ] ; then echo "atalk is OFF" exit 0 fi echo -n $"Starting AppleTalk services: " configure killall "atalkd" > /dev/null 2>&1 killall "afpd" > /dev/null 2>&1 killall "papd" > /dev/null 2>&1 killall "cnid_metad" > /dev/null 2>&1 /etc/init.d/remove_appledb.sh > /dev/null 2>&1 ## load_modules if [ "$ATALK_BGROUND" = yes ] ; then echo "(backgrounded)" { # /usr/local/sbin/atalkd -f /etc/atalk/atalkd.conf # /usr/local/bin/nbprgstr -p 4 "${ATALK_NAME}:Workstation" # /usr/local/bin/nbprgstr -p 4 "${ATALK_NAME}:netatalk" # if [ "$printer_mac" = "on" ] ; then # /usr/local/sbin/papd # fi start_netatalk } >/dev/null & else # /usr/local/sbin/atalkd -f /etc/atalk/atalkd.conf # /usr/local/bin/nbprgstr -p 4 "${ATALK_NAME}:Workstation" # /usr/local/bin/nbprgstr -p 4 "${ATALK_NAME}:netatalk" # if [ "$printer_mac" = "on" ] ; then # /usr/local/sbin/papd # fi start_netatalk # if [ "$codepage" = "CP932" ] ; then # /usr/local/sbin/afpd -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}" -k sjis # else # /usr/local/sbin/afpd -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}" # fi fi } # # Stop the appletalk server processes. # stop() { echo 'Stop servecies: atalkd afpd' /usr/local/bin/nbpunrgstr "${ATALK_NAME}:Workstation@*" /usr/local/bin/nbpunrgstr "${ATALK_NAME}:netatalk@*" killall atalkd killall afpd killall papd killall cnid_metad sleep 2 # unload_modules } bonjour_restart(){ if [ -x /etc/init.d/bonjour.sh ] ; then /etc/init.d/bonjour.sh restart fi } # # Usage statement. # case "$1" in start) start bonjour_restart ;; stop) stop bonjour_restart ;; restart) stop start bonjour_restart ;; *) echo "usage: $0 {start|stop}" exit 1 ;; esac