[fpc-pascal] RE: Get Local IP using glib (eth0,eth1)

Graeme Geldenhuys graemeg.lists at gmail.com
Fri Oct 6 16:27:58 CEST 2006


I have these two functions in my .bashrc file.  You only need to run
"ii" for the cool output.  Now back to the question -  If it is for
linux only, why not just use the /sbin/ifconfig output.  After all, it
is accurate and seem much easier than all those libc/library methods.
I pull the IPs and Interfaces available from the /sbin/ifconfig output
and works just fine.  If it was needed on windows, I am sure you could
to the same thing with the 'ipconfig' output.

My 2c worth!  :-)


Regards,
  - Graeme -



------------ .bashrc ---------------------
function my_ip() # get IP adresses
{
    MY_IP=$(/sbin/ifconfig eth0 | awk '/inet/ { print $2 } ' | sed -e s/addr://)
    MY_ISP=$(/sbin/ifconfig ppp0 | awk '/P-t-P/ { print $3 } ' | sed
-e s/P-t-P://)
}

function ii()   # get current host related info
{
    echo -e "\nYou are logged on ${RED}$HOST"
    echo -e "\nAdditionnal information:$NC " ; uname -a
    echo -e "\n${RED}Users logged on:$NC " ; w -h
    echo -e "\n${RED}Current date :$NC " ; date
    echo -e "\n${RED}Machine stats :$NC " ; uptime
    echo -e "\n${RED}Memory stats :$NC " ; free
    my_ip 2>&- ;
    echo -e "\n${RED}Local IP Address :$NC" ; echo ${MY_IP:-"Not connected"}
    echo -e "\n${RED}ISP Address :$NC" ; echo ${MY_ISP:-"Not connected"}
    echo
}
---------------------------------

On 06/10/06, Jeff Pohlmeyer <yetanothergeek at gmail.com> wrote:
> > Better, but still Linux only. For a good solution,
> > a resolver unit that accesses libc should be
> > written that is portable (unlike the libc unit)
>
>
> If I understood correctly, the OP had two questions:
>
> 1. Retrieve a list of interface names on a *linux* system.
> 2. Return the IP address for a given *linux* interface name.
>
>
> And the only "good" solution is a portable resolver unit?
>
> How will you resolve "eth0" on Win32 or BSD ?
>
>  -Jeff


-- 
There's no place like 127.0.0.1



More information about the fpc-pascal mailing list