goto error;
}
- if (inaddress.stor.ss_family != AF_INET ||
- innetmask.stor.ss_family != AF_INET) {
+ if (inaddress.data.stor.ss_family != AF_INET ||
+ innetmask.data.stor.ss_family != AF_INET) {
/* Only support collision check for IPv4 */
goto out;
}
- net_dest = (inaddress.inet4.sin_addr.s_addr &
- innetmask.inet4.sin_addr.s_addr);
+ net_dest = (inaddress.data.inet4.sin_addr.s_addr &
+ innetmask.data.inet4.sin_addr.s_addr);
/* Read whole routing table into memory */
if ((len = virFileReadAll(PROC_NET_ROUTE, MAX_ROUTE_SIZE, &buf)) < 0)
addr_val &= mask_val;
if ((net_dest == addr_val) &&
- (innetmask.inet4.sin_addr.s_addr == mask_val)) {
+ (innetmask.data.inet4.sin_addr.s_addr == mask_val)) {
networkReportError(VIR_ERR_INTERNAL_ERROR,
_("Network %s/%s is already in use by "
"interface %s"),
unsigned long val;
int i;
- if ((addr == NULL) || (tab == NULL) || (addr->stor.ss_family != AF_INET))
+ if ((addr == NULL) || (tab == NULL) || (addr->data.stor.ss_family != AF_INET))
return(-1);
- val = ntohl(addr->inet4.sin_addr.s_addr);
+ val = ntohl(addr->data.inet4.sin_addr.s_addr);
for (i = 0;i < 4;i++) {
(*tab)[3 - i] = val & 0xFF;
static int getIPv6Addr(virSocketAddrPtr addr, virIPv6AddrPtr tab) {
int i;
- if ((addr == NULL) || (tab == NULL) || (addr->stor.ss_family != AF_INET6))
+ if ((addr == NULL) || (tab == NULL) || (addr->data.stor.ss_family != AF_INET6))
return(-1);
for (i = 0;i < 8;i++) {
- (*tab)[i] = ((addr->inet6.sin6_addr.s6_addr[2 * i] << 8) |
- addr->inet6.sin6_addr.s6_addr[2 * i + 1]);
+ (*tab)[i] = ((addr->data.inet6.sin6_addr.s6_addr[2 * i] << 8) |
+ addr->data.inet6.sin6_addr.s6_addr[2 * i + 1]);
}
return(0);
}
len = res->ai_addrlen;
- if (addr != NULL)
- memcpy(&addr->stor, res->ai_addr, len);
+ if (addr != NULL) {
+ memcpy(&addr->data.stor, res->ai_addr, len);
+ addr->len = res->ai_addrlen;
+ }
freeaddrinfo(res);
return(len);
if (addr == NULL)
return NULL;
- if (addr->stor.ss_family == AF_INET) {
+ if (addr->data.stor.ss_family == AF_INET) {
outlen = INET_ADDRSTRLEN;
- inaddr = &addr->inet4.sin_addr;
+ inaddr = &addr->data.inet4.sin_addr;
}
- else if (addr->stor.ss_family == AF_INET6) {
+ else if (addr->data.stor.ss_family == AF_INET6) {
outlen = INET6_ADDRSTRLEN;
- inaddr = &addr->inet6.sin6_addr;
+ inaddr = &addr->data.inet6.sin6_addr;
}
else {
if (VIR_ALLOC_N(out, outlen) < 0)
return NULL;
- if (inet_ntop(addr->stor.ss_family, inaddr, out, outlen) == NULL) {
+ if (inet_ntop(addr->data.stor.ss_family, inaddr, out, outlen) == NULL) {
VIR_FREE(out);
return NULL;
}
port = htons(port);
- if(addr->stor.ss_family == AF_INET) {
- addr->inet4.sin_port = port;
+ if(addr->data.stor.ss_family == AF_INET) {
+ addr->data.inet4.sin_port = port;
}
- else if(addr->stor.ss_family == AF_INET6) {
- addr->inet6.sin6_port = port;
+ else if(addr->data.stor.ss_family == AF_INET6) {
+ addr->data.inet6.sin6_port = port;
}
else {
if (addr == NULL)
return -1;
- if(addr->stor.ss_family == AF_INET) {
- return ntohs(addr->inet4.sin_port);
+ if(addr->data.stor.ss_family == AF_INET) {
+ return ntohs(addr->data.inet4.sin_port);
}
- else if(addr->stor.ss_family == AF_INET6) {
- return ntohs(addr->inet6.sin6_port);
+ else if(addr->data.stor.ss_family == AF_INET6) {
+ return ntohs(addr->data.inet6.sin6_port);
}
return -1;
if ((addr1 == NULL) || (addr2 == NULL) || (netmask == NULL))
return(-1);
- if ((addr1->stor.ss_family != addr2->stor.ss_family) ||
- (addr1->stor.ss_family != netmask->stor.ss_family))
+ if ((addr1->data.stor.ss_family != addr2->data.stor.ss_family) ||
+ (addr1->data.stor.ss_family != netmask->data.stor.ss_family))
return(-1);
if (virSocketAddrIsNetmask(netmask) != 0)
return(-1);
- if (addr1->stor.ss_family == AF_INET) {
+ if (addr1->data.stor.ss_family == AF_INET) {
virIPv4Addr t1, t2, tm;
if ((getIPv4Addr(addr1, &t1) < 0) ||
return(0);
}
- } else if (addr1->stor.ss_family == AF_INET) {
+ } else if (addr1->data.stor.ss_family == AF_INET) {
virIPv6Addr t1, t2, tm;
if ((getIPv6Addr(addr1, &t1) < 0) ||
if ((start == NULL) || (end == NULL))
return(-1);
- if (start->stor.ss_family != end->stor.ss_family)
+ if (start->data.stor.ss_family != end->data.stor.ss_family)
return(-1);
- if (start->stor.ss_family == AF_INET) {
+ if (start->data.stor.ss_family == AF_INET) {
virIPv4Addr t1, t2;
if ((getIPv4Addr(start, &t1) < 0) ||
if (ret < 0)
return(-1);
ret++;
- } else if (start->stor.ss_family == AF_INET6) {
+ } else if (start->data.stor.ss_family == AF_INET6) {
virIPv6Addr t1, t2;
if ((getIPv6Addr(start, &t1) < 0) ||
int i, j;
int c = 0;
- if (netmask->stor.ss_family == AF_INET) {
+ if (netmask->data.stor.ss_family == AF_INET) {
virIPv4Addr tm;
uint8_t bit;
}
return c;
- } else if (netmask->stor.ss_family == AF_INET6) {
+ } else if (netmask->data.stor.ss_family == AF_INET6) {
virIPv6Addr tm;
uint16_t bit;