int Eth_Dev_Param::open()

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
}