Home | History | Annotate | Download | only in common
      1 /* this program is used to test that getaddrinfo() works correctly
      2  * without a 'hints' argument
      3  */
      4 
      5 #include <sys/types.h>
      6 #include <sys/socket.h>
      7 #include <netdb.h>
      8 
      9 #include <stdio.h>  /* for printf */
     10 #include <string.h> /* for memset */
     11 #include <netinet/in.h>  /* for IPPROTO_TCP */
     12 
     13 #define  SERVER_NAME  "www.android.com"
     14 #define  PORT_NUMBER  "9999"
     15 
     16 int main(void)
     17 {
     18     struct addrinfo  hints;
     19     struct addrinfo* res;
     20     int              ret;
     21 
     22     /* first, try without any hints */
     23     ret = getaddrinfo( SERVER_NAME, PORT_NUMBER, NULL, &res);
     24     if (ret != 0) {
     25         printf("first getaddrinfo returned error: %s\n", gai_strerror(ret));
     26         return 1;
     27     }
     28 
     29     freeaddrinfo(res);
     30 
     31     /* now try with the hints */
     32     memset(&hints, 0, sizeof(hints));
     33     hints.ai_family   = AF_UNSPEC;
     34     hints.ai_socktype = SOCK_STREAM;
     35     hints.ai_protocol = IPPROTO_TCP;
     36 
     37     ret = getaddrinfo( SERVER_NAME, PORT_NUMBER, &hints, &res );
     38     if (ret != 0) {
     39         printf("second getaddrinfo returned error: %s\n", gai_strerror(ret));
     40         return 1;
     41     }
     42 
     43     return 0;
     44 }
     45