LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1183|回复: 2

如何获得网卡类型

[复制链接]
发表于 2007-7-18 23:41:48 | 显示全部楼层 |阅读模式
网卡有很多类型,例如以太网卡、令牌、SLIP等等
在/usr/include/linux/if_arp.h中可以看到许多网卡的类型
/* ARP protocol HARDWARE identifiers. */
#define ARPHRD_NETROM   0               /* from KA9Q: NET/ROM pseudo    */
#define ARPHRD_ETHER    1               /* Ethernet 10Mbps              */
#define ARPHRD_EETHER   2               /* Experimental Ethernet        */
#define ARPHRD_AX25     3               /* AX.25 Level 2                */
#define ARPHRD_PRONET   4               /* PROnet token ring            */
#define ARPHRD_CHAOS    5               /* Chaosnet                     */
#define ARPHRD_IEEE802  6               /* IEEE 802.2 Ethernet/TR/TB    */
#define ARPHRD_ARCNET   7               /* ARCnet                       */
#define ARPHRD_APPLETLK 8               /* APPLEtalk                    */
#define ARPHRD_DLCI     15              /* Frame Relay DLCI             */
.
.
.
.
linux中通过ioctl(sockfd,SIOCGIFCONF,...)操作可以获得关于硬件接口的信息,例如可以获得接口标志、MTU、接口索引等等
但是就是不知道如何获得接口的硬件类型,通过man ioctl-list也找不到相关的说明,有哪位热心的朋友能帮我解答。
发表于 2007-7-19 10:19:42 | 显示全部楼层
看一下/sys/class/net/eth1/type吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-19 10:28:20 | 显示全部楼层
/sys是linux 2.6内核引进的一个新的sysfs 文件系统,2.4内核不支持,我想
用具体的函数来获取,而不想从文件中读取,这样移植性也比较好
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表