Lines Matching refs:ai

277 static	int do_nodename (const char *nodename, struct addrinfo *ai,
286 struct addrinfo *ai = NULL; in getaddrinfo() local
298 ai = calloc(sizeof(struct addrinfo), 1); in getaddrinfo()
299 if (ai == NULL) in getaddrinfo()
306 ai->ai_flags = hints->ai_flags; in getaddrinfo()
307 ai->ai_family = hints->ai_family; in getaddrinfo()
308 ai->ai_socktype = hints->ai_socktype; in getaddrinfo()
309 ai->ai_protocol = hints->ai_protocol; in getaddrinfo()
368 rval = do_nodename(nodename, ai, hints); in getaddrinfo()
370 freeaddrinfo(ai); in getaddrinfo()
408 if (ai->ai_family == AF_INET) in getaddrinfo()
409 ((struct sockaddr_in *)ai->ai_addr)->sin_port = (unsigned short) port; in getaddrinfo()
410 else if (ai->ai_family == AF_INET6) in getaddrinfo()
411 ((struct sockaddr_in6 *)ai->ai_addr)->sin6_port = (unsigned short) port; in getaddrinfo()
412 *res = ai; in getaddrinfo()
417 freeaddrinfo(struct addrinfo *ai) in freeaddrinfo() argument
419 if (ai->ai_canonname != NULL) in freeaddrinfo()
421 free(ai->ai_canonname); in freeaddrinfo()
422 ai->ai_canonname = NULL; in freeaddrinfo()
424 if (ai->ai_addr != NULL) in freeaddrinfo()
426 free(ai->ai_addr); in freeaddrinfo()
427 ai->ai_addr = NULL; in freeaddrinfo()
429 free(ai); in freeaddrinfo()
430 ai = NULL; in freeaddrinfo()
466 struct addrinfo *ai, in do_nodename() argument
474 ai->ai_addr = calloc(sizeof(struct sockaddr_storage), 1); in do_nodename()
475 if (ai->ai_addr == NULL) in do_nodename()
484 if (ai->ai_family == AF_INET) in do_nodename()
486 ai->ai_addrlen = sizeof(struct sockaddr_in); in do_nodename()
487 sockin = (struct sockaddr_in *)ai->ai_addr; in do_nodename()
488 sockin->sin_family = (short) ai->ai_family; in do_nodename()
493 ai->ai_addrlen = sizeof(struct sockaddr_in6); in do_nodename()
494 sockin6 = (struct sockaddr_in6 *)ai->ai_addr; in do_nodename()
495 sockin6->sin6_family = (short) ai->ai_family; in do_nodename()
505 ai->ai_addr->sa_len = SOCKLEN(ai->ai_addr); in do_nodename()
516 &((struct sockaddr_in6 *)ai->ai_addr)->sin6_addr) == 1) { in do_nodename()
517 ((struct sockaddr_in6 *)ai->ai_addr)->sin6_family = AF_INET6; in do_nodename()
518 ai->ai_family = AF_INET6; in do_nodename()
519 ai->ai_addrlen = sizeof(struct sockaddr_in6); in do_nodename()
528 &((struct sockaddr_in *)ai->ai_addr)->sin_addr) == 1) { in do_nodename()
529 ((struct sockaddr *)ai->ai_addr)->sa_family = AF_INET; in do_nodename()
530 ai->ai_family = AF_INET; in do_nodename()
531 ai->ai_addrlen = sizeof(struct sockaddr_in); in do_nodename()
552 &((struct sockaddr_in *)ai->ai_addr)->sin_addr) == 1) { in do_nodename()
553 ((struct sockaddr *)ai->ai_addr)->sa_family = AF_INET; in do_nodename()
554 ai->ai_family = AF_INET; in do_nodename()
555 ai->ai_addrlen = sizeof(struct sockaddr_in); in do_nodename()
565 ai->ai_family = hp->h_addrtype; in do_nodename()
566 ai->ai_addrlen = sizeof(struct sockaddr); in do_nodename()
567 sockin = (struct sockaddr_in *)ai->ai_addr; in do_nodename()
569 ai->ai_addr->sa_family = hp->h_addrtype; in do_nodename()
571 ai->ai_addr->sa_len = sizeof(struct sockaddr); in do_nodename()
574 ai->ai_canonname = estrdup(hp->h_name); in do_nodename()