在哪里获取设备类型常量描述?

时间:2013-02-05 07:39:01

标签: c++ linux netlink

我通过netlink socket获取有关系统网络设备的信息。 我正在解析RTM_NEWLINK结构中定义的三种消息类型RTM_DELLINKRTM_GETLINKifinfomsg

struct ifinfomsg {
    unsigned char  ifi_family; /* AF_UNSPEC */
    unsigned short ifi_type;   /* Device type */
    int            ifi_index;  /* Interface index */
    unsigned int   ifi_flags;  /* Device flags  */
    unsigned int   ifi_change; /* change mask */
};

定义来自此处http://www.kernel.org/doc/man-pages/online/pages/man7/rtnetlink.7.html

但是没有关于设备类型字段ifi_type的描述,在哪里可以找到描述可能值的常量?

即使在这里也没有描述 http://www.foxprofr.com/rfc/RFC3549-LINUX-NETLINK-AS-AN-IP-SERVICES-PROTOCOL/3549.aspx

现在我知道1是以太网而772是环回的,但我想知道所有可能的值。 可能答案很明显,但谷歌不想告诉我任何有用的东西。

1 个答案:

答案 0 :(得分:4)

看看/usr/include/net/if_arp.h,你会发现常量为ARPHRD_*。如果您想让自己的生活更轻松,请查看 libnl ,如果您还没有使用它。