in sample_app/onvif_camera_mock/artifacts/onvif_srvd/src/eth_dev_param.cpp [403:423]
int Eth_Dev_Param::set_hwaddr(const char *hwaddr)
{
if( !is_open() || !hwaddr || (strlen(hwaddr) != 17) )
return -1;
int tmp_mac[6]; // int for sscanf!!!
sscanf(hwaddr, "%x:%x:%x:%x:%x:%x", &tmp_mac[0], &tmp_mac[1], &tmp_mac[2], &tmp_mac[3], &tmp_mac[4], &tmp_mac[5]);
_ifr.ifr_hwaddr.sa_family = ARPHRD_ETHER;
for(int i = 0; i < 6; i++)
_ifr.ifr_hwaddr.sa_data[i] = tmp_mac[i];
return ioctl(_sd, SIOCSIFHWADDR, &_ifr);
}