
IFCONFIG="/sbin/ifconfig"
ROUTE="/sbin/route"

RESOLV_CONF="/etc/resolv.conf"
PPP_RESOLV_CONF="/etc/ppp/resolv.conf"

sl_get_DNS_in_resolv_conf()
{
	local _DNS1 _DNS2 CFG got cnt s 
	
	if [ -f $PPP_RESOLV_CONF ] ; then
		CFG=`cat $PPP_RESOLV_CONF`
	elif [ -f $RESOLV_CONF ] ; then		
		CFG=`cat $RESOLV_CONF`
	else
		return 1	
	fi	
	
	got=0
	cnt=0
	for s in $CFG
	do
   		if [ $got -eq 1 ] ; then        
    		[ $cnt = 0 ] && _DNS1=$s
    		[ $cnt = 1 ] && _DNS2=$s
       		cnt=$(($cnt+1)) 	
    		got=0
    		continue       	
   		fi

   		if [ $s = "nameserver" ] ; then
       		got=1
   		fi
	done
	
	eval $1=$_DNS1
	eval $2=$_DNS2
	return 0	
}

sl_get_IP_NM_GW_in_ifconfig()
{
	local _IP _NM _GW CFG stt s 
	
	[ -z $1 ] && return 1
	
	CFG=`$IFCONFIG $1`
	stt=0
	for s in $CFG
	do
	    if [ $stt -ge 1 -a $stt -le 3 ]
	    then
	        case ${s%%:*} in
		        "addr")  _IP=${s##*:};;
		        "Mask")  _NM=${s##*:};;
		        "P-t-P") _GW=${s##*:};;
	        esac
	        stt=$(($stt+1))
	        continue
	    fi
	
	    if [ $s == "inet" ]
	    then
	        stt=1
	    fi
	done
	
	case $1 in
		eth*)
			CFG=`$ROUTE`
			stt=0
			for s in $CFG
			do
				if [ $stt = 1 ] ; then	
					_GW=$s
					break		 
				fi
				
				if [ $s = "default" -o $s = "0.0.0.0" ] ; then
					stt=1
				fi	   
			done
			;;	
					
	esac
	
	eval $2=$_IP
	eval $3=$_NM
	eval $4=$_GW	
	
	return 0
}


sl_get_PPP_interface_name()
{
	local i _PID _PPP_IF

	for i in /var/run/ppp*.pid ; do
    	if [ -r $i ] ; then
			_PID=`cat $i`
			if [ "$_PID" = "$1" ] ; then
				_PPP_IF=${i##/*/}
				_PPP_IF=${_PPP_IF%%.*}
				
				eval $2=$_PPP_IF
				return 0		
	    	fi	 
	   	fi
	done	
	return 1
	
}

sl_get_ppp_PID_IFname()
{
	local CFG s cnt _PPP_PID _PPP_IF
	
	if [ -r $1 ] ; then  
		
		CFG=`cat $1`
		cnt=0
		for s in $CFG	
		do
			[ $cnt = 0 ] && _PPP_PID=$s
			[ $cnt = 1 ] && _PPP_IF=$s
			cnt=$(($cnt+1)) 
		done
		
		eval $2=$_PPP_PID
		eval $3=$_PPP_IF 
		
		return 0	
	else
		return 1
	fi	
}

sl_get_MPPP_PID_session()
{
	local i _PID _PPP_S_NO

	for i in /var/run/mpppoe*.pid.pppd ; do
    	if [ -r $i ] ; then
			_PID=`cat $i`
			if [ "$_PID" = "$1" ] ; then
				_PPP_S_NO=${i##/*/}
				_PPP_S_NO=${_PPP_S_NO%%.*}
				_PPP_S_NO=${_PPP_S_NO##mpppoe}
				
				eval $2=$_PPP_S_NO
				return 0		
	    		fi	 
	fi
	
	done	
	return 1
}

sl_get_uptime()
{
	local s CFG
	CFG=`cat /proc/uptime`
	for s in $CFG
	do
		s=${s%%.*}
		eval $1=$s
		return 0 
	done
}		
