Linux下如何获取网络设备MAC地址

获取网络设备MAC地址:
/*创建socket,ifreq*/
     int sock =  0x00;
     if((sock =  socket (AF_INET, SOCK_STREAM,  0)) <  0){
         #if  DEBUG
        cout<<  "获取MAC地址-创建socket失败" <
         #endif
         return - 0x02;
    }

     struct  ifreq mifreq;
     strcpy(mifreq. ifr_name"eth0");

     /*获取MAC*/
     if( ioctl (sock, SIOCGIFHWADDR, &mifreq) <  0){
         #if  DEBUG
        cout<<  "获取MAC地址-获取MAC失败" <
         #endif
         close(sock);
         return  0x01;
    }

     /*将MAC地址进行赋值*/
     memcpy(( void *)macBuff, ( void *)mifreq. ifr_hwaddr. sa_data0x06);

3.进程管理器起进程时,argv[0]代表第一个参数,而用手动起时,argv[1]是第一个参数。

你可能感兴趣的:(openwrt系统,嵌入式开发)