#! /bin/sh
#
# Stolen from RedHat FC5.
#

# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ] || exit 0

# Make directories.
mkdir -p /var/cache/samba
mkdir -p /var/log/samba

start() {
	echo -n "Starting SMB services: "
	if ! smbd -D; then
		echo "failed"
		RETVAL=1
	else
		echo "done"
		RETVAL=0
	fi

	echo -n "Starting NMB services: "
	if ! nmbd -D; then
		echo "failed"
		RETVAL2=1
	else
		echo "done"
		RETVAL2=0
	fi

	if [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ]; then
		RETVAL=0
	else
		RETVAL=1
	fi
	return $RETVAL
}

stop() {
	echo -n "Shutting down SMB services: "
	if ! kill -9 `pidof smbd`; then
		echo "failed"
		RETVAL=1
	else
		echo "done"
		RETVAL=0
	fi
	rm -f /var/run/smbd.pid

	echo -n "Shutting down NMB services: "
	if ! kill -9 `pidof nmbd`; then
		echo "failed"
		RETVAL2=1
	else
		echo "done"
		RETVAL2=0
	fi
	rm -f /var/run/nmbd.pid

	if [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ]; then
		RETVAL=0
	else
		RETVAL=1
	fi
	return $RETVAL
}

restart() {
	stop
	start
}

reload() {
        echo -n "Reloading smb.conf file: "
	if ! kill -HUP `pidof smbd`; then
		echo "failed"
		RETVAL=1
	else
		echo "done"
		RETVAL=0
	fi
	return $RETVAL
}

case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  restart)
	restart
	;;
  reload)
	reload
	;;
  *)
	echo "Usage: $0 {start|stop|restart|reload}"
	exit 1
esac

exit $?
