Lines Matching refs:ai
160 #define GET_CANONNAME(ai, str) \
162 if (((ai)->ai_canonname = (char *)malloc(strlen(str) + 1)) != NULL) {\
163 strcpy((ai)->ai_canonname, (str));\
171 #define GET_AI(ai, gai_afd, addr, port) {\
173 if (((ai) = (struct addrinfo *)malloc(sizeof(struct addrinfo) +\
176 memcpy(ai, pai, sizeof(struct addrinfo));\
177 (ai)->ai_addr = (struct sockaddr *)((ai) + 1);\
178 memset((ai)->ai_addr, 0, (gai_afd)->a_socklen);\
179 (ai)->ai_addr->sa_len = (ai)->ai_addrlen = (gai_afd)->a_socklen;\
180 (ai)->ai_addr->sa_family = (ai)->ai_family = (gai_afd)->a_af;\
181 ((struct sockinet *)(ai)->ai_addr)->si_port = port;\
182 p = (char *)((ai)->ai_addr);\
186 #define GET_AI(ai, gai_afd, addr, port) {\
188 if (((ai) = (struct addrinfo *)malloc(sizeof(struct addrinfo) +\
191 memcpy(ai, pai, sizeof(struct addrinfo));\
192 (ai)->ai_addr = (struct sockaddr *)((ai) + 1);\
193 memset((ai)->ai_addr, 0, (gai_afd)->a_socklen);\
194 (ai)->ai_addrlen = (gai_afd)->a_socklen;\
195 (ai)->ai_addr->sa_family = (ai)->ai_family = (gai_afd)->a_af;\
196 ((struct sockinet *)(ai)->ai_addr)->si_port = port;\
197 p = (char *)((ai)->ai_addr);\
213 freeaddrinfo(struct addrinfo *ai)
218 next = ai->ai_next;
219 if (ai->ai_canonname)
220 free(ai->ai_canonname);
221 /* no need to free(ai->ai_addr) */
222 free(ai);
223 } while ((ai = next) != NULL);
247 struct addrinfo ai;
268 pai = &ai;
451 * fail, return ai anyway to pacify