From: Gisle Vanem Date: Fri, 2 May 2014 11:30:57 +0000 (-0700) Subject: Update tcpdump-stdinc.h X-Git-Tag: tcpdump-4.6.0~43^2^2~8 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/4124bed500f41fcd2890fc85c24f3e49652bd0af Update tcpdump-stdinc.h Put WinPcap's header "bittypes.h" before potentially defining basic types like "uint8_t". Define EAFNOSUPPORT unless defined in system's . The local Win32/Include/errno.h is gone. --- diff --git a/tcpdump-stdinc.h b/tcpdump-stdinc.h index 9a068e64..b5166f27 100644 --- a/tcpdump-stdinc.h +++ b/tcpdump-stdinc.h @@ -41,12 +41,18 @@ #ifdef WIN32 +#ifdef __MINGW32__ +#include +#endif + #include #include -#include +#include +#include "bittypes.h" /* in wpcap's Win32/include */ #include #include #include +#include #include #include #include /* in wpcap's Win32/include */ @@ -133,18 +139,14 @@ #endif /* _MSC_EXTENSIONS */ -#if !defined(__MINGW32__) && !defined(__WATCOMC__) +#ifdef _MSC_VER #define stat _stat #define open _open #define fstat _fstat #define read _read #define close _close #define O_RDONLY _O_RDONLY -#endif /* __MINGW32__ */ - -#ifdef __MINGW32__ -#include -#endif +#endif /* _MSC_VER */ /* Protos for missing/x.c functions (ideally * should be used, but it clashes with ). @@ -164,6 +166,12 @@ extern int inet_aton (const char *cp, struct in_addr *addr); #define INET6_ADDRSTRLEN 46 #endif +/* It is in MSVC's , but not defined in MingW+Watcom. + */ +#ifndef EAFNOSUPPORT +#define EAFNOSUPPORT WSAEAFNOSUPPORT +#endif + #ifndef caddr_t typedef char* caddr_t; #endif /* caddr_t */ @@ -233,10 +241,11 @@ typedef char* caddr_t; * Note: this also requires that padding be put into the structure, * at least for compilers where it's implemented as __attribute__((packed)). */ -#if defined(_MSC_VER) && defined(UNALIGNED) -/* MSVC may have its own macro defined with the same name and purpose. */ -#else +#if defined(__GNUC__) +#undef UNALIGNED #define UNALIGNED __attribute__((packed)) +#else + /* MSVC may have its own macro defined with the same name and purpose. */ #endif #if defined(WIN32) || defined(MSDOS)