欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言實(shí)現(xiàn)linux網(wǎng)卡連接檢測(cè)的方法

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

本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)linux網(wǎng)卡連接檢測(cè)的具體代碼,供大家參考,具體內(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;
}

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    基于Matlab繪制超絢麗的煙花的過(guò)程詳解

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

    C語(yǔ)言學(xué)習(xí)筆記之字符串間的那些事

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

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

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

最新評(píng)論