亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言實現(xiàn)linux網(wǎng)卡連接檢測的方法

 更新時間:2018年06月29日 09:55:04   作者:handyhuang  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)linux網(wǎng)卡連接檢測的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)linux網(wǎng)卡連接檢測的具體代碼,供大家參考,具體內(nèi)容如下

直接上代碼吧

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
 
 
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <linux/if.h>
#include <linux/mii.h>
#include <linux/sockios.h>
#include <errno.h>
 
 
int get_if_miireg(const char *if_name, int phy_id, int reg_num )
{
 int fd = -1; 
 struct ifreq ifr; 
 struct mii_ioctl_data *mii; 
 int value; 
 
 if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
 {
 perror("socket");
 close(fd);
 return -1; 
 }
 
 bzero(&ifr, sizeof(ifr));
 strncpy(ifr.ifr_name, if_name, IFNAMSIZ-1); 
 ifr.ifr_name[IFNAMSIZ-1] = 0; 
 
 if (ioctl(fd, SIOCGMIIPHY, &ifr) < 0)
 { 
 perror("ioctl");
 close(fd);
 return -1; 
 }
 
 mii = (struct mii_ioctl_data *)&ifr.ifr_data;
 mii->reg_num = reg_num;//0x01
 if (ioctl(fd, SIOCGMIIREG, &ifr) < 0)
 { 
 perror("ioctl");
 close(fd);
 return -1;
 }
 close(fd);
 value = ((mii->val_out&0x04)>>2);
 return value;
}
 
int main(int argc, char* argv[])
{
  int i=0;
  if(argc != 2)
  {
    fprintf(stderr, "usage: %s <ethname>", argv[0]);
    return -1;
  }
 
  i = get_if_miireg(argv[1],0x10,0x01);
  printf( "if_status = %d\n", i );
  return 0;
}

只能識別網(wǎng)線是否連接,還沒識別網(wǎng)卡是否存在狀態(tài),也不識別網(wǎng)卡存在是否為down狀態(tài)。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Cocos2d-x中實現(xiàn)彈出對話框示例

    Cocos2d-x中實現(xiàn)彈出對話框示例

    這篇文章主要介紹了Cocos2d-x中實現(xiàn)彈出對話框示例,注意本文代碼中的注釋,本文同時給出了效果圖,需要的朋友可以參考下
    2014-09-09
  • C++可視化角色按鍵移動控制的實現(xiàn)

    C++可視化角色按鍵移動控制的實現(xiàn)

    這篇文章主要介紹了C++可視化角色按鍵移動控制的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-03-03
  • C語言與java語言中關(guān)于二維數(shù)組的區(qū)別

    C語言與java語言中關(guān)于二維數(shù)組的區(qū)別

    這篇文章主要介紹了C語言與java語言中關(guān)于二維數(shù)組的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 一篇文章弄懂C++左值引用和右值引用

    一篇文章弄懂C++左值引用和右值引用

    左值(lvalue)和右值(rvalue)是 c/c++ 中一個比較晦澀基礎(chǔ)的概念,這篇文章主要給大家介紹了關(guān)于如何通過一篇文章弄懂C++左值引用和右值引用的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • C++循環(huán)隊列實現(xiàn)模型

    C++循環(huán)隊列實現(xiàn)模型

    這篇文章主要介紹了C++循環(huán)隊列實現(xiàn)模型,較為詳細的分析了循環(huán)隊列算法的原理與實現(xiàn)方法,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • 解析C++哈夫曼樹編碼和譯碼的實現(xiàn)

    解析C++哈夫曼樹編碼和譯碼的實現(xiàn)

    本篇文章主要介紹了C++哈夫曼樹編碼和譯碼的實現(xiàn),詳細的講訴了哈夫曼樹編碼的原理,有需要的同學可以了解一下。
    2016-11-11
  • C++深入講解new與deleted關(guān)鍵字的使用

    C++深入講解new與deleted關(guān)鍵字的使用

    這篇文章主要介紹了C++中new與deleted關(guān)鍵字的使用,new在動態(tài)內(nèi)存中為對象分配空間并返回一個指向該對象的指針;delete接受一個動態(tài)對象的指針, 銷毀該對象, 并釋放與之關(guān)聯(lián)的內(nèi)存
    2022-05-05
  • 基于Matlab繪制超絢麗的煙花的過程詳解

    基于Matlab繪制超絢麗的煙花的過程詳解

    這篇文章主要為大家介紹了如何利用Matlab繪制超絢麗的煙花,文中的示例代碼講解詳細,對我們學習Matlab有一定幫助,需要的可以參考一下
    2022-02-02
  • C語言學習筆記之字符串間的那些事

    C語言學習筆記之字符串間的那些事

    字符串是C語言中最重要的數(shù)據(jù)類型之一,最近借助《C Primer Plus》一書來學習C中的常用字符串操作,在此作為筆記記錄,下面這篇文章主要給大家介紹了C語言學習筆記之字符串間的那些事,需要的朋友可以參考下
    2022-04-04
  • 關(guān)于C語言操作符的那些事(超級全)

    關(guān)于C語言操作符的那些事(超級全)

    這篇文章主要給大家介紹了關(guān)于C語言操作符的那些事兒,c語言的操作符有很多,包括算術(shù)操作符、移位操作符、位操作符、賦值操作符、單目操作符、關(guān)系操作符、邏輯操作符、條件操作符、逗號表達式、下標引用、函數(shù)調(diào)用和結(jié)構(gòu)成員,需要的朋友可以參考下
    2021-08-08

最新評論