M7350/system/extras/tests/bionic/libc/common/test_getaddrinfo.c

45 lines
1.1 KiB
C
Raw Normal View History

2024-09-09 08:57:42 +00:00
/* this program is used to test that getaddrinfo() works correctly
* without a 'hints' argument
*/
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <stdio.h> /* for printf */
#include <string.h> /* for memset */
#include <netinet/in.h> /* for IPPROTO_TCP */
#define SERVER_NAME "www.android.com"
#define PORT_NUMBER "9999"
int main(void)
{
struct addrinfo hints;
struct addrinfo* res;
int ret;
/* first, try without any hints */
ret = getaddrinfo( SERVER_NAME, PORT_NUMBER, NULL, &res);
if (ret != 0) {
printf("first getaddrinfo returned error: %s\n", gai_strerror(ret));
return 1;
}
freeaddrinfo(res);
/* now try with the hints */
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
ret = getaddrinfo( SERVER_NAME, PORT_NUMBER, &hints, &res );
if (ret != 0) {
printf("second getaddrinfo returned error: %s\n", gai_strerror(ret));
return 1;
}
return 0;
}