2013-06-10 13 views
5

Sto cercando una chiamata funzione/sistema che possa essere utilizzata in C per gestire le interfacce di rete della macchina Linux. Ad esempio, mi piacerebbe fare ip link set wlan0 down (o superiore) o ifconfig wlan0 down, quale funzione può essere utilizzata per questo, a parte lo system()?Gestione interfaccia di rete Linux con codice C

+6

Un buon punto di partenza potrebbe essere alla ricerca di come ifconfig per sé lo fa - è possibile trovare il codice sorgente qui: http://sourceforge.net/ projects/net-tools/ – CmdrMoozy

+2

Inoltre, [API DBUS NetworkManager] (http://projects.gnome.org/NetworkManager/developers/api/09/). –

risposta

3

Per accedere alla funzionalità fornite dagli strumenti di iproute2 dal software, è possibile utilizzare il Linux rtnetlink API. Per semplificarti, utilizza librerie come libnl.

Nel caso in cui si incontrano problemi, c'è già un tag denominato netlink

-3

Utilizzare una chiamata di sistema per eseguire un comando come si farebbe sulla riga di comando.

sistema int (comando const char *);

man page

+1

Credo che @angs abbia esplicitamente detto che aveva bisogno di qualcosa di diverso da system();) – cgledezma