Lines Matching refs:ai
521 struct addrinfo *ai; in send_to_cds() local
528 for (ai = send_cds->cds_ai; ai != NULL; ai = ai->ai_next) { in send_to_cds()
534 if (ai->ai_family == AF_INET6) { in send_to_cds()
535 (void) memcpy(&addr6, ai->ai_addr, sizeof (addr6)); in send_to_cds()
536 } else if (ai->ai_family == AF_INET) { in send_to_cds()
538 (void *)ai->ai_addr; in send_to_cds()
577 struct addrinfo *ai; in find_cds_by_addr() local
593 ai = ds->cds_ai; in find_cds_by_addr()
594 while (ai != NULL) { in find_cds_by_addr()
595 if (addrmatch(ai, sin6from)) in find_cds_by_addr()
597 ai = ai->ai_next; in find_cds_by_addr()
609 save_ai(ds, ai); in find_cds_by_addr()
614 addrmatch(struct addrinfo *ai, struct sockaddr_in6 *sin6from) in addrmatch() argument
623 if (ai->ai_family == AF_INET6) { in addrmatch()
624 struct sockaddr_in6 *sin6p = (void *)ai->ai_addr; in addrmatch()
631 if (ai->ai_family == AF_INET) { in addrmatch()
633 struct sockaddr_in *sin4p = (void *)ai->ai_addr; in addrmatch()
645 save_ai(ad_disc_cds_t *cds, struct addrinfo *ai) in save_ai() argument
661 switch (ai->ai_family) { in save_ai()
664 (void) memcpy(sin, ai->ai_addr, sizeof (*sin)); in save_ai()
670 (void) memcpy(sin6, ai->ai_addr, sizeof (*sin6)); in save_ai()
675 logger(LOG_ERR, "bad AF %d", ai->ai_family); in save_ai()