*/
/*****************************************************************************
*
- * File mygetaddr.c: An example host command
+ * File mygetaddr.c: An example for getaddrinfo program
*
* Author: S. Piccardi Nov. 2004
*
- * $Id$
- *
*****************************************************************************/
-#include <netdb.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdlib.h> /* C standard library */
-#include <stdio.h> /* I/O standard library */
-#include <unistd.h>
-#include <arpa/inet.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
+#include <string.h> /* C strings library */
+#include <sys/types.h> /* primitive system data types */
+#include <sys/stat.h> /* file characteristics constants and functions */
+#include <unistd.h> /* unix standard library */
+#include <stdlib.h> /* C standard library */
+#include <stdio.h> /* standard I/O library */
+#include <arpa/inet.h> /* IP addresses conversion utilities */
+#include <sys/socket.h> /* socket constants, types and functions */
+#include <netinet/in.h> /* IPv4 and IPv6 constants and types */
+#include <netdb.h> /* C resolver library */
#include "Gapil.h"
/*
- * Program myhost
+ * Program mygetaddr
*
- * Use gethostbyname and print results
+ * Use getaddrinfo and print results
*/
/* Help printing routine */
void usage(void);
buffer, sizeof(buffer));
} else if (ptr->ai_family == PF_INET6) { /* if IPv6 */
printf("IPv6 address: \n");
- addr6 = (struct sockaddr_in *) ptr->ai_addr; /* address */
+ addr6 = (struct sockaddr_in6 *) ptr->ai_addr; /* address */
port = ntohs(addr6->sin6_port); /* port */
string = inet_ntop(addr6->sin6_family, &addr6->sin6_addr,
buffer, sizeof(buffer));