Lines Matching refs:pai

219 	/* external reference: pai, error, and label free */ \
220 (ai) = get_ai(pai, (afd), (addr)); \
237 /* external reference: pai, error and label free */ \
238 error = get_canonname(pai, (ai), (str)); \
303 struct addrinfo *pai;
321 pai = &ai;
322 pai->ai_flags = 0;
323 pai->ai_family = PF_UNSPEC;
324 pai->ai_socktype = ANY;
325 pai->ai_protocol = ANY;
326 pai->ai_addrlen = 0;
327 pai->ai_canonname = NULL;
328 pai->ai_addr = NULL;
329 pai->ai_next = NULL;
350 memcpy(pai, hints, sizeof(*pai));
356 if (pai->ai_socktype != ANY && pai->ai_protocol != ANY) {
358 if (pai->ai_family != ex->e_af)
364 if (pai->ai_socktype == ex->e_socktype
365 && pai->ai_protocol != ex->e_protocol) {
377 if (MATCH_FAMILY(pai->ai_family, PF_INET, 1)
379 || MATCH_FAMILY(pai->ai_family, PF_INET6, 1)
382 ai0 = *pai;
384 if (pai->ai_family == PF_UNSPEC) {
386 pai->ai_family = PF_INET6;
388 pai->ai_family = PF_INET;
391 error = get_portmatch(pai, servname);
395 *pai = ai0;
398 ai0 = *pai;
402 *pai = ai0;
404 if (!MATCH_FAMILY(pai->ai_family, ex->e_af, WILD_AF(ex)))
406 if (!MATCH(pai->ai_socktype, ex->e_socktype, WILD_SOCKTYPE(ex)))
408 if (!MATCH(pai->ai_protocol, ex->e_protocol, WILD_PROTOCOL(ex)))
411 if (pai->ai_family == PF_UNSPEC)
412 pai->ai_family = ex->e_af;
413 if (pai->ai_socktype == ANY && ex->e_socktype != ANY)
414 pai->ai_socktype = ex->e_socktype;
415 if (pai->ai_protocol == ANY && ex->e_protocol != ANY)
416 pai->ai_protocol = ex->e_protocol;
419 error = explore_null(pai, hostname, servname, &cur->ai_next);
421 error = explore_numeric_scope(pai, hostname, servname, &cur->ai_next);
438 if (pai->ai_flags & AI_NUMERICHOST)
449 *pai = ai0;
451 if (!MATCH_FAMILY(pai->ai_family, afd->a_af, 1))
455 *pai = ai0;
457 if (pai->ai_family == PF_UNSPEC)
458 pai->ai_family = afd->a_af;
460 if (!MATCH_FAMILY(pai->ai_family, ex->e_af, WILD_AF(ex)))
462 if (!MATCH(pai->ai_socktype, ex->e_socktype,
466 if (!MATCH(pai->ai_protocol, ex->e_protocol,
471 if (pai->ai_family == PF_UNSPEC)
472 pai->ai_family = ex->e_af;
473 if (pai->ai_socktype == ANY && ex->e_socktype != ANY)
474 pai->ai_socktype = ex->e_socktype;
475 if (pai->ai_protocol == ANY && ex->e_protocol != ANY)
476 pai->ai_protocol = ex->e_protocol;
478 error = explore_fqdn(pai, hostname, servname,
512 explore_fqdn(pai, hostname, servname, res)
513 const struct addrinfo *pai;
544 if (get_portmatch(pai, servname) != 0)
547 afd = find_afd(pai->ai_family);
550 * post-RFC2553: should look at (pai->ai_flags & AI_ADDRCONFIG)
555 hp = getipnodebyname(hostname, pai->ai_family, AI_ADDRCONFIG, &h_error);
558 hp = gethostbyname2(hostname, pai->ai_family);
560 if (pai->ai_family != AF_INET)
638 if (af != pai->ai_family)
641 if ((pai->ai_flags & AI_CANONNAME) == 0) {
656 ap, pai, servname);
686 explore_null(pai, hostname, servname, res)
687 const struct addrinfo *pai;
706 s = socket(pai->ai_family, SOCK_DGRAM, 0);
716 if (get_portmatch(pai, servname) != 0)
719 afd = find_afd(pai->ai_family);
721 if (pai->ai_flags & AI_PASSIVE) {
749 explore_numeric(pai, hostname, servname, res)
750 const struct addrinfo *pai;
769 if (get_portmatch(pai, servname) != 0)
772 afd = find_afd(pai->ai_family);
773 flags = pai->ai_flags;
799 if (pai->ai_family == afd->a_af ||
800 pai->ai_family == PF_UNSPEC /*?*/) {
816 pton, pai, servname);
838 explore_numeric_scope(pai, hostname, servname, res)
839 const struct addrinfo *pai;
845 return explore_numeric(pai, hostname, servname, res);
857 if (get_portmatch(pai, servname) != 0)
860 afd = find_afd(pai->ai_family);
862 return explore_numeric(pai, hostname, servname, res);
866 return explore_numeric(pai, hostname, servname, res);
878 switch (pai->ai_family) {
890 error = explore_numeric(pai, hostname2, servname, res);
909 get_name(addr, afd, res, numaddr, pai, servname)
914 const struct addrinfo *pai;
978 get_canonname(pai, ai, str)
979 const struct addrinfo *pai;
983 if ((pai->ai_flags & AI_CANONNAME) != 0) {
993 get_ai(pai, afd, addr)
994 const struct addrinfo *pai;
1006 memcpy(ai, pai, sizeof(struct addrinfo));