]> The Tcpdump Group git mirrors - libpcap/blobdiff - pcap-types.h
Use C99 {u}intN_t types rather than BSD {u_}intN_t types.
[libpcap] / pcap-types.h
index 66de7a48327dd9515e3c4705957cb182fdfaa512..f075d4b7781e1339ad3a6259b626332cbc12372b 100644 (file)
 #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.
    */