From: John Wolfe Date: Tue, 22 Sep 2020 21:54:06 +0000 (-0700) Subject: Common header file change not directly applicable to open-vm-tools. X-Git-Tag: stable-11.3.0~318 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65fd0bf725a223d31d09c249675a5e1d1eb5dabb;p=thirdparty%2Fopen-vm-tools.git Common header file change not directly applicable to open-vm-tools. --- diff --git a/open-vm-tools/lib/include/vm_basic_types.h b/open-vm-tools/lib/include/vm_basic_types.h index d9a1ca77c..e46c789fb 100644 --- a/open-vm-tools/lib/include/vm_basic_types.h +++ b/open-vm-tools/lib/include/vm_basic_types.h @@ -156,19 +156,22 @@ /* * C99 or equivalent - * Special cases: - * - Linux kernel lacks , preferring + * Userlevel: 100% + * - gcc-4.5 or later, and earlier for some sysroots + * - vs2010 or later + * Kernel: is often unavailable (and no common macros) + * - Linux: uses instead * (and defines uintptr_t since 2.6.24, but not intptr_t) - * - Solaris collides with gcc , but has - * - VMKernel + FreeBSD collides with gcc , but has - * - VMKernel (+DECODERLIB) share macros with Linux kernel - * - Windows only added in vc10/vs2010 (MSC ver 1600), - * and WDKs lack it. + * - Solaris: conflicts with gcc , but has + * - VMKernel + FreeBSD combination collides with gcc , + * but has + * - Windows: some types in , no definitions for other types. * * NB about LLP64 in LP64 environments: * - Apple uses 'long long' uint64_t * - Linux kernel uses 'long long' uint64_t * - Linux userlevel uses 'long' uint64_t + * - Windows uses 'long long' uint64_t */ #if !defined(VMKERNEL) && !defined(DECODERLIB) && \ defined(__linux__) && defined(__KERNEL__) @@ -182,11 +185,8 @@ (defined(VMKERNEL) && defined(__FreeBSD__)) || \ defined(_SYS_STDINT_H_) # include -#elif !defined(_MSC_VER) - /* Common case */ -# include -#else - /* COMPAT: until pre-vc10 is retired */ +#elif defined(_MSC_VER) && defined(_KERNEL_MODE) + /* Windows driver headers (km/crt) lack stdint.h */ # include // uintptr_t typedef unsigned __int64 uint64_t; typedef unsigned int uint32_t; @@ -197,6 +197,9 @@ typedef int int32_t; typedef short int16_t; typedef signed char int8_t; +#else + /* Common case */ +# include #endif /*