#include <net/if.h>
//如果网卡已插上网线,返回0,否则返回-1.
int check_nic(char *nic)
{
struct ifreq ifr;
int skfd = socket(AF_INET, SOCK_DGRAM, 0);
strcpy(ifr.ifr_name, nic_name);
if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0)
{
return -1;
}
if(ifr.ifr_flags & IFF_RUNNING)
return 0; // 网卡已插上网线
else return -1;
}
Linux下检测网线是否连接
最新推荐文章于 2024-03-29 13:32:35 发布
本文介绍了一个简单的C语言函数,用于检查指定的网卡是否已经连接了网线。通过使用socket和ioctl函数配合SIOCGIFFLAGS命令来获取网卡的状态,并判断其是否处于运行状态。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1917

被折叠的 条评论
为什么被折叠?



