#define pcap_types_h
/*
- * Get the integer types we use defined, by hook or by crook.
+ * Get u_int defined, by hook or by crook.
*/
#ifdef _WIN32
-/*
- * Avoids a compiler warning in case this was already defined
- * (someone defined _WINSOCKAPI_ when including 'windows.h', in order
- * to prevent it from including 'winsock.h')
- */
-#ifdef _WINSOCKAPI_
-#undef _WINSOCKAPI_
-#endif
-
-/*
- * This defines u_int.
- */
-#include <winsock2.h>
-#endif
-
-#if defined(_MSC_VER)
- /*
- * Target is Windows, compiler is MSVC.
- */
- #if _MSC_VER >= 1800
- /*
- * VS 2013 or newer; we have <inttypes.h>.
- */
- #include <inttypes.h>
-
- #define u_int8_t uint8_t
- #define u_int16_t uint16_t
- #define u_int32_t uint32_t
- #define u_int64_t uint64_t
- #else
- /*
- * Earlier VS; we have to define this stuff ourselves.
- */
- typedef unsigned char u_int8_t;
- typedef signed char int8_t;
- typedef unsigned short u_int16_t;
- typedef signed short int16_t;
- typedef unsigned int u_int32_t;
- typedef signed int int32_t;
- #ifdef _MSC_EXTENSIONS
- typedef unsigned _int64 u_int64_t;
- typedef _int64 int64_t;
- #else /* _MSC_EXTENSIONS */
- typedef unsigned long long u_int64_t;
- typedef long long int64_t;
- #endif
- #endif
-
/*
- * These may be defined by <inttypes.h>.
- *
- * XXX - for MSVC, we always want the _MSC_EXTENSIONS versions.
- * What about other compilers? If, as the MinGW Web site says MinGW
- * does, the other compilers just use Microsoft's run-time library,
- * then they should probably use the _MSC_EXTENSIONS even if the
- * compiler doesn't define _MSC_EXTENSIONS.
- *
- * XXX - we currently aren't using any of these, but this allows
- * their use in the future.
+ * Avoids a compiler warning in case this was already defined
+ * (someone defined _WINSOCKAPI_ when including 'windows.h', in order
+ * to prevent it from including 'winsock.h')
*/
- #ifndef PRId64
- #ifdef _MSC_EXTENSIONS
- #define PRId64 "I64d"
- #else
- #define PRId64 "lld"
- #endif
- #endif /* PRId64 */
-
- #ifndef PRIo64
- #ifdef _MSC_EXTENSIONS
- #define PRIo64 "I64o"
- #else
- #define PRIo64 "llo"
- #endif
- #endif /* PRIo64 */
-
- #ifndef PRIx64
- #ifdef _MSC_EXTENSIONS
- #define PRIx64 "I64x"
- #else
- #define PRIx64 "llx"
- #endif
+ #ifdef _WINSOCKAPI_
+ #undef _WINSOCKAPI_
#endif
- #ifndef PRIu64
- #ifdef _MSC_EXTENSIONS
- #define PRIu64 "I64u"
- #else
- #define PRIu64 "llu"
- #endif
- #endif
-#elif defined(__MINGW32__)
- /*
- * Target is Windows, compiler is MinGW.
- */
- #include <stdint.h>
-#elif !defined(_WIN32)
/*
- * Target is UN*X or MS-DOS.
+ * This defines u_int.
*/
- #if HAVE_INTTYPES_H
- #include <inttypes.h>
- #elif HAVE_STDINT_H
- #include <stdint.h>
- #endif
- #ifdef HAVE_SYS_BITYPES_H
- #include <sys/bitypes.h>
- #endif
+ #include <winsock2.h>
+#else /* _WIN32 */
/*
* This defines u_int, among other types.
*/