Example #1
0
/** Is a wrapper function to calc_broadcast that receives the IP address and netsmask as QString and
returns the broadcast value also as a QString, or NULL if it couldn't be calculated. */
QString KAddressValidator::calculateBroadcast(QString addr, QString netmask){
  struct in_addr _addr, _netmask, _network;
  int prefix = 0;
  QString s;
  if (addr.isNull() || netmask.isNull())
    return NULL; //bad address
  if (!inet_pton(AF_INET,addr.latin1(),&_addr))
    return NULL; //bad address
  else
  {
    if (!inet_pton(AF_INET,netmask.latin1(),&_netmask))
      return NULL; //bad address
    else
    {
      prefix = mask2prefix(_netmask.s_addr);
      _network.s_addr = calc_broadcast(_addr.s_addr, prefix);
      char * char_network = new char[20];
      if (!inet_ntop(AF_INET,&_network,char_network,20))
        return NULL;
      else
        s = char_network;
    }
  }
  return s;

}
Example #2
0
static
int ipv4_mask_to_int(const char *prefix)
{
	int ret;
	struct in_addr in;

	ret = inet_pton(AF_INET, prefix, &in);
	if (ret == 0)
		return -1;

	return mask2prefix(in);
}
Example #3
0
File: net.c Project: Pinki18/lms
tscript_value * tscript_ext_net_mask2prefix(tscript_value *arg)
{
	return tscript_value_create_number(mask2prefix(
		tscript_value_as_string(tscript_value_convert_to_string(arg))));
}