我正在尝试验证设备上的以太网设备是否正常工作。我正在运行命令:
ifconfig("interfaceName dhcp")
对于每个以太网接口。
我还想做的是验证每个设备是否也有一个 IP 地址。我知道我可以自己运行“ifconfig”并查看输出,但我正在编写自动化测试代码。那么有没有一个函数可以返回VxWorks中特定接口的ip地址呢?
我相信 ifLib.h 中的 ifAddrGet() 可能是您正在寻找的。第一个参数采用接口名称,第二个参数采用缓冲区,地址将返回到该缓冲区。
我没有在实际目标上测试以下内容,但它应该是您需要的开始:
#include <stdlib.h>
#include <stdio.h>
#include "inetLib.h"
#include "ifLib.h"
void print_if_address (void);
void print_if_address ()
{
char if_name[] = "dhcp";
char ip_address[INET_ADDR_LEN] = {0};
ifAddrGet (if_name, ip_address);
printf ("%s\n", ip_address);
}