1. 程式人生 > >【玩轉開源】Linux C 檢測網口熱插拔

【玩轉開源】Linux C 檢測網口熱插拔

int NetDetect(char *net_name, int *statue)
{    int ret = 0;    int skfd = 0;
    struct ifreq ifr;
    skfd = socket(AF_INET, SOCK_DGRAM, 0);   //建議socket通訊,AF_INET協議族,SOCK_DGRAM表示UDP協議,0表示使用預設套接字,即這裡的UDP
    if(skfd < 0){
        printf("open socket error\n");
        return skfd;
    }
    strcpy(ifr.ifr_name, net_name);    //要檢測網絡卡的名稱
    
if((ret = ioctl(skfd, SIOCGIFFLAGS, &ifr)) < 0){ //呼叫核心介面,獲取網絡卡資訊 printf("ethernet interface is not valid\n"); close(skfd); return ret; } close(skfd); if(ifr.ifr_flags & IFF_RUNNING){ //判斷網絡卡狀態 *statue = 1; }else{ *statue = 0
; } return ret; }
最近事情比較多,有一段時間沒有更新部落格了,這次簡單粗暴,直接上程式碼,這個函式是用來檢測網絡卡狀態的,當然也可以判斷網線是否被拔出咯。
接下來會分享第五篇BananaPi R2如何和4G模組搭配實現,行動通訊功能。