Lines Matching refs:ai
52 struct addrinfo *ai; in getaddrinfo() local
54 ai = malloc(sizeof(struct addrinfo) + sizeof(struct sockaddr)); in getaddrinfo()
55 if (ai == NULL) in getaddrinfo()
58 ai->ai_next = NULL; in getaddrinfo()
59 ai->ai_canonname = NULL; in getaddrinfo()
60 ai->ai_addr = (struct sockaddr *)(ai+1); in getaddrinfo()
62 struct sockaddr_in *si = (struct sockaddr_in *)ai->ai_addr; in getaddrinfo()
63 si->sin_len = ai->ai_addrlen = sizeof(struct sockaddr); in getaddrinfo()
64 si->sin_family = ai->ai_family = AF_INET; in getaddrinfo()
68 si->sin_family = ai->ai_family = hints->ai_family; in getaddrinfo()
69 ai->ai_socktype = hints->ai_socktype; in getaddrinfo()
73 freeaddrinfo(ai); in getaddrinfo()
77 *res = ai; in getaddrinfo()
83 freeaddrinfo(struct addrinfo *ai) in freeaddrinfo() argument
88 next = ai->ai_next; in freeaddrinfo()
89 if (ai->ai_canonname) in freeaddrinfo()
90 free(ai->ai_canonname); in freeaddrinfo()
92 free(ai); in freeaddrinfo()
93 ai = next; in freeaddrinfo()
94 } while (ai); in freeaddrinfo()