#-------------------------
# ppp additional functions 
#-------------------------

# find the ppp*.pid, with right tty
# the entry is created by /etc/ppp/ip-up

pppd_entry()
{
local DEVICE=$1
cd /var/run
for f in ppp*.pid
do
        interface=`basename $f .pid`
        tty=`cat $interface.tty 2>/dev/null`
        if [ "$tty" = $DEVICE ] && [ "$ACTION" = configure ] ; then
		 echo $f && break
	fi
done
}

# extract pid

pppd_pid()
{
local DEVICE=$1
cd /var/run
entry=`pppd_entry $DEVICE`
if [ "$entry" ] ; then
	pid=`cat $entry 2>/dev/null`
	echo $pid
else
        # no pid entry. pppd is negoziating?
        set -- `/bin/ps | rgrep pppd | rgrep $DEVICE`
        echo $1
fi

}

pppd_interface()
{
local DEVICE=$1
cd /var/run
entry=`pppd_entry $DEVICE`
if [ "$entry" ] ; then
       basename $entry .pid
fi
}


device_status()
{
local DEVICE=$1
pid=`pppd_pid $DEVICE`
if [ "$pid" ] ; then
        echo up
else
        echo down
fi
}

# report pppd version in use

pppd_version()
{
set -- $(pppd --version 2>&1 | rgrep "pppd version")
echo $3
}
