国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言實現linux網卡檢測精簡版

2020-01-26 13:41:08
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C語言實現linux網卡檢測的精簡代碼,供大家參考,具體內容如下

萬能的網絡,通過getifaddrs可以大大減少編碼量,獲得 C語言實現linux網卡檢測-改進版 同樣的效果。

#include <stdlib.h>#include <stdio.h>#include <string.h> #include <sys/socket.h>#include <sys/ioctl.h>#include <linux/if.h>#include <ifaddrs.h>#include <arpa/inet.h>   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 <ethname>/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;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 曲阳县| 兴安县| 阿尔山市| 鸡东县| 乐业县| 财经| 青浦区| 宝兴县| 阜康市| 闻喜县| 闸北区| 江源县| 徐汇区| 白山市| 邢台市| 舒兰市| 仁化县| 淮阳县| 富锦市| 甘孜| 华蓥市| 郓城县| 铜山县| 武山县| 古田县| 军事| 桐庐县| 晋州市| 河池市| 梓潼县| 庆云县| 靖远县| 南阳市| 聂荣县| 鞍山市| 宝丰县| 台州市| 通州区| 兰坪| 绵竹市| 建昌县|