summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortest <test@shiny.localdomain>2009-07-16 15:51:42 -0700
committertest <test@shiny.localdomain>2009-07-16 15:51:42 -0700
commitf903a384328383fe71ffa25df60848f9c48ae266 (patch)
tree2ea5dd6b7b1270cdb934bde177a210e4476f56ba
parent2edc764e543f33138994d0f957859de31f946928 (diff)
downloadlibpcap_1_0_rel0b.tar.gz
Added a bunch of #ifdef directives to make wpcap.dll (WinPcap) compile under cygwin.libpcap_1_0_rel0b
cygwin finally ships with ws2tcpip.h, so we need to get rid of some duplicated definitions.
-rw-r--r--Win32/Include/addrinfo.h26
-rw-r--r--Win32/Include/ip6_misc.h12
-rw-r--r--Win32/Src/getaddrinfo.c4
3 files changed, 33 insertions, 9 deletions
diff --git a/Win32/Include/addrinfo.h b/Win32/Include/addrinfo.h
index 3a18cf0a..8cb2e65e 100644
--- a/Win32/Include/addrinfo.h
+++ b/Win32/Include/addrinfo.h
@@ -27,7 +27,7 @@
* SUCH DAMAGE.
*/
-/* $Id: addrinfo.h,v 1.1 2002/08/01 08:33:05 risso Exp $ */
+/* $Id: addrinfo.h,v 1.1 2002-08-01 08:33:05 risso Exp $ */
#ifndef HAVE_ADDRINFO
@@ -90,6 +90,29 @@ extern struct hostent *getipnodebyaddr (const void *, size_t, int, int *);
extern struct hostent *getipnodebyname (const char *, int, int, int *);
extern int inet_pton (int, const char *, void *);
extern const char *inet_ntop (int, const void *, char *, size_t);
+#else
+
+#ifndef EAI_BADHINTS
+#define EAI_BADHINTS 12
+#endif
+
+#ifndef EAI_PROTOCOL
+#define EAI_PROTOCOL 13
+#endif
+
+#ifndef EAI_MAX
+#define EAI_MAX 14
+#endif
+
+#ifndef NETDB_INTERNAL
+#define NETDB_INTERNAL -1 /* see errno */
+#endif
+
+#ifndef AI_MASK
+/* valid flags for addrinfo */
+#define AI_MASK (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST)
+#endif
+
#endif /* HAVE_ADDRINFO */
/*
@@ -120,3 +143,4 @@ extern const char *inet_ntop (int, const void *, char *, size_t);
#ifndef NI_DGRAM
#define NI_DGRAM 0x00000010
#endif
+
diff --git a/Win32/Include/ip6_misc.h b/Win32/Include/ip6_misc.h
index bbeca07d..562fa618 100644
--- a/Win32/Include/ip6_misc.h
+++ b/Win32/Include/ip6_misc.h
@@ -18,7 +18,7 @@
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#) $Header: /tcpdump/master/libpcap/Win32/Include/ip6_misc.h,v 1.5 2006/01/22 18:02:18 gianluca Exp $ (LBL)
+ * @(#) $Header: /tcpdump/master/libpcap/Win32/Include/ip6_misc.h,v 1.5 2006-01-22 18:02:18 gianluca Exp $ (LBL)
*/
/*
@@ -27,9 +27,7 @@
#include <winsock2.h>
-#ifndef __MINGW32__
#include <ws2tcpip.h>
-#endif /* __MINGW32__ */
#ifndef __MINGW32__
#define IN_MULTICAST(a) IN_CLASSD(a)
@@ -39,7 +37,7 @@
#define IN_LOOPBACKNET 127
-#ifdef __MINGW32__
+#if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF)
/* IPv6 address */
struct in6_addr
{
@@ -60,12 +58,12 @@ struct in6_addr
#endif /* __MINGW32__ */
-#if (defined WIN32) || (defined __MINGW32__)
+#if (defined _MSC_VER) || (defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF))
typedef unsigned short sa_family_t;
#endif
-#ifdef __MINGW32__
+#if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF)
#define __SOCKADDR_COMMON(sa_prefix) \
sa_family_t sa_prefix##family
@@ -149,7 +147,7 @@ struct sockaddr_in6
#define IP6OPT_MUTABLE 0x20
-#ifdef __MINGW32__
+#if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF)
#ifndef EAI_ADDRFAMILY
struct addrinfo {
int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
diff --git a/Win32/Src/getaddrinfo.c b/Win32/Src/getaddrinfo.c
index e2d6025a..8e8ad85d 100644
--- a/Win32/Src/getaddrinfo.c
+++ b/Win32/Src/getaddrinfo.c
@@ -51,7 +51,7 @@
#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/libpcap/Win32/Src/getaddrinfo.c,v 1.2.4.1 2008-09-15 23:38:45 guy Exp $";
+ "@(#) $Header: /tcpdump/master/libpcap/Win32/Src/getaddrinfo.c,v 1.3 2008-09-15 23:37:51 guy Exp $";
#endif
#include <pcap-stdinc.h>
@@ -252,6 +252,7 @@ do { \
#define MATCH(x, y, w) \
((x) == (y) || ((w) && ((x) == ANY || (y) == ANY)))
+#if defined(DEFINE_ADDITIONAL_IPV6_STUFF)
char *
gai_strerror(ecode)
int ecode;
@@ -260,6 +261,7 @@ gai_strerror(ecode)
ecode = EAI_MAX;
return ai_errlist[ecode];
}
+#endif
void
freeaddrinfo(ai)