int Eth_Dev_Param::get_hwaddr()

in sample_app/onvif_camera_mock/artifacts/onvif_srvd/src/eth_dev_param.cpp [453:475]


int Eth_Dev_Param::get_hwaddr(char *hwaddr) const
{
    if( !is_open() || !hwaddr )
        return -1;


    if( ioctl(_sd, SIOCGIFHWADDR, &_ifr) != 0 )
        return -1;


    if( _ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER )
        return -1;


    uint8_t *tmp_mac = (uint8_t *)_ifr.ifr_hwaddr.sa_data;


    sprintf(hwaddr, "%02x:%02x:%02x:%02x:%02x:%02x",
            tmp_mac[0], tmp_mac[1], tmp_mac[2], tmp_mac[3], tmp_mac[4], tmp_mac[5]);


    return 0; //good job
}