Lines Matching defs:ai
92 addmc(int s, struct addrinfo *ai, bool bug)
100 switch (ai->ai_family) {
102 s4 = (void *)ai->ai_addr;
103 assert(sizeof(*s4) == ai->ai_addrlen);
109 s6 = (void *)ai->ai_addr;
127 assert(sizeof(*s6) == ai->ai_addrlen);
156 allowv4mapped(int s, struct addrinfo *ai)
161 if (ai->ai_family != AF_INET6)
164 s6 = (void *)ai->ai_addr;
193 struct addrinfo hints, *ai0, *ai;
205 for (ai = ai0; ai; ai = ai->ai_next) {
206 s = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
212 if (allowv4mapped(s, ai) == -1) {
216 if ((*f)(s, ai->ai_addr, ai->ai_addrlen) == -1) {
220 if ((f == bind || f == connector) && addmc(s, ai, bug) == -1) {
224 *slen = ai->ai_addrlen;