C语言实现linux网卡检测精简版
本文实例为大家分享了C语言实现linux网卡检测的精简代码,供大家参考,具体内容如下
万能的网络,通过getifaddrs可以大大减少编码量,获得C语言实现linux网卡检测-改进版同样的效果。
#include#include #include #include #include #include #include #include intc_ifaddrs_netlink_status(constchar*if_name) { structifaddrs*ifa=NULL,*ifList; if(getifaddrs(&ifList)<0) { return-1; } for(ifa=ifList;ifa!=NULL;ifa=ifa->ifa_next) { if(ifa->ifa_addr->sa_family==AF_INET) { if(strcmp(ifa->ifa_name,if_name)==0) { if(!(ifa->ifa_flags&IFF_UP)) { printf("DEVICE_DOWN\r\n"); freeifaddrs(ifList); return1; } if(!(ifa->ifa_flags&IFF_RUNNING)) { printf("DEVICE_UNPLUGGED\r\n"); freeifaddrs(ifList); return2; } printf("DEVICE_LINKED\r\n"); freeifaddrs(ifList); return3; } } } printf(stderr,"DEVICE_NONE\r\n"); freeifaddrs(ifList); return0; } intmain(intargc,char*argv[]) { inti=0; if(argc!=2) { fprintf(stderr,"usage:%s \r\n",argv[0]); return-1; } i=c_ifaddrs_netlink_status(argv[1]); fprintf(stderr,"c_ifaddrs_netlink_statusif_status=%d\n",i); return0; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。