]> The Tcpdump Group git mirrors - tcpdump/blobdiff - tcpdump-stdinc.h
Compile with '-Wold-style-definition' in devel mode
[tcpdump] / tcpdump-stdinc.h
index 9a068e64826c779c9d49e139503cf0b095583766..54abaf5f06e369167fdbbe478bf4ef01d8aa9302 100644 (file)
 #ifndef tcpdump_stdinc_h
 #define tcpdump_stdinc_h
 
-#ifdef WIN32
+#include <errno.h>
 
+#ifdef _WIN32
+
+#include <stdint.h>
 #include <stdio.h>
 #include <winsock2.h>
-#include <Ws2tcpip.h>
+#include <ws2tcpip.h>
+#include "bittypes.h"   /* in wpcap's Win32/include */
 #include <ctype.h>
 #include <time.h>
 #include <io.h>
 #include <sys/types.h>
 #include <net/netdb.h>  /* in wpcap's Win32/include */
 
-#ifndef NBBY
-#define NBBY   8
-#endif
-
 #ifndef uint8_t
 #define uint8_t                unsigned char
 #endif
 
 #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 <stdint.h>
-#endif
+#endif  /* _MSC_VER */
 
 /* Protos for missing/x.c functions (ideally <missing/addrinfo.h>
  * should be used, but it clashes with <ws2tcpip.h>).
@@ -164,6 +160,12 @@ extern int inet_aton (const char *cp, struct in_addr *addr);
 #define INET6_ADDRSTRLEN 46
 #endif
 
+/* It is in MSVC's <errno.h>, but not defined in MingW+Watcom.
+ */
+#ifndef EAFNOSUPPORT
+#define EAFNOSUPPORT WSAEAFNOSUPPORT
+#endif
+
 #ifndef caddr_t
 typedef char* caddr_t;
 #endif /* caddr_t */
@@ -174,7 +176,7 @@ typedef char* caddr_t;
 #define vsnprintf _vsnprintf
 #define RETSIGTYPE void
 
-#else /* WIN32 */
+#else /* _WIN32 */
 
 #include <ctype.h>
 #include <unistd.h>
@@ -196,7 +198,7 @@ typedef char* caddr_t;
 
 #include <arpa/inet.h>
 
-#endif /* WIN32 */
+#endif /* _WIN32 */
 
 #ifndef HAVE___ATTRIBUTE__
 #define __attribute__(x)
@@ -233,13 +235,13 @@ 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)
+#if !(defined(_MSC_VER) && defined(UNALIGNED))
 /* MSVC may have its own macro defined with the same name and purpose. */
-#else
+#undef UNALIGNED
 #define UNALIGNED      __attribute__((packed))
 #endif
 
-#if defined(WIN32) || defined(MSDOS)
+#if defined(_WIN32) || defined(MSDOS)
   #define FOPEN_READ_TXT   "rt"
   #define FOPEN_READ_BIN   "rb"
   #define FOPEN_WRITE_TXT  "wt"