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

#define MAXNAME 128

int main( int argc, char* argv[])
{ struct in_addr   num;
  struct hostent *infos;  
  char nom[MAXNAME];
  if ( argc > 1 ) 
      infos = gethostbyname( argv[1] );
  else {
      gethostname(nom,MAXNAME);
      infos = gethostbyname( nom );
  }
  if ( infos ) {
    printf("\nhote :%s ", infos->h_name);
    memcpy( &num, infos -> h_addr_list[0], 4);
    printf("\naddr :%lu ", (unsigned long) num.s_addr);
    printf("\nip   :%s",  inet_ntoa( num ) );
  }
  printf("\n");
  return 0;
}
