C语言实现linux网卡检测精简版

C语言实现linux网卡检测精简版,第1张

概述这篇文章主要为大家详细介绍了C语言实现linux网卡检测的精简版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C语言实现linux网卡检测的精简代码,供大家参考,具体内容如下

万能的网络,通过getifaddrs可以大大减少编码量,获得 C语言实现linux网卡检测-改进版 同样的效果。

#include

#include

#include

#include

#include

#include

#include

#include

int c_ifaddrs_netlink_status(const char *if_name )

{

struct ifaddrs *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_DOWNrn");

freeifaddrs(ifList);

return 1;

}

if(!(ifa->ifa_flags & IFF_RUNNING))

{

printf("DEVICE_UNPLUGGEDrn");

freeifaddrs(ifList);

return 2;

}

printf("DEVICE_linkEDrn");

freeifaddrs(ifList);

return 3;

}

}

}

printf(stderr,"DEVICE_NONErn");

freeifaddrs(ifList);

return 0;

}

int main(int argc,char* argv[])

{

int i=0;

if(argc != 2)

{

fprintf(stderr,"usage: %s rn",argv[0]);

return -1;

}

i = c_ifaddrs_netlink_status(argv[1]);

fprintf(stderr,"c_ifaddrs_netlink_status if_status = %dn",i );

return 0;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持内存溢出。

总结

以上是内存溢出为你收集整理的C语言实现linux网卡检测精简版全部内容,希望文章能够帮你解决C语言实现linux网卡检测精简版所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存