#!/bin/sh

ethcat=`cat /var/etc/network/interfaces`

IP=$2
GW=$3
MASK=$4

set_interfaces() {
	if echo -e "$ethcat" | grep -q "inet static"; then
		if [ -z "$IP" ]; then
			IP=`echo -e "$ethcat" | sed s/"^\s*"// | sed s/" \+"/" "/g | grep -m1 "^address" | cut -d " " -f2`
		fi
		if [ -z "$GW" ]; then
			GW=`echo -e "$ethcat" | sed s/"^\s*"// | sed s/" \+"/" "/g | grep -m1 "^gateway" | cut -d " " -f2`
		fi
		if [ -z "$MASK" ]; then
			MASK=`echo -e "$ethcat" | sed s/"^\s*"// | sed s/" \+"/" "/g | grep -m1 "^netmask" | cut -d " " -f2`
		fi
		if [ "$IP" ]; then ifconfig eth0 $IP; fi
		if [ "$MASK" ]; then ifconfig eth0 netmask $MASK; fi
		if [ "$GW" ]; then
			route del default gw 0.0.0.0
			route add default gw $GW
		fi
	else
		if echo -e "$ethcat" | grep "iface eth0" | grep -q "dhcp"; then
			udhcpc -i eth0 -q -s /etc/init.d/dhcp
		fi
	fi
}

case "$1" in
	"start" )
		set_interfaces
	;;
	"stop" )
		sleep 1
	;;
	"restart" )
		sleep 1
		set_interfaces
	;;  
esac    	