/* ** ghbn.c -- a hostname lookup demo ** ** THIS IS A DEPRECATED METHOD OF GETTING HOST NAMES ** use getaddrinfo() instead. */ #include #include #include #include #include #include #include int main(int argc, char *argv[]) { int i; struct hostent *he; struct in_addr **addr_list; if (argc != 2) { // error check the command line fprintf(stderr,"usage: ghbn hostname\n"); return 1; } if ((he = gethostbyname(argv[1])) == NULL) { // get the host info herror("gethostbyname"); return 2; } // print information about this host: printf("Official name is: %s\n", he->h_name); printf(" IP addresses: "); addr_list = (struct in_addr **)he->h_addr_list; for(i = 0; addr_list[i] != NULL; i++) { printf("%s ", inet_ntoa(*addr_list[i])); } printf("\n"); return 0; }