linux嵌入式编程方法 - 网络设置

时间:2011-06-28 20:57:02

标签: linux embedded-linux

我可能会错过一般概念中的某些内容,因为我搜索并没有找到答案...... 我正在用嵌入式Linux,C语言编写GUI应用程序。我想允许用户更改网络设置:

  • DHCP客户端模式 - 我在文件系统上安装了带有uDHCPc应用程序的busybox。
  • 如果禁用DHCP,则配置IP,子网,网关。

我已经发现可以使用套接字上的ioctl更改IP,子网和网关。 我发现从我的应用程序激活uDHCPc的唯一方法是通过调用函数:system(...)来执行shell命令,这样就像运行shell sript一样笨拙,运行ifconfig for get / set ip address。

在嵌入式Linux中从我的C应用程序运行“脚本活动”(DHCP启用/禁用;读/写系统设置)的正确/常用方法是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

DHCP是一种可在网络上运行的协议。它在用户空间程序中实现,例如uDHCPc。没有内核实现,也没有办法使用ioctls。 system()函数可以工作,但它也会生成一个中间shell。如果你想要更高的效率,你可以自己使用fork()和exec()来调用uDHCPc作为子进程。