0

我想在AIX使用时获取网络接口的硬件地址ioctl。就像在 Linux 中一样,我们可以通过:

ioctl(sockFd, SIOCGIFADDR, ifr_p);

我没有找到SIOCGIFADDR标志/usr/include/sys/ioctl.hAIX获取硬件地址信息。

有没有办法从中得到它ioctl?或系统中的任何文件,我可以从中获取此信息,例如在 linux 中,此信息存储在“/sys/class/net/”中

4

2 回答 2

0

您可以使用类似grep -w SIOCGIFADDR /usr/include. 这可能不会给出推荐的头文件,而是给出更深的头文件,但至少这将是一个线索。

一般来说,BSD 风格说正确的头文件是 <net/if.h>。我怀疑 AIX 已更改为使其无法正常工作。getifaddrs()此外,应该有一个方便的包装器。

于 2014-08-29T06:20:35.597 回答
0

有大量可用的示例代码,请参见此处此处。基本上,您必须getkerninfo使用KINFO_NDD参数调用,然后从该调用填充ndd_addr的结构字段中读取地址。kinfo_ndd

于 2014-09-03T10:07:20.980 回答