#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);
#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>
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;
#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
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include "ares.h"
#include "ares_dns.h"
#include "ares_private.h"
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include "ares.h"
#include "ares_dns.h"
#include "inet_net_pton.h"
/* ---------------------------------------------------------------- */
/* 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 */
port build */
#ifndef NETWARE
-#ifndef __CYGWIN__
-#include <windows.h>
-#endif
#include <process.h> /* for the _getpid() proto */
#endif /* !NETWARE */
#include <sys/types.h>