Lines Matching refs:addrinfo
394 struct addrinfo_t *addrinfo = (struct addrinfo_t *)data; in data_cb() local
408 addrinfo->addrs[addrinfo->num].prefix = ifa->ifa_prefixlen; in data_cb()
409 if (ifa->ifa_index == (unsigned int)addrinfo->iface) in data_cb()
412 memcpy(addrinfo->addrs[addrinfo->num].address.ip6.s6_addr, addr, 16); in data_cb()
414 memcpy(&(addrinfo->addrs[addrinfo->num].address.ip), addr, 4); in data_cb()
415 addrinfo->num++; in data_cb()
438 static int if_get_addr(const char *ifname, int proto, struct addrinfo_t *addrinfo) in if_get_addr() argument
447 addrinfo->iface = if_nametoindex(ifname); in if_get_addr()
448 if (addrinfo->iface == 0) in if_get_addr()
487 ret = mnl_cb_run(buf, ret, seq, portid, data_cb, addrinfo); in if_get_addr()
504 struct addrinfo_t addrinfo; in if_flush_v4_addr() local
507 memset(&addrinfo, 0, sizeof(struct addrinfo_t)); in if_flush_v4_addr()
508 if_get_addr(ifname, AF_INET, &addrinfo); in if_flush_v4_addr()
509 for (; i < addrinfo.num; i++) in if_flush_v4_addr()
512 if_del_addr_v4(ifname, addrinfo.addrs[i].address.ip, addrinfo.addrs[i].prefix); in if_flush_v4_addr()
519 struct addrinfo_t addrinfo; in if_flush_v6_addr() local
522 memset(&addrinfo, 0, sizeof(struct addrinfo_t)); in if_flush_v6_addr()
523 if_get_addr(ifname, AF_INET6, &addrinfo); in if_flush_v6_addr()
524 for (; i < addrinfo.num; i++) in if_flush_v6_addr()
527 if_del_addr_v6(ifname, addrinfo.addrs[i].address.ip6.s6_addr, addrinfo.addrs[i].prefix); in if_flush_v6_addr()