blob: 93b5faafc0c56dce0c5d3d164739871f5ac7decb [file] [log] [blame]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <ares.h>
#include <sys/time.h>
#include <fcntl.h>
int dns_with_cid(char *name, int cid, int family)
{
struct hostent *host = NULL;
char *dev = malloc(10);
char num[3] = "";
char *ptr, **pptr;
char str[30];
memset(dev, 0, 10);
sc_cfg_get("pswan", dev, 10);
sprintf(num, "%d", cid);
strcat(dev, num);
printf("dev : %s\n", dev);
host = compat_gethostbyname3(name, dev, family);
if(host != NULL){
printf("host->h_name = %s\n", host->h_name);
if(host->h_aliases){
for(pptr = host->h_aliases; *pptr != NULL; pptr++)
printf("\talias:%s\n", *pptr);
}
else
printf("no aliase\n");
if(host->h_addrtype){
switch(host->h_addrtype){
case AF_INET:
pptr = host->h_addr_list;
for(; *pptr != NULL; pptr++)
printf("\t address: %s \n", inet_ntop(AF_INET, *pptr, str, sizeof(str)));
break;
}
}else {
printf("no h_addr_list\n");
}
free_hostent(host);
}
return 1;
}
int main(int argc, char **argv)
{
char *dev = malloc(5);
char name[20] = "www.baidu.com";
dns_with_cid(name, 1, AF_INET);
return 0;
}