#! /bin/sh # chkconfig: 345 91 35 # description: This package enables Linux to talk to Macintosh # computers via the AppleTalk networking protocol and # provides printer, file sharing, and AppleTalk routing # services. # # AppleTalk daemons. Make sure not to start atalkd in the background: # its data structures must have time to stablize before running the # other processes. # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Quickly probe for appletalk and warn if we can't find it /sbin/modprobe appletalk || echo "[could not load appletalk module]" # Check for IP Encapsulation support #/sbin/modprobe ipddp || echo "[could not load IP encapsulation]" # read in netatalk configuration . /etc/sysconfig/netatalk # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # initialize return values RETVAL=1 RETVAL_ATALKD=0 RETVAL_PAPD=0 RETVAL_AFPD=0 # startup code for everything case "$1" in 'start') if [ -f /var/lock/subsys/atalk ]; then msg_Already_Running "AppleTalk services" exit 1 fi if [ x"${ATALKD_RUN}" != x"no" ]; then msg_starting "atalkd" daemon atalkd RETVAL_ATALKD=$? action "Registering ${ATALK_NAME}:Workstation${ATALK_ZONE}:" nbprgstr -p 4 \"${ATALK_NAME}:Workstation${ATALK_ZONE}\" action "Registering ${ATALK_NAME}:netatalk${ATALK_ZONE}:" nbprgstr -p 4 \"${ATALK_NAME}:netatalk${ATALK_ZONE}\" if [ x"${PAPD_RUN}" = x"yes" ]; then msg_starting "papd" daemon papd RETVAL_PAPD=$? fi fi if [ x"${TIMELORD_RUN}" = x"yes" ]; then msg_starting "timelord" daemon timelord fi if [ x"${AFPD_RUN}" = x"yes" ] ; then msg_starting "afpd" daemon afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} -c ${AFPD_MAX_CLIENTS} -n \"${ATALK_NAME}${ATALK_ZONE}\" RETVAL_AFPD=$? fi if [ $RETVAL_ATALKD -eq 0 -a $RETVAL_PAPD -eq 0 -a $RETVAL_AFPD -eq 0 ]; then RETVAL=0 touch /var/lock/subsys/atalk || RETVAL=1 fi ;; 'stop') if [ ! -f /var/lock/subsys/atalk ]; then msg_Not_Running "AppleTalk services" exit 1 fi if [ x"${ATALKD_RUN}" != x"no" ]; then if [ x"${PAPD_RUN}" = x"yes" ]; then msg_stopping "papd" killproc papd RETVAL_PAPD=$? fi if [ x"${TIMELORD_RUN}" = x"yes" ]; then msg_stopping "timelord" killproc timelord fi action "Unregistering ${ATALK_NAME}:Workstation${ATALK_ZONE}:" nbpunrgstr \"${ATALK_NAME}:Workstation${ATALK_ZONE}\" action "Unregistering ${ATALK_NAME}:netatalk${ATALK_ZONE}:" nbpunrgstr \"${ATALK_NAME}:netatalk${ATALK_ZONE}\" msg_stopping "atalk" killproc atalkd RETVAL_ATALKD=$? fi if [ x"${AFPD_RUN}" = x"yes" ]; then msg_stopping "afpd" killproc afpd RETVAL_AFPD=$? fi if [ $RETVAL_ATALKD -eq 0 -a $RETVAL_PAPD -eq 0 -a $RETVAL_AFPD -eq 0 ] ; then RETVAL=0 rm -f /var/lock/subsys/atalk || RETVAL=1 fi ;; 'restart'|'reload') $0 stop $0 start RETVAL=$? ;; 'status') status atalkd RETVAL=$? ;; *) echo "Usage: atalk {start|stop|restart|status}" exit 1 esac exit $RETVAL