2013-06-10 11 views
5

Szukam wywołania funkcji/systemu, które może być używane w języku C do zarządzania interfejsami sieciowymi komputera z systemem Linux. Np. Chciałbym wykonać ip link set wlan0 down (lub więcej) lub ifconfig wlan0 down, jakiej funkcji można użyć, oprócz system()?Zarządzanie interfejsem sieciowym Linuksa za pomocą kodu C

+6

Dobrym punktem wyjścia może być patrząc na to, jak ifconfig sama to robi - można znaleźć kod źródłowy tutaj: http://sourceforge.net/ projects/net-tools/ – CmdrMoozy

+2

Również, [DBUS NetworkManager API] (http://projects.gnome.org/NetworkManager/developers/api/09/). –

Odpowiedz

3

Aby uzyskać dostęp do funkcjonalności dostarczanej przez narzędzia iproute2 z oprogramowaniem, można użyć Linux rtnetlink API. Aby to ułatwić, użyj bibliotek takich jak libnl.

W przypadku napotkania trudności, nie ma już tag nazywa netlink

-3

Użyj wywołania systemowego, aby wykonać polecenie, podobnie jak w wierszu poleceń.

#include <stdlib.h> 

int system (const char * command);

man page

+1

Wierzę, że firma @angs wyraźnie powiedziała, że ​​potrzebuje czegoś innego niż system();) – cgledezma

Powiązane problemy