在 AIX 上使用 ioctl 的网络接口(interface)的硬件地址

标签 hardware aix c network-interface

我想使用 ioctl 获取 AIX 上网络接口(interface)的硬件地址。 就像在 Linux 中一样,我们通过以下方式实现:

ioctl(sockFd, SIOCGIFADDR, ifr_p);

我在 AIX 上的 /usr/include/sys/ioctl.h 中没有找到用于获取硬件地址信息的 SIOCGIFADDR 标志。

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

最佳答案

有大量可用的示例代码,请参阅herehere 。基本上,您必须调用 getkerninfoKINFO_NDD参数,然后从 ndd_addr 读取地址kinfo_ndd的领域由该调用填充的结构。

关于在 AIX 上使用 ioctl 的网络接口(interface)的硬件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25562362/

相关文章:

C switch case default 总是执行

c - printf 不打印

java - 如何从 Android 应用程序检测 WiFi 网络中连接的所有设备

python - 该程序会损坏我的显示器吗?

java - 如何知道处理器风扇的速度?

c - 如何在 dbx 中打印长字符串的完整值?

java - GC 暂停 5 秒,但标记、扫描和压缩耗时不到 1 秒

java - 是否可以使用 Java 收集有关计算机硬件的信息?

linux - 如何在 AIX 服务器中运行在 shell 脚本中创建的函数?

c - MIPS 到 C 的翻译