c-在哪里获取设备类型常量说明?

我正在通过netlink套接字获取有关系统网络设备的信息.
我正在解析ifinfomsg结构中定义的三种消息类型RTM_NEWLINK,RTM_DELLINK和RTM_GETLINK.

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是回送,但是我想知道所有可能的值.
可能答案很明显,但是Google不想告诉我任何有用的信息.

解决方法:

看一下/usr/include/net/if_arp.h,您将在其中找到常数ARPHRD_ *.如果您想让生活更轻松一点,请查看libnl(如果您尚未使用过的话).

上一篇:linux下netlink的使用简介


下一篇:详解Linux用户态与内核态通信的几种方式