Lines Matching refs:ai
110 * ai is a pointer to a struct addrinfo created by a call to getaddrinfo().
190 _freeaddrinfo(struct addrinfo *ai);
248 struct addrinfo *ai, *ai_list;
407 ai = ai_alloc(AF_INET, sizeof(struct sockaddr_in));
408 if (ai == NULL) {
411 ai->ai_socktype = socktype;
412 ai->ai_protocol = protocol;
413 SIN(ai->ai_addr)->sin_port = port;
414 ai->ai_next = ai_list;
415 ai_list = ai;
419 ai = ai_alloc(AF_INET6, sizeof(struct sockaddr_in6));
420 if (ai == NULL) {
424 ai->ai_socktype = socktype;
425 ai->ai_protocol = protocol;
426 SIN6(ai->ai_addr)->sin6_port = port;
427 ai->ai_next = ai_list;
428 ai_list = ai;
503 ai = ai_alloc(family,
507 if (ai == NULL) {
510 ai_list = ai;
511 ai->ai_socktype = socktype;
512 SIN(ai->ai_addr)->sin_port = port;
513 memmove((char *)ai->ai_addr + addroff, abuf, addrsize);
514 if (ai->ai_family == AF_INET6) {
515 SIN6(ai->ai_addr)->sin6_scope_id = scopeid;
518 if (getnameinfo(ai->ai_addr,
519 (socklen_t)ai->ai_addrlen, nbuf,
523 ai->ai_canonname = strdup(nbuf);
524 if (ai->ai_canonname == NULL) {
525 _freeaddrinfo(ai);
530 ai->ai_canonname = NULL;
826 struct addrinfo *ai;
831 ai = ai_alloc(
836 if (ai == NULL) {
840 ai->ai_socktype = resstate->head->ai_socktype;
841 ai->ai_next = trans->ai_sentinel.ai_next;
842 trans->ai_sentinel.ai_next = ai;
855 SIN(ai->ai_addr)->sin_port =
857 memmove(&SIN(ai->ai_addr)->sin_addr,
866 SIN6(ai->ai_addr)->sin6_port =
868 memmove(&SIN6(ai->ai_addr)->sin6_addr,
875 ai->ai_canonname = strdup(cname);
876 if (ai->ai_canonname == NULL) {
1179 struct addrinfo *ai;
1184 ai = ai_clone(*aip, AF_INET); /* don't use ai_clone() */
1185 if (ai == NULL) {
1189 *aip = ai;
1190 ai->ai_socktype = socktype;
1191 SIN(ai->ai_addr)->sin_port = port;
1192 memmove(&SIN(ai->ai_addr)->sin_addr, v4_loop, 4);
1202 struct addrinfo *ai;
1207 ai = ai_clone(*aip, AF_INET6); /* don't use ai_clone() */
1208 if (ai == NULL) {
1212 *aip = ai;
1213 ai->ai_socktype = socktype;
1214 SIN6(ai->ai_addr)->sin6_port = port;
1215 memmove(&SIN6(ai->ai_addr)->sin6_addr, v6_loop, 16);
1222 freeaddrinfo(struct addrinfo *ai) {
1223 _freeaddrinfo(ai);
1227 _freeaddrinfo(struct addrinfo *ai) {
1230 while (ai != NULL) {
1231 ai_next = ai->ai_next;
1232 if (ai->ai_addr != NULL) {
1233 free(ai->ai_addr);
1235 if (ai->ai_canonname) {
1236 free(ai->ai_canonname);
1238 free(ai);
1239 ai
1246 struct addrinfo *ai;
1253 ai = ai_alloc(AF_LOCAL, sizeof(*slocal));
1254 if (ai == NULL) {
1258 slocal = SLOCAL(ai->ai_addr);
1261 ai->ai_socktype = socktype;
1263 * ai->ai_flags, ai->ai_protocol, ai->ai_canonname,
1264 * and ai->ai_next were initialized to zero.
1267 *res = ai;
1284 struct addrinfo *ai;
1286 ai = (struct addrinfo *)calloc(1, sizeof(*ai));
1287 if (ai == NULL) {
1291 ai->ai_addr = SA(calloc(1, addrlen));
1292 if (ai->ai_addr == NULL) {
1293 free(ai);
1296 ai->ai_addrlen = addrlen;
1297 ai->ai_family = family;
1298 ai->ai_addr->sa_family = family;
1300 ai->ai_addr->sa_len = addrlen;
1302 return (ai);
1307 struct addrinfo *ai;
1309 ai = ai_alloc(family,
1313 if (ai == NULL) {
1317 return (ai);
1320 ai->ai_flags = oai->ai_flags;
1321 ai->ai_socktype = oai->ai_socktype;
1322 ai->ai_protocol = oai->ai_protocol;
1323 ai->ai_canonname = NULL;
1324 ai->ai_next = oai;
1325 return (ai);