Lines Matching refs:ad_cache
203 struct address_cache *ad_cache, *cptr, *prevptr;
205 ad_cache = (struct address_cache *)
207 if (!ad_cache) {
210 ad_cache->ac_host = strdup(host);
211 ad_cache->ac_netid = strdup(netid);
212 ad_cache->ac_uaddr = uaddr ? strdup(uaddr) : NULL;
213 ad_cache->ac_taddr = (struct netbuf *)malloc(sizeof (struct netbuf));
214 if (!ad_cache->ac_host || !ad_cache->ac_netid || !ad_cache->ac_taddr ||
215 (uaddr && !ad_cache->ac_uaddr)) {
218 ad_cache->ac_taddr->len = ad_cache->ac_taddr->maxlen = taddr->len;
219 ad_cache->ac_taddr->buf = (char *) malloc(taddr->len);
220 if (ad_cache->ac_taddr->buf == NULL) {
222 if (ad_cache->ac_host)
223 free(ad_cache->ac_host);
224 if (ad_cache->ac_netid)
225 free(ad_cache->ac_netid);
226 if (ad_cache->ac_uaddr)
227 free(ad_cache->ac_uaddr);
228 if (ad_cache->ac_taddr)
229 free(ad_cache->ac_taddr);
230 free(ad_cache);
233 memcpy(ad_cache->ac_taddr->buf, taddr->buf, taddr->len);
242 ad_cache->ac_next = front;
243 front = ad_cache;
267 ad_cache->ac_next = front;
268 front = ad_cache;
270 front = ad_cache;
271 ad_cache->ac_next = NULL;
296 struct address_cache *ad_cache;
305 ad_cache = NULL;
307 ad_cache = check_cache(host, nconf->nc_netid);
308 if (ad_cache != NULL) {
309 addr = ad_cache->ac_taddr;
314 *targaddr = strdup(ad_cache->ac_uaddr);