#include <stdio.h>
#include <netdb.h>
#include <sys/socket.h> 
#include <netinet/in.h>
#include <arpa/inet.h>

const char *dotted = "208.216.181.15";

int main (int argc, char **argv)
{
    struct hostent     *hp;
    struct in_addr     ipaddr;
    int                i = 0;
    char               *alias;

    if (inet_aton (argv[1] ? argv[1] : dotted, &ipaddr) == 0) {
        fprintf (stderr, "bad IP address %s\n", argv[1] ? argv[1] :dotted);
        exit (-1);
    }

    hp = gethostbyaddr ((char *) &ipaddr, sizeof ipaddr, AF_INET);
    if (! hp) {
        herror (NULL);
        exit (-1);
    } 
    
    printf ("host name = %s\n", hp->h_name);
    while (alias = hp->h_aliases[i++])
        printf ("alias = %s\n", alias);
}
