aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominick Meglio <dcm5151@esu.edu>2005-06-19 16:58:40 +0000
committerDominick Meglio <dcm5151@esu.edu>2005-06-19 16:58:40 +0000
commit336154e7297e28abc892e8077132394e59adc420 (patch)
tree2a5bd51eff867a54f634b4eacd845b6f68bbb0df
parentbb0aba34fa668e60477a6cdb086659463125bf70 (diff)
Added some checks for the addrinfo structure.
-rw-r--r--ares/CHANGES5
-rw-r--r--ares/ares_ipv6.h14
-rw-r--r--ares/configure.ac17
3 files changed, 35 insertions, 1 deletions
diff --git a/ares/CHANGES b/ares/CHANGES
index 678319dad..164224918 100644
--- a/ares/CHANGES
+++ b/ares/CHANGES
@@ -1,5 +1,9 @@
Changelog for the c-ares project
+* June 19
+
+- Added some checks for the addrinfo structure.
+
* June 2
- William Ahern:
@@ -20,7 +24,6 @@
value. If q is not greater than *s then it's equal and *s is always
allocated with at least one byte.
-
* May 16
- Added ares_getnameinfo which mimics the getnameinfo API (another feature
diff --git a/ares/ares_ipv6.h b/ares/ares_ipv6.h
index 79a37c401..a6d980fe7 100644
--- a/ares/ares_ipv6.h
+++ b/ares/ares_ipv6.h
@@ -39,6 +39,20 @@ struct sockaddr_in6
};
#endif
+#ifndef HAVE_STRUCT_ADDRINFO
+struct addrinfo
+{
+ int ai_flags;
+ int ai_family;
+ int ai_socktype;
+ int ai_protocol;
+ size_t ai_addrlen;
+ char *ai_cannonname;
+ struct sockaddr *ai_addr;
+ struct addrinfo *ai_next;
+};
+#endif
+
#ifndef NS_IN6ADDRSZ
#if SIZEOF_STRUCT_IN6_ADDR == 0
/* We cannot have it set to zero, so we pick a fixed value here */
diff --git a/ares/configure.ac b/ares/configure.ac
index 6f5100b23..73901394a 100644
--- a/ares/configure.ac
+++ b/ares/configure.ac
@@ -193,6 +193,23 @@ CARES_CHECK_STRUCT_MEMBER(
)
fi
+dnl check for the addrinfo structure
+CARES_CHECK_STRUCT(
+ [
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+ ], [addrinfo],
+ AC_DEFINE_UNQUOTED(HAVE_STRUCT_ADDRINFO,1,
+ [Define to 1 if you have struct addrinfo.])
+)
+
dnl check for inet_pton
AC_CHECK_FUNCS(inet_pton)
dnl Some systems have it, but not IPv6