usando il codice C per ottenere le stesse informazioni di ifconfig

C’è un modo in Linux, usando il codice C, per ottenere le stesse informazioni che “ifconfig eth0” restituirebbe? Sono interessato a cose come l’indirizzo IP, lo stato del collegamento e l’indirizzo MAC.

Ecco un esempio di output di ifconfig:

eth0 Link encap:Ethernet HWaddr 00:0F:20:CF:8B:42 inet addr:217.149.127.10 Bcast:217.149.127.63 Mask:255.255.255.192 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0 TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1761467179 (1679.8 Mb) TX bytes:2870928587 (2737.9 Mb) Interrupt:28