#!/bin/sh
#
# netplugd     This shell script takes care of starting and stopping
#              the network plug management daemon.
#
# chkconfig: - 11 89
# description: netplugd is a daemon for managing non-static network \
#              interfaces.
# processname: netplugd
# pidfile: /var/run/netplugd.pid

# Copyright 2003 Key Research, Inc.

# Create needed directories
mkdir -p /var/lock/subsys

# Source function library.
if [ -f /etc/init.d/functions ]; then
	. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
	. /etc/rc.d/init.d/functions
fi

# Source networking configuration.
if [ -f /etc/default/network ]; then
	. /etc/default/network

	# Check that networking is up.
	[ "${NETWORKING}" = "no" ] && exit 0
elif [ ! -f /etc/network/interfaces ]; then
	# No network support
	exit 0
fi

if [ -f /etc/default/netplugd ]; then
    . /etc/default/netplugd
fi

# See how we were called.
case "$1" in
  start)
	# Start daemon.
	printf "Starting network plug daemon: "
	start-stop-daemon -S -q -x /sbin/netplugd -- -p /var/run/netplugd.pid ${NETPLUGDARGS}
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/netplugd
	;;
  stop)
	# Stop daemon.
	printf "Shutting down network plug daemon: "
	start-stop-daemon -K -q -p /var/run/netplugd.pid
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/netplugd
	;;
  restart|reload)
	$0 stop
	$0 start
	;;
  condrestart)
	[ -f /var/lock/subsys/netplugd ] && $0 restart || :
	;;
  *)
	echo "Usage: $0 {start|stop|restart}"
	RETVAL=1
	;;
esac

exit $RETVAL
