这篇文章给大家分享的是有关C语言如何实现linux网卡检测精简版的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为城中企业提供专业的成都网站设计、成都网站制作、外贸网站建设,城中网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。万能的网络,通过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_DOWN\r\n"); freeifaddrs(ifList); return 1; } if(!(ifa->ifa_flags & IFF_RUNNING)) { printf("DEVICE_UNPLUGGED\r\n"); freeifaddrs(ifList); return 2; } printf("DEVICE_LINKED\r\n"); freeifaddrs(ifList); return 3; } } } printf(stderr, "DEVICE_NONE\r\n"); freeifaddrs(ifList); return 0; } int main(int argc, char* argv[]) { int i=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_status if_status = %d\n", i ); return 0; }
感谢各位的阅读!关于“C语言如何实现linux网卡检测精简版”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款