CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  程序开发区

用程序如何判断主板上是双网卡还是单网卡呢?

楼主ljkrd888(托尼)2005-09-27 15:31:40 在 Linux/Unix社区 / 程序开发区 提问

用程序如何判断主板上是双网卡还是单网卡呢? 问题点数:50、回复次数:2Top

1 楼vipiii(vipiii)回复于 2005-09-27 17:50:44 得分 50

写了段代码,供参考。。  
   
  #include   <stdio.h>  
  #include   <stdlib.h>  
  #include   <string.h>  
  #include   <unistd.h>  
  #include   <sys/types.h>  
  #include   <sys/ioctl.h>  
  #include   <sys/socket.h>  
  #include   <linux/if.h>  
   
  #define   SIZE   (1024)  
   
  int   get_interface_list(const   struct   ifconf   *list)  
  {  
          int   sockfd   =   0;  
   
          if   (list   ==   NULL)   {  
                  printf("wrong   arguments\n");  
                  return   -1;  
          }  
   
          sockfd   =   socket(AF_INET,   SOCK_DGRAM,   0);  
          if   (sockfd   <   0)   {  
                  perror("error   to   create   socket\n");  
                  return   -2;  
          }  
   
          if   (ioctl(sockfd,   SIOCGIFCONF,   list)   <   0)   {  
                  perror("error   to   get   list\n");  
                  close(sockfd);  
                  return   -3;  
          }  
   
          close(sockfd);  
   
          return   0;  
  }  
   
  int   main(int   argc,   char   **argv)  
  {  
          struct   ifreq   buf[SIZE];  
          struct   ifreq   *ptr   =   NULL;  
          struct   ifconf   list;  
          int   i   =   0;  
   
          memset(buf,   0,   sizeof(buf));  
          list.ifc_len   =   sizeof(buf);  
          list.ifc_buf   =   (char   *)buf;  
   
          if   (get_interface_list(&list)   <   0)   {  
                  return   -1;  
          }  
   
          for   (i   =   0;   i   <   SIZE;   i++)   {  
                  ptr   =   &buf[i];  
                  if   (ptr->ifr_name[0]   ==   '\0')   {  
                          break;  
                  }  
   
                  printf("interface_%d:   %s\n",   i+1,   ptr->ifr_name);  
          }  
   
          return   0;  
  }  
  Top

2 楼vipiii(vipiii)回复于 2005-09-27 17:53:12 得分 0

计算一下有多少个ethX...Top

相关问题

  • 用程序如何判断主板上是双网卡还是单网卡呢?
  • 换主板后网卡的问题!
  • 判断那个网卡连接入internet?
  • 关于网卡判断问题!!
  • 集成主板的声、显、网卡的问题。(内详)
  • Epox磐英845e主板中的声卡网卡用不了?
  • 如何判断主板是不是烧了!!
  • 新手上路,怎样判断网卡是否安装成功?
  • 请大家判断这块网卡的型号。
  • 如何判断、设置网卡为自动获得ip地址?

关键词

  • 主板
  • 网卡
  • 单网卡呢
  • 程序如何
  • sockfd
  • ifr
  • 判断主板上是双
  • include
  • interface
  • printf

得分解答快速导航

  • 帖主:ljkrd888
  • vipiii

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo