Lines Matching refs:addr

99   struct iface_addr *addr;  in iface_Create()  local
157 iface->addr = NULL; in iface_Create()
177 addr = (struct iface_addr *) in iface_Create()
178 realloc(iface->addr, (iface->addrs + 1) * sizeof iface->addr[0]); in iface_Create()
179 if (addr == NULL) in iface_Create()
181 iface->addr = addr; in iface_Create()
183 addr += iface->addrs; in iface_Create()
186 ncprange_setsa(&addr->ifa, sa[RTAX_IFA], sa[RTAX_NETMASK]); in iface_Create()
188 ncpaddr_setsa(&addr->peer, sa[RTAX_BRD]); in iface_Create()
190 ncpaddr_init(&addr->peer); in iface_Create()
202 iface_addr_Zap(const char *name, struct iface_addr *addr, int s) in iface_addr_Zap() argument
212 ncprange_getsa(&addr->ifa, &ssme, NULL); in iface_addr_Zap()
215 switch (ncprange_family(&addr->ifa)) { in iface_addr_Zap()
227 snprintf(buf, sizeof buf, "%s", ncprange_ntoa(&addr->ifa)); in iface_addr_Zap()
229 ifr.ifr_name, buf, ncpaddr_ntoa(&addr->peer), res); in iface_addr_Zap()
249 ncprange_family(&addr->ifa) == AF_INET6 ? "_IN6" : in iface_addr_Zap()
253 if (ncpaddr_family(&addr->peer) == AF_UNSPEC) in iface_addr_Zap()
255 end, ncprange_ntoa(&addr->ifa), strerror(saved_errno)); in iface_addr_Zap()
257 snprintf(dst, sizeof dst, "%s", ncpaddr_ntoa(&addr->peer)); in iface_addr_Zap()
259 end, ncprange_ntoa(&addr->ifa), dst, strerror(saved_errno)); in iface_addr_Zap()
267 iface_addr_Add(const char *name, struct iface_addr *addr, int s) in iface_addr_Add() argument
277 ncprange_getsa(&addr->ifa, &ssme, &ssmsk); in iface_addr_Add()
278 ncpaddr_getsa(&addr->peer, &sspeer); in iface_addr_Add()
281 switch (ncprange_family(&addr->ifa)) { in iface_addr_Add()
293 if (ncpaddr_family(&addr->peer) == AF_UNSPEC) { in iface_addr_Add()
305 snprintf(buf, sizeof buf, "%s", ncprange_ntoa(&addr->ifa)); in iface_addr_Add()
307 ifra.ifra_name, buf, ncpaddr_ntoa(&addr->peer), res); in iface_addr_Add()
318 if (ncpaddr_family(&addr->peer) == AF_UNSPEC) in iface_addr_Add()
336 ncprange_family(&addr->ifa) == AF_INET6 ? "_IN6" : in iface_addr_Add()
340 if (ncpaddr_family(&addr->peer) == AF_UNSPEC) in iface_addr_Add()
342 end, ncprange_ntoa(&addr->ifa), strerror(saved_errno)); in iface_addr_Add()
344 snprintf(dst, sizeof dst, "%s", ncpaddr_ntoa(&addr->peer)); in iface_addr_Add()
346 end, ncprange_ntoa(&addr->ifa), dst, strerror(saved_errno)); in iface_addr_Add()
461 af = ncprange_family(&iface->addr[n].ifa); in iface_Clear()
463 if (!iface->addr[n].system && (how & IFACE_SYSTEM)) in iface_Clear()
489 else if (iface_addr_Zap(iface->name, iface->addr + n, *s)) { in iface_Clear()
490 ncp_IfaceAddrDeleted(ncp, iface->addr + n); in iface_Clear()
491 bcopy(iface->addr + n + 1, iface->addr + n, in iface_Clear()
492 (iface->addrs - n - 1) * sizeof *iface->addr); in iface_Clear()
515 struct iface_addr *addr, newaddr; in iface_Add() local
525 if (ncprange_contains(&iface->addr[n].ifa, &ncplocal) || in iface_Add()
526 ncpaddr_equal(&iface->addr[n].peer, peer)) { in iface_Add()
533 if (ncprange_equal(&iface->addr[n].ifa, ifa) && in iface_Add()
534 ncpaddr_equal(&iface->addr[n].peer, peer)) { in iface_Add()
536 ncp_IfaceAddrAdded(ncp, iface->addr + n); in iface_Add()
540 removed = iface_addr_Zap(iface->name, iface->addr + n, s); in iface_Add()
542 ncp_IfaceAddrDeleted(ncp, iface->addr + n); in iface_Add()
543 ncprange_copy(&iface->addr[n].ifa, ifa); in iface_Add()
544 ncpaddr_copy(&iface->addr[n].peer, peer); in iface_Add()
545 if (!iface_addr_Add(iface->name, iface->addr + n, s)) { in iface_Add()
547 bcopy(iface->addr + n + 1, iface->addr + n, in iface_Add()
548 (iface->addrs - n - 1) * sizeof *iface->addr); in iface_Add()
556 ncp_IfaceAddrAdded(ncp, iface->addr + n); in iface_Add()
561 addr = (struct iface_addr *)realloc in iface_Add()
562 (iface->addr, (iface->addrs + 1) * sizeof iface->addr[0]); in iface_Add()
563 if (addr == NULL) { in iface_Add()
568 iface->addr = addr; in iface_Add()
581 bcopy(iface->addr, iface->addr + 1, iface->addrs * sizeof *iface->addr); in iface_Add()
586 memcpy(iface->addr + n, &newaddr, sizeof(*iface->addr)); in iface_Add()
589 ncp_IfaceAddrAdded(ncp, iface->addr + n); in iface_Add()
607 ncprange_getaddr(&iface->addr[n].ifa, &found); in iface_Delete()
609 if (iface_addr_Zap(iface->name, iface->addr + n, s)) { in iface_Delete()
610 ncp_IfaceAddrDeleted(ncp, iface->addr + n); in iface_Delete()
611 bcopy(iface->addr + n + 1, iface->addr + n, in iface_Delete()
612 (iface->addrs - n - 1) * sizeof *iface->addr); in iface_Delete()
692 free(iface->addr); in iface_Free()
773 ncprange_getaddr(&iface->addr[f].ifa, &ncpaddr); in iface_Show()
774 switch (ncprange_family(&iface->addr[f].ifa)) { in iface_Show()
777 if (ncpaddr_family(&iface->addr[f].peer) == AF_UNSPEC) in iface_Show()
780 prompt_Printf(arg->prompt, "%s", ncpaddr_ntoa(&iface->addr[f].peer)); in iface_Show()
781 ncprange_getip4mask(&iface->addr[f].ifa, &mask); in iface_Show()
788 if (ncpaddr_family(&iface->addr[f].peer) != AF_UNSPEC) in iface_Show()
790 ncpaddr_ntoa(&iface->addr[f].peer)); in iface_Show()
791 ncprange_getwidth(&iface->addr[f].ifa, &width); in iface_Show()
792 if (ncpaddr_family(&iface->addr[f].peer) == AF_UNSPEC) in iface_Show()
794 if ((scopeid = ncprange_scopeid(&iface->addr[f].ifa)) != -1) in iface_Show()