Lines Matching refs:ai
111 const struct addrinfo *ai;
127 for(ai = aihead; ai != NULL; ai = ai->ai_next) {
128 size_t namelen = ai->ai_canonname ? strlen(ai->ai_canonname) + 1 : 0;
131 if(ai->ai_family == AF_INET)
134 else if(ai->ai_family == AF_INET6)
141 if(!ai->ai_addr || !(ai->ai_addrlen > 0))
145 if((size_t)ai->ai_addrlen < ss_size)
157 ca->ai_flags = ai->ai_flags;
158 ca->ai_family = ai->ai_family;
159 ca->ai_socktype = ai->ai_socktype;
160 ca->ai_protocol = ai->ai_protocol;
167 memcpy(ca->ai_addr, ai->ai_addr, ss_size);
171 memcpy(ca->ai_canonname, ai->ai_canonname, namelen);
258 struct Curl_addrinfo *ai;
286 ai = calloc(1, sizeof(struct Curl_addrinfo) + ss_size + namelen);
287 if(!ai) {
292 ai->ai_addr = (void *)((char *)ai + sizeof(struct Curl_addrinfo));
294 ai->ai_canonname = (char *)ai->ai_addr + ss_size;
295 memcpy(ai->ai_canonname, he->h_name, namelen);
299 firstai = ai;
303 prevai->ai_next = ai;
305 ai->ai_family = he->h_addrtype;
309 ai->ai_socktype = SOCK_STREAM;
311 ai->ai_addrlen = (curl_socklen_t)ss_size;
315 switch(ai->ai_family) {
317 addr = (void *)ai->ai_addr; /* storage area for this info */
326 addr6 = (void *)ai->ai_addr; /* storage area for this info */
335 prevai = ai;
371 struct Curl_addrinfo *ai;
432 ai = Curl_he2ai(h, port);
437 return ai;
470 struct Curl_addrinfo *ai;
476 ai = calloc(1, sizeof(struct Curl_addrinfo) + sizeof(struct sockaddr_un));
477 if(!ai)
479 ai->ai_addr = (void *)((char *)ai + sizeof(struct Curl_addrinfo));
481 sa_un = (void *) ai->ai_addr;
487 free(ai);
492 ai->ai_family = AF_UNIX;
493 ai->ai_socktype = SOCK_STREAM; /* assume reliable transport for HTTP */
494 ai->ai_addrlen = (curl_socklen_t)
503 return ai;