*h_errnop = NETDB_INTERNAL;
*h_errnop = NO_DATA;
_nss_dns_gethostbyname2_r (const char *name, int af, struct hostent *result,			   char *buffer, size_t buflen, int *errnop,			   int *h_errnop){  querybuf host_buffer;  int size, type, n;  const char *cp;  switch (af) {  case AF_INET:    size = INADDRSZ;    type = T_A;    break;  case AF_INET6:    size = IN6ADDRSZ;    type = T_AAAA;    break;  default:    *h_errnop = NETDB_INTERNAL;    *errnop = EAFNOSUPPORT;    return NSS_STATUS_UNAVAIL;  }  result->h_addrtype = af;  result->h_length = size;  /*   * if there aren't any dots, it could be a user-level alias.   * this is also done in res_query() since we are not the only   * function that looks up host names.   */  if (strchr (name, '.') == NULL && (cp = __hostalias (name)) != NULL)    name = cp;  n = res_search (name, C_IN, type, host_buffer.buf, sizeof (host_buffer.buf));  if (n < 0)    {      *h_errnop = h_errno;      *errnop = errno;      return errno == ECONNREFUSED ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND;    }  return getanswer_r (&host_buffer, n, name, type, result, buffer, buflen,		      errnop, h_errnop);}