Чисто теоретически, если задача разовая то нужно смотреть как задаются сетевые настройки в конкретном дистрибутиве, например если есть какой-то демон, то у него обычно есть конфигурационный файл в /etc/*.conf (например) и дальше задача сводиться к редактированию текстового файла и затем перезапуска соответствующего демона (или есть поддержка, то заставить демон перечитать файл конфигурации). Если круг задач покрывается утилитой ifconfig, то можно ограничиться вызовом функции system() предварительно через sprintf сформировав аргументы. Если же задача не разовая и решать ее нужно будет часто, но в разных вариациях, то тут уже нужно смотреть исходники net-tools (куда входит ifconfig) и разбираться как оно работает. По поводу подключения/отключения сетевого кабеля, возможно стоит смотреть в сторону sysfs и procfs (/sys/* и /proc/*), возможно из них можно будет выцепить что-то полезное. Сам я в этом еще нуб, но думаю что скоро подтянуться более опытные люди и дадут вам более исчерпывающие ответы.
|