SIOCGIFCOUNT如何使用

wmrwinhap 2007-12-29 12:33:04
ioctl(sock, SIOCGIFCOUNT, &ifNum) 调用返回失败,错误码值为参数错误,请问该函数如何使用?

问题来源:ioctl(sock, SIOCGIFCONF, &ifc) 多返了一个重复的网络接口,想知道正确的网络接口数。

问题详细描述:我只配置一个网络接口eth0,ifconfig命令也只显示:eth0与lo
可是SIOCGIFCONF返回的ifc.ifc_len/sizeof(struct ifreq)的值等于3,对应的接口名称如下:
ifr[0].ifr_name="lo", ifr[1].ifr_name="eth0", ifr[2].ifr_name="eth0"

不知为何返回两个"eth0",如果再多加几个网络接口(如eth0:1,eth0:2),也都能取到,但最后一个还是重复了的"eth0"。ifconfig -a 命令却不会多显示。
如果能正确知道当前有几个网络接口,最后一个重复接口就可以忽略,请大家帮忙!

本程序在其它机器均未发现SIOCGIFCONF会多返回一个重复的网络接口,如果能指出为何我这台机器会多返回一个网络接口的原因也算解决问题,请高手支招!
...全文
170 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧