in sample_app/onvif_camera_mock/artifacts/onvif_srvd/src/eth_dev_param.cpp [72:101]
int Eth_Dev_Param::open(const char *dev_name)
{
this->close(); //close old socket
if( !dev_name || (strlen(dev_name) >= IFNAMSIZ) )
return -1;
_sd = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
if( _sd == -1 )
return -1;
strcpy(_ifr.ifr_name, dev_name);
// try get flags for interface
if( ioctl(_sd, SIOCGIFFLAGS, &_ifr) == -1 )
{
this->close();
return -1; //can't get flags
}
_opened = true;
return 0; //good job
}