Lines Matching refs:pai

319 	/* external reference: pai, error, and label free */	\
320 (ai) = get_ai(pai, (afd), (addr)); \
337 /* external reference: pai, error and label free */ \
338 error = get_canonname(pai, (ai), (str)); \
462 struct addrinfo *pai;
477 pai = &ai;
478 pai->ai_flags = 0;
479 pai->ai_family = PF_UNSPEC;
480 pai->ai_socktype = ANY;
481 pai->ai_protocol = ANY;
482 pai->ai_addrlen = 0;
483 pai->ai_canonname = NULL;
484 pai->ai_addr = NULL;
485 pai->ai_next = NULL;
506 memcpy(pai, hints, sizeof(*pai));
512 if (pai->ai_socktype != ANY && pai->ai_protocol != ANY) {
514 if (pai->ai_family != ex->e_af)
520 if (pai->ai_socktype == ex->e_socktype
521 && pai->ai_protocol != ex->e_protocol) {
528 if ((pai->ai_flags & AI_ADDRCONFIG) != 0 && addrconfig(&mask) == -1)
536 if (MATCH_FAMILY(pai->ai_family, PF_INET, 1)
538 || MATCH_FAMILY(pai->ai_family, PF_INET6, 1)
541 ai0 = *pai; /* backup *pai */
543 if (pai->ai_family == PF_UNSPEC) {
545 pai->ai_family = PF_INET6;
547 pai->ai_family = PF_INET;
550 error = get_portmatch(pai, servname, &svd);
554 *pai = ai0;
557 ai0 = *pai;
561 *pai = ai0;
571 if (!MATCH_FAMILY(pai->ai_family, ex->e_af, WILD_AF(ex)))
573 if (!MATCH(pai->ai_socktype, ex->e_socktype, WILD_SOCKTYPE(ex)))
575 if (!MATCH(pai->ai_protocol, ex->e_protocol, WILD_PROTOCOL(ex)))
577 if (pai->ai_family == PF_UNSPEC)
578 pai->ai_family = ex->e_af;
579 if (pai->ai_socktype == ANY && ex->e_socktype != ANY)
580 pai->ai_socktype = ex->e_socktype;
581 if (pai->ai_protocol == ANY && ex->e_protocol != ANY)
582 pai->ai_protocol = ex->e_protocol;
585 error = explore_null(pai, servname, &cur->ai_next,
588 error = explore_numeric_scope(pai, hostname, servname,
610 if (pai->ai_flags & AI_NUMERICHOST)
619 *pai = ai0;
629 if (pai->ai_family != ex->e_af)
632 if (!MATCH(pai->ai_socktype, ex->e_socktype,
636 if (!MATCH(pai->ai_protocol, ex->e_protocol,
641 if (pai->ai_socktype == ANY && ex->e_socktype != ANY)
642 pai->ai_socktype = ex->e_socktype;
643 if (pai->ai_protocol == ANY && ex->e_protocol != ANY)
644 pai->ai_protocol = ex->e_protocol;
646 error = explore_fqdn(pai, hostname, servname, &cur->ai_next,
1155 explore_fqdn(const struct addrinfo *pai, const char *hostname,
1168 _DIAGASSERT(pai != NULL);
1178 if (get_portmatch(pai, servname, svd) != 0)
1182 default_dns_files, hostname, pai, servname)) {
1220 explore_null(const struct addrinfo *pai, const char *servname,
1229 _DIAGASSERT(pai != NULL);
1241 s = socket(pai->ai_family, SOCK_DGRAM, 0);
1251 if (get_portmatch(pai, servname, svd) != 0)
1254 afd = find_afd(pai->ai_family);
1258 if (pai->ai_flags & AI_PASSIVE) {
1286 explore_numeric(const struct addrinfo *pai, const char *hostname,
1296 _DIAGASSERT(pai != NULL);
1308 if (get_portmatch(pai, servname, svd) != 0)
1311 afd = find_afd(pai->ai_family);
1333 if (pai->ai_family == afd->a_af ||
1334 pai->ai_family == PF_UNSPEC /*?*/) {
1337 if ((pai->ai_flags & AI_CANONNAME)) {
1353 if (pai->ai_family == afd->a_af ||
1354 pai->ai_family == PF_UNSPEC /*?*/) {
1357 if ((pai->ai_flags & AI_CANONNAME)) {
1387 explore_numeric_scope(const struct addrinfo *pai, const char *hostname,
1391 return explore_numeric(pai, hostname, servname, res, hostname, svd);
1400 _DIAGASSERT(pai != NULL);
1408 if (get_portmatch(pai, servname, svd) != 0)
1411 afd = find_afd(pai->ai_family);
1416 return explore_numeric(pai, hostname, servname, res, hostname,
1421 return explore_numeric(pai, hostname, servname, res, hostname,
1435 error = explore_numeric(pai, addr, servname, res, hostname, svd);
1458 get_canonname(const struct addrinfo *pai, struct addrinfo *ai, const char *str)
1461 _DIAGASSERT(pai != NULL);
1465 if ((pai->ai_flags & AI_CANONNAME) != 0) {
1488 get_ai(const struct addrinfo *pai, const struct afd *afd, const char *addr)
1494 _DIAGASSERT(pai != NULL);
1503 memcpy(ai, pai, sizeof(struct addrinfo));
1703 int qtype, const struct addrinfo *pai)
1724 _DIAGASSERT(pai != NULL);
1868 /* don't overwrite pai */
1869 ai = *pai;
1969 aip = _dns_query(&q, pai, res, 0);
1984 (void)get_canonname(pai, sentinel.ai_next,
2028 _dns_query(struct res_target *q, const struct addrinfo *pai,
2071 ai = getanswer(res, buf, q->n, q->name, q->qtype, pai);
2078 ai = getanswer(res, buf2, q2->n, q2->name, q2->qtype, pai);
2094 const struct addrinfo *pai)
2124 if (pai->ai_socktype == srvnottype[i])
2150 ai = _dns_query(&q, pai, res, 1);
2169 _dns_host_lookup(const char *name, const struct addrinfo *pai)
2182 switch (pai->ai_family) {
2209 ai = _dns_query(&q, pai, res, 1);
2228 const struct addrinfo *pai;
2231 pai = va_arg(ap, const struct addrinfo *);
2239 && (pai->ai_flags & AI_SRV)
2241 && !(pai->ai_flags & AI_NUMERICSERV)
2247 ai = _dns_srv_lookup(name, servname, pai);
2258 ai = _dns_host_lookup(name, pai);
2299 _gethtent(FILE **hostf, const char *name, const struct addrinfo *pai)
2309 _DIAGASSERT(pai != NULL);
2343 hints = *pai;
2350 res->ai_flags = pai->ai_flags;
2352 if (pai->ai_flags & AI_CANONNAME) {
2353 if (get_canonname(pai, res, cname) != 0) {
2367 const struct addrinfo *pai;
2376 pai = va_arg(ap, const struct addrinfo *);
2382 while ((p = _gethtent(&hostf, name, pai)) != NULL) {
2398 _yphostent(char *line, const struct addrinfo *pai)
2409 _DIAGASSERT(pai != NULL);
2448 hints = *pai;
2454 res->ai_flags = pai->ai_flags;
2456 if (pai->ai_flags & AI_CANONNAME)
2457 (void)get_canonname(pai, res, canonname);
2485 const struct addrinfo *pai;
2492 pai = va_arg(ap, const struct addrinfo *);
2498 if (pai->ai_family == PF_UNSPEC || pai->ai_family == PF_INET) {
2504 ai4 = *pai;
2520 ai = _yphostent(ypbuf, pai);