Lines Matching defs:ai
105 * ai is a pointer to a struct addrinfo created by a call to getaddrinfo().
175 static void _freeaddrinfo(struct addrinfo *ai);
193 struct addrinfo *ai, *ai_list;
324 ai = ai_alloc(AF_INET, sizeof(struct sockaddr_in));
325 if (ai == NULL)
327 ai->ai_socktype = socktype;
328 ai->ai_protocol = protocol;
329 SIN(ai->ai_addr)->sin_port = port;
330 ai->ai_next = ai_list;
331 ai_list = ai;
335 ai = ai_alloc(AF_INET6, sizeof(struct sockaddr_in6));
336 if (ai == NULL) {
340 ai->ai_socktype = socktype;
341 ai->ai_protocol = protocol;
342 SIN6(ai->ai_addr)->sin6_port = port;
343 ai->ai_next = ai_list;
344 ai_list = ai;
434 ai = ai_alloc(family,
438 if (ai == NULL)
440 ai_list = ai;
441 ai->ai_socktype = socktype;
442 SIN(ai->ai_addr)->sin_port = port;
443 memmove((char *)ai->ai_addr + addroff, abuf, addrsize);
446 if (ai->ai_family == AF_INET6)
447 SIN6(ai->ai_addr)->sin6_scope_id =
450 if (getnameinfo(ai->ai_addr,
451 (socklen_t)ai->ai_addrlen,
454 ai->ai_canonname = strdup(nbuf);
455 if (ai->ai_canonname == NULL) {
456 _freeaddrinfo(ai);
461 ai->ai_canonname = NULL;
760 struct addrinfo *ai;
765 ai = ai_alloc(family,
769 if (ai == NULL) {
773 ai->ai_socktype = resstate->head->ai_socktype;
774 ai->ai_next = trans->ai_sentinel.ai_next;
775 trans->ai_sentinel.ai_next = ai;
789 SIN(ai->ai_addr)->sin_port =
791 memmove(&SIN(ai->ai_addr)->sin_addr,
801 SIN6(ai->ai_addr)->sin6_port =
803 memmove(&SIN6(ai->ai_addr)->sin6_addr,
810 ai->ai_canonname = strdup(cname);
811 if (ai->ai_canonname == NULL) {
1130 struct addrinfo *ai;
1135 ai = ai_clone(*aip, AF_INET); /* don't use ai_clone() */
1136 if (ai == NULL)
1139 *aip = ai;
1140 ai->ai_socktype = socktype;
1141 SIN(ai->ai_addr)->sin_port = port;
1142 memmove(&SIN(ai->ai_addr)->sin_addr, v4_loop, 4);
1153 struct addrinfo *ai;
1158 ai = ai_clone(*aip, AF_INET6); /* don't use ai_clone() */
1159 if (ai == NULL)
1162 *aip = ai;
1163 ai->ai_socktype = socktype;
1164 SIN6(ai->ai_addr)->sin6_port = port;
1165 memmove(&SIN6(ai->ai_addr)->sin6_addr, v6_loop, 16);
1172 freeaddrinfo(struct addrinfo *ai) {
1173 _freeaddrinfo(ai);
1177 _freeaddrinfo(struct addrinfo *ai) {
1180 while (ai != NULL) {
1181 ai_next = ai->ai_next;
1182 if (ai->ai_addr != NULL)
1183 free(ai->ai_addr);
1184 if (ai->ai_canonname)
1185 free(ai->ai_canonname);
1186 free(ai);
1187 ai = ai_next;
1194 struct addrinfo *ai;
1200 ai = ai_alloc(AF_LOCAL, sizeof(*slocal));
1201 if (ai == NULL)
1204 slocal = SLOCAL(ai->ai_addr);
1207 ai->ai_socktype = socktype;
1209 * ai->ai_flags, ai->ai_protocol, ai->ai_canonname,
1210 * and ai->ai_next were initialized to zero.
1213 *res = ai;
1230 struct addrinfo *ai;
1232 ai = (struct addrinfo *)calloc(1, sizeof(*ai));
1233 if (ai == NULL)
1236 ai->ai_addr = SA(calloc(1, addrlen));
1237 if (ai->ai_addr == NULL) {
1238 free(ai);
1241 ai->ai_addrlen = addrlen;
1242 ai->ai_family = family;
1243 ai->ai_addr->sa_family = family;
1245 ai->ai_addr->sa_len = addrlen;
1247 return (ai);
1252 struct addrinfo *ai;
1254 ai = ai_alloc(family, ((family == AF_INET6) ?
1257 if (ai == NULL)
1260 return (ai);
1262 ai->ai_flags = oai->ai_flags;
1263 ai->ai_socktype = oai->ai_socktype;
1264 ai->ai_protocol = oai->ai_protocol;
1265 ai->ai_canonname = NULL;
1266 ai->ai_next = oai;
1267 return (ai);