Home | History | Annotate | Download | only in net

Lines Matching refs:pai

273 	/* external reference: pai, error, and label free */ 	\
274 (ai) = get_ai(pai, (afd), (addr)); \
291 /* external reference: pai, error and label free */ \
292 error = get_canonname(pai, (ai), (str)); \
593 struct addrinfo *pai;
603 pai = &ai;
604 pai->ai_flags = 0;
605 pai->ai_family = PF_UNSPEC;
606 pai->ai_socktype = ANY;
607 pai->ai_protocol = ANY;
608 pai->ai_addrlen = 0;
609 pai->ai_canonname = NULL;
610 pai->ai_addr = NULL;
611 pai->ai_next = NULL;
632 memcpy(pai, hints, sizeof(*pai));
638 if (pai->ai_socktype != ANY && pai->ai_protocol != ANY) {
640 if (pai->ai_family != ex->e_af)
646 if (pai->ai_socktype == ex->e_socktype
647 && pai->ai_protocol != ex->e_protocol) {
659 if (MATCH_FAMILY(pai->ai_family, PF_INET, 1)
661 || MATCH_FAMILY(pai->ai_family, PF_INET6, 1)
664 ai0 = *pai; /* backup *pai */
666 if (pai->ai_family == PF_UNSPEC) {
668 pai->ai_family = PF_INET6;
670 pai->ai_family = PF_INET;
673 error = get_portmatch(pai, servname);
677 *pai = ai0;
680 ai0 = *pai;
684 *pai = ai0;
690 if (!MATCH_FAMILY(pai->ai_family, ex->e_af, WILD_AF(ex)))
692 if (!MATCH(pai->ai_socktype, ex->e_socktype, WILD_SOCKTYPE(ex)))
694 if (!MATCH(pai->ai_protocol, ex->e_protocol, WILD_PROTOCOL(ex)))
697 if (pai->ai_family == PF_UNSPEC)
698 pai->ai_family = ex->e_af;
699 if (pai->ai_socktype == ANY && ex->e_socktype != ANY)
700 pai->ai_socktype = ex->e_socktype;
701 if (pai->ai_protocol == ANY && ex->e_protocol != ANY)
702 pai->ai_protocol = ex->e_protocol;
705 error = explore_null(pai, servname, &cur->ai_next);
707 error = explore_numeric_scope(pai, hostname, servname,
727 if (pai->ai_flags & AI_NUMERICHOST)
744 *pai = ai0;
747 if (pai->ai_family != ex->e_af)
750 if (!MATCH(pai->ai_socktype, ex->e_socktype,
754 if (!MATCH(pai->ai_protocol, ex->e_protocol,
759 if (pai->ai_socktype == ANY && ex->e_socktype != ANY)
760 pai->ai_socktype = ex->e_socktype;
761 if (pai->ai_protocol == ANY && ex->e_protocol != ANY)
762 pai->ai_protocol = ex->e_protocol;
764 error = explore_fqdn(pai, hostname, servname,
797 explore_fqdn(const struct addrinfo *pai, const char *hostname,
810 assert(pai != NULL);
820 if (get_portmatch(pai, servname) != 0)
824 default_dns_files, hostname, pai, iface, mark)) {
859 explore_null(const struct addrinfo *pai, const char *servname,
868 assert(pai != NULL);
880 s = socket(pai->ai_family, SOCK_DGRAM, 0);
890 if (get_portmatch(pai, servname) != 0)
893 afd = find_afd(pai->ai_family);
897 if (pai->ai_flags & AI_PASSIVE) {
925 explore_numeric(const struct addrinfo *pai, const char *hostname,
934 assert(pai != NULL);
946 if (get_portmatch(pai, servname) != 0)
949 afd = find_afd(pai->ai_family);
957 if (pai->ai_family == afd->a_af ||
958 pai->ai_family == PF_UNSPEC /*?*/) {
961 if ((pai->ai_flags & AI_CANONNAME)) {
978 if (pai->ai_family == afd->a_af ||
979 pai->ai_family == PF_UNSPEC /*?*/) {
982 if ((pai->ai_flags & AI_CANONNAME)) {
1012 explore_numeric_scope(const struct addrinfo *pai, const char *hostname,
1016 return explore_numeric(pai, hostname, servname, res, hostname);
1024 assert(pai != NULL);
1032 if (get_portmatch(pai, servname) != 0)
1035 afd = find_afd(pai->ai_family);
1040 return explore_numeric(pai, hostname, servname, res, hostname);
1044 return explore_numeric(pai, hostname, servname, res, hostname);
1057 error = explore_numeric(pai, addr, servname, res, hostname);
1080 get_canonname(const struct addrinfo *pai, struct addrinfo *ai, const char *str)
1083 assert(pai != NULL);
1087 if ((pai->ai_flags & AI_CANONNAME) != 0) {
1096 get_ai(const struct addrinfo *pai, const struct afd *afd, const char *addr)
1101 assert(pai != NULL);
1110 memcpy(ai, pai, sizeof(struct addrinfo));
1297 const struct addrinfo *pai)
1316 assert(pai != NULL);
1452 /* don't overwrite pai */
1453 ai = *pai;
1475 (void)get_canonname(pai, sentinel.ai_next, qname);
1477 (void)get_canonname(pai, sentinel.ai_next, canonname);
1890 const struct addrinfo *pai;
1898 pai = va_arg(ap, const struct addrinfo *);
1920 switch (pai->ai_family) {
1928 if (pai->ai_flags & AI_ADDRCONFIG) {
1995 ai = getanswer(buf, q.n, q.name, q.qtype, pai);
2002 ai = getanswer(buf2, q2.n, q2.name, q2.qtype, pai);
2049 _gethtent(FILE **hostf, const char *name, const struct addrinfo *pai)
2060 assert(pai != NULL);
2095 hints = *pai;
2102 res->ai_flags = pai->ai_flags;
2104 if (pai->ai_flags & AI_CANONNAME) {
2105 if (get_canonname(pai, res, cname) != 0) {
2119 const struct addrinfo *pai;
2125 pai = va_arg(ap, struct addrinfo *);
2132 while ((p = _gethtent(&hostf, name, pai)) != NULL) {