Home | History | Annotate | Download | only in dist

Lines Matching refs:addrlist

1311 struct addrlist {
1317 static struct addrlist *addrlist = NULL;
1378 if (addrlist != NULL) {
1379 if (strcmp(host,addrlist->host) || strcmp(port,addrlist->port)) {
1380 if (addrlist->firstaddr)
1381 freeaddrinfo(addrlist->firstaddr);
1382 addrlist->firstaddr = NULL;
1385 addrlist = malloc(sizeof(struct addrlist));
1386 if (addrlist == NULL) {
1388 "for addrlist: %s\n", strerror(errno));
1391 addrlist->firstaddr = NULL;
1394 if (addrlist->firstaddr == NULL) {
1395 strncpy(addrlist->port, port, sizeof(addrlist->port));
1396 addrlist->port[sizeof(addrlist->port) - 1] = '\0';
1397 strncpy(addrlist->host, host, sizeof(addrlist->host));
1398 addrlist->host[sizeof(addrlist->host) - 1] = '\0';
1409 res = getaddrinfo(host,port,&hints,&addrlist->firstaddr);
1416 for (res = 0, addrlist->addr = addrlist->firstaddr;
1417 addrlist->addr ; res++) {
1418 addrlist->addr = addrlist->addr->ai_next;
1422 addrlist->addr = NULL;
1426 if (addrlist->addr == NULL) {
1435 addrlist->addr = addrlist->firstaddr;
1439 socketaddr = addrlist->addr->ai_addr;
1440 socketaddrlen = addrlist->addr->ai_addrlen;
1442 if (addrlist->addr->ai_family == AF_INET) {
1446 inet_ntop(addrlist->addr->ai_family,&sin->sin_addr,
1483 } else if (addrlist->addr->ai_family == AF_INET6) {
1487 inet_ntop(addrlist->addr->ai_family,
1526 addrlist->addr = addrlist->addr->ai_next;
1655 || (((addrlist->addr->ai_next != NULL) ||
1656 (addrlist->addr != addrlist->firstaddr)) &&
1700 addrlist->addr = addrlist->addr->ai_next;