看板 LinuxDev 關於我們 聯絡資訊
※ 引述《panda22 (panda)》之銘言: : 請問在user level中有沒有辦法 得知乙太網路 : 網路線是否有插上網路卡 : 當然前提是假設驅動程式有提供這樣資訊給核心 : 感謝 static int get_link_status(char *interface) { struct ethtool_value edata; int skfd; struct ifreq ifr; if (( skfd = socket( AF_INET, SOCK_DGRAM, 0 ) ) < 0 ) { perror("get_link_status error:\n"); return -1; } edata.cmd = ETHTOOL_GLINK; strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name)-1); ifr.ifr_data = (char *) &edata; if (ioctl(skfd, SIOCETHTOOL, &ifr) == -1) { debug("ETHTOOL_GLINK failed: %s\n", strerror(errno)); close(skfd); return -1; } close(skfd); return edata.data; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.237.154
phterry:有用推 08/24 16:52