0378058f686fe4c03c61512046416f3350898b37
[gapil.git] / listati / myhost.c
1 int main(int argc, char *argv[]) 
2 {
3 /* 
4  * Variables definition
5  */
6     int i;
7     struct hostent *data;
8     char **alias;
9     char *addr;
10     char buffer[INET6_ADDRSTRLEN];
11     ...
12     if ((argc - optind) != 1) {
13         printf("Wrong number of arguments %d\n", argc - optind);
14         usage();
15     }
16     data = gethostbyname(argv[1]);
17     if (data == NULL) {
18         herror("Errore di risoluzione");
19         exit(1);
20     }
21     printf("Canonical name %s\n", data->h_name);
22     alias = data->h_aliases;
23     while (*alias != NULL) {
24         printf("Alias %s\n", *alias);
25         alias++;
26     }
27     if (data->h_addrtype == AF_INET) {
28         printf("Address are IPv4\n");
29     } else if (data->h_addrtype == AF_INET6) {
30         printf("Address are IPv6\n");
31     } else {
32         printf("Tipo di indirizzo non valido\n");
33         exit(1);
34     }
35     alias = data->h_addr_list;
36     while (*alias != NULL) {
37         addr = inet_ntop(data->h_addrtype, *alias, buffer, sizeof(buffer));
38         printf("Indirizzo %s\n", addr);
39         alias++;
40     }    
41     exit(0);
42 }