工具/软件:TI-RTOS
当使用 DHCP 与 TI-RTOS NDK (TI-RTOS 版本2.16.01.14、NDK 版本2.25.00.09)时、我在检索默认网关时遇到困难。
在通过 DHCP 接收新 IP 地址信息时调用的挂钩函数中、我有以下代码、用于检索默认网关地址:
INT 结果;
Int NumberOfInstances = CfgGetEntryCnt (0、CFGTAG _IPNet、1);//成功
if (NumberOfInstances >= 1){
CI_IPNet ipconfig;
bzero (&ipconfig、sizeof (CI_IPNet));
结果= CfgGetImmadi(
0、CFGTAG _IPNet、1、电阻值、
sizeof (CI_IPNet)、(UINT8*)&ipconfig); //成功
(笑声)
}
NumberOfInstances = CfgGetEntryCnt (0、CFGTAG _route、1);//失败
if (NumberOfInstances >= 1){
CI_route routeconfig;
bzero (routeconfig、sizeof (ci_route));
结果= CfgGetImmadi(
0、CFGTAG _route、1、NumberOfInstances、
sizeof (CI_route)、(UINT8*)和 routeconfig;
if (结果){
(笑声)
}
}
对于标签 CFGTAG _route 调用 CfgGetEntryCnt 后、NumberOfIn阻 值始终为零、这意味着配置中没有路由信息。
在浏览其他论坛帖子时,我看到下面这篇帖子 ,其中建议在 routeif.h 中使用函数 Rt*,在 NDK 文件 conroute.c 中使用函数 DumpRoute.c,提供了如何使用这些函数的示例。 不过、此函数和代码看起来很复杂。
使用 DHCP 时获取默认网关 IP 地址的正确方法是什么? 我的代码是否位于右上方、或者我是否必须执行 与 NDK 文件 conroute.c 中的函数 DumpRouteTable 中的内容类似的操作?
提前感谢