|
楼主 |
发表于 2019-11-26 15:43:35
|
显示全部楼层
本帖最后由 housping 于 2019-11-27 11:47 编辑
谢谢,这样的话,只能一个一个去查了?DHCP成功后,有没有相应的状态或者标志位可以查的。
我自己造了一个一次读取的
void dhcpaddr(void){
if(net_localm[NETIF_ETH]->IpAddr[0] == 0 && net_localm[NETIF_ETH]->IpAddr[1] == 0 && net_localm[NETIF_ETH]->IpAddr[2] == 0 && net_localm[NETIF_ETH]->IpAddr[3] == 0)
{
if (--dhcp_tout == 0) {
}
}
else
{
g_DHCPStatus = __TRUE;
printf("DHCP已经初始化成功,注意未使能DHCP也是返回成功的\r\n");
mynet_localm.IpAddr[0] = net_localm[0]->IpAddr[0];
mynet_localm.IpAddr[1] = net_localm[0]->IpAddr[1];
mynet_localm.IpAddr[2] = net_localm[0]->IpAddr[2];
mynet_localm.IpAddr[3] = net_localm[0]->IpAddr[3];
mynet_localm.NetMask[0] = net_localm[0]->NetMask[0];
mynet_localm.NetMask[1] = net_localm[0]->NetMask[1];
mynet_localm.NetMask[2] = net_localm[0]->NetMask[2];
mynet_localm.NetMask[3] = net_localm[0]->NetMask[3];
mynet_localm.DefGW[0] = net_localm[0]->DefGW[0];
mynet_localm.DefGW[1] = net_localm[0]->DefGW[1];
mynet_localm.DefGW[2] = net_localm[0]->DefGW[2];
mynet_localm.DefGW[3] = net_localm[0]->DefGW[3];
mynet_localm.PriDNS[0] = net_localm[0]->PriDNS[0];
mynet_localm.PriDNS[1] = net_localm[0]->PriDNS[1];
mynet_localm.PriDNS[2] = net_localm[0]->PriDNS[2];
mynet_localm.PriDNS[3] = net_localm[0]->PriDNS[3];
mynet_localm.SecDNS[0] = net_localm[0]->SecDNS[0];
mynet_localm.SecDNS[1] = net_localm[0]->SecDNS[1];
mynet_localm.SecDNS[2] = net_localm[0]->SecDNS[2];
mynet_localm.SecDNS[3] = net_localm[0]->SecDNS[3];
printf("IP:%d.%d.%d.%d\r\n", net_localm[0]->IpAddr[0], net_localm[0]->IpAddr[1],net_localm[0]->IpAddr[2], net_localm[0]->IpAddr[3]);
printf("MASK:%d.%d.%d.%d\r\n", net_localm[0]->NetMask[0], net_localm[0]->NetMask[1],net_localm[0]->NetMask[2], net_localm[0]->NetMask[3]);
printf("GW:%d.%d.%d.%d\r\n", net_localm[0]->DefGW[0], net_localm[0]->DefGW[1],net_localm[0]->DefGW[2], net_localm[0]->DefGW[3]);
printf("DNS_Server:%d.%d.%d.%d\r\n", net_localm[0]->PriDNS[0], net_localm[0]->PriDNS[1],net_localm[0]->PriDNS[2], net_localm[0]->PriDNS[3]);
}
} |
|