summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2007-11-15 19:44:01 +0000
committerYang Tse <yangsita@gmail.com>2007-11-15 19:44:01 +0000
commit8627b23715838205403b36858e40807de4a795e1 (patch)
tree11b095a6176a62d3a913f6350664aa1f3059b1b8
parentd9dd2397714b34248888c72ccc448bae1dd7355a (diff)
downloadc-ares-8627b23715838205403b36858e40807de4a795e1.tar.gz
c-ares-8627b23715838205403b36858e40807de4a795e1.tar.bz2
c-ares-8627b23715838205403b36858e40807de4a795e1.zip
Needed now that in6_addr is referenced in ares.h
-rw-r--r--ahost.c7
-rw-r--r--ares.h17
-rw-r--r--ares_ipv6.h10
-rw-r--r--ares_parse_a_reply.c1
-rw-r--r--ares_parse_aaaa_reply.c1
-rw-r--r--config-win32.h10
-rw-r--r--nameser.h3
7 files changed, 33 insertions, 16 deletions
diff --git a/ahost.c b/ahost.c
index 1e6cc8b..974f94d 100644
--- a/ahost.c
+++ b/ahost.c
@@ -40,13 +40,6 @@
#include "inet_net_pton.h"
#include "ares_getopt.h"
-#ifndef HAVE_STRUCT_IN6_ADDR
-struct in6_addr
-{
- unsigned char s6_addr[16];
-};
-#endif
-
static void callback(void *arg, int status, int timeouts, struct hostent *host);
static void usage(void);
diff --git a/ares.h b/ares.h
index 5e34310..37ad9b9 100644
--- a/ares.h
+++ b/ares.h
@@ -43,8 +43,12 @@
#include <sys/socket.h>
#include <tcp.h>
#elif defined(WIN32)
- #include <winsock2.h>
- #include <windows.h>
+# ifndef WIN32_LEAN_AND_MEAN
+# define WIN32_LEAN_AND_MEAN
+# endif
+# include <windows.h>
+# include <winsock2.h>
+# include <ws2tcpip.h>
#else
#include <netinet/in.h>
#include <sys/socket.h>
@@ -241,6 +245,15 @@ int ares_expand_name(const unsigned char *encoded, const unsigned char *abuf,
int ares_expand_string(const unsigned char *encoded, const unsigned char *abuf,
int alen, unsigned char **s, long *enclen);
+#ifndef s6_addr
+struct in6_addr {
+ union {
+ unsigned char _S6_u8[16];
+ } _S6_un;
+};
+#define s6_addr _S6_un._S6_u8
+#endif
+
struct addrttl {
struct in_addr ipaddr;
int ttl;
diff --git a/ares_ipv6.h b/ares_ipv6.h
index afc9832..6ffa2f3 100644
--- a/ares_ipv6.h
+++ b/ares_ipv6.h
@@ -21,11 +21,13 @@
#define PF_INET6 AF_INET6
#endif
-#ifndef HAVE_STRUCT_IN6_ADDR
-struct in6_addr
-{
- unsigned char s6_addr[16];
+#ifndef s6_addr
+struct in6_addr {
+ union {
+ unsigned char _S6_u8[16];
+ } _S6_un;
};
+#define s6_addr _S6_un._S6_u8
#endif
#ifndef HAVE_STRUCT_SOCKADDR_IN6
diff --git a/ares_parse_a_reply.c b/ares_parse_a_reply.c
index 4dea80e..34f2d67 100644
--- a/ares_parse_a_reply.c
+++ b/ares_parse_a_reply.c
@@ -32,6 +32,7 @@
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include "ares.h"
#include "ares_dns.h"
#include "ares_private.h"
diff --git a/ares_parse_aaaa_reply.c b/ares_parse_aaaa_reply.c
index 3b578f1..656ffbf 100644
--- a/ares_parse_aaaa_reply.c
+++ b/ares_parse_aaaa_reply.c
@@ -34,6 +34,7 @@
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include "ares.h"
#include "ares_dns.h"
#include "inet_net_pton.h"
diff --git a/config-win32.h b/config-win32.h
index 1b65ce7..257a984 100644
--- a/config-win32.h
+++ b/config-win32.h
@@ -174,19 +174,29 @@
/* ---------------------------------------------------------------- */
/* Define this if you have address family AF_INET6 */
+#ifdef HAVE_WINSOCK2_H
#define HAVE_AF_INET6 1
+#endif
/* Define this if you have protocol family PF_INET6 */
+#ifdef HAVE_WINSOCK2_H
#define HAVE_PF_INET6 1
+#endif
/* Define this if you have struct in6_addr */
+#ifdef HAVE_WS2TCPIP_H
#define HAVE_STRUCT_IN6_ADDR 1
+#endif
/* Define this if you have struct sockaddr_in6 */
+#ifdef HAVE_WS2TCPIP_H
#define HAVE_STRUCT_SOCKADDR_IN6 1
+#endif
/* Define this if you have sockaddr_in6 with scopeid */
+#ifdef HAVE_WS2TCPIP_H
#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
+#endif
#endif /* __ARES_CONFIG_WIN32_H */
diff --git a/nameser.h b/nameser.h
index 61741bb..1549414 100644
--- a/nameser.h
+++ b/nameser.h
@@ -7,9 +7,6 @@
port build */
#ifndef NETWARE
-#ifndef __CYGWIN__
-#include <windows.h>
-#endif
#include <process.h> /* for the _getpid() proto */
#endif /* !NETWARE */
#include <sys/types.h>