cifaddr
if (cifaddr(unit, ouraddr, hisaddr) != 1)
extern int cifaddr __P((int, u_int32_t, u_int32_t));
struct ifaddrs *cifaddr;
cifaddr = &curr->ia_ifa;
if ((cifaddr->ifa_name = strdup(ifap->ifa_name)) == NULL)
cifaddr->ifa_flags = ifap->ifa_flags;
cifaddr->ifa_addr = malloc(sizeof (struct sockaddr_storage));
if (cifaddr->ifa_addr == NULL)
(void) memcpy(cifaddr->ifa_addr, ifap->ifa_addr,
cifaddr->ifa_netmask = malloc(sizeof (struct sockaddr_storage));
if (cifaddr->ifa_netmask == NULL)
(void) memcpy(cifaddr->ifa_netmask, ifap->ifa_netmask,
cifaddr->ifa_dstaddr = malloc(
if (cifaddr->ifa_dstaddr == NULL)
(void) memcpy(cifaddr->ifa_dstaddr, ifap->ifa_dstaddr,
cifaddr->ifa_broadaddr = malloc(
if (cifaddr->ifa_broadaddr == NULL)
(void) memcpy(cifaddr->ifa_broadaddr,