This matches the modern Windows SDK. With the new scheme, 
WINAPI_FAMILY_ONE_PARTITION
is no longer present in the Windows SDK, so it is removed together with its 
usage in
docobj.idl.

Signed-off-by: Jacek Caban <[email protected]>
---
 mingw-w64-headers/include/docobj.h       |  2 +-
 mingw-w64-headers/include/docobj.idl     |  2 +-
 mingw-w64-headers/include/winapifamily.h | 43 +++++++++++++++++++-----
 3 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/mingw-w64-headers/include/docobj.h 
b/mingw-w64-headers/include/docobj.h
index 8ec90ded1..bc9542fd4 100644
--- a/mingw-w64-headers/include/docobj.h
+++ b/mingw-w64-headers/include/docobj.h
@@ -1713,7 +1713,7 @@ static inline HRESULT 
IProtectedModeMenuServices_LoadMenuID(IProtectedModeMenuSe
 
 #endif
 #endif
-#if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY_DESKTOP_APP, 
WINAPI_PARTITION_APP)
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && 
!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
 typedef struct tagPAGESET { } PAGESET;
 #endif
 /* Begin additional prototypes for all interfaces */
diff --git a/mingw-w64-headers/include/docobj.idl 
b/mingw-w64-headers/include/docobj.idl
index 6f6c6954d..8569deb8b 100644
--- a/mingw-w64-headers/include/docobj.idl
+++ b/mingw-w64-headers/include/docobj.idl
@@ -489,6 +489,6 @@ interface IProtectedModeMenuServices : IUnknown {
 cpp_quote("#endif")
 cpp_quote("#endif")
 
-cpp_quote("#if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY_DESKTOP_APP, 
WINAPI_PARTITION_APP)")
+cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && 
!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
 cpp_quote("typedef struct tagPAGESET { } PAGESET;")
 cpp_quote("#endif")
diff --git a/mingw-w64-headers/include/winapifamily.h 
b/mingw-w64-headers/include/winapifamily.h
index 388d5f068..88175b458 100644
--- a/mingw-w64-headers/include/winapifamily.h
+++ b/mingw-w64-headers/include/winapifamily.h
@@ -6,19 +6,44 @@
 #ifndef _INC_WINAPIFAMILY
 #define _INC_WINAPIFAMILY
 
-#define WINAPI_PARTITION_DESKTOP 0x1
-#define WINAPI_PARTITION_APP     0x2    
+#define WINAPI_FAMILY_PC_APP         2
+#define WINAPI_FAMILY_PHONE_APP      3
+#define WINAPI_FAMILY_SYSTEM         4
+#define WINAPI_FAMILY_SERVER         5
+#define WINAPI_FAMILY_DESKTOP_APP  100
 
-#define WINAPI_FAMILY_APP WINAPI_PARTITION_APP
-#define WINAPI_FAMILY_DESKTOP_APP (WINAPI_PARTITION_DESKTOP \
-                                  | WINAPI_PARTITION_APP)    
+#define WINAPI_FAMILY_APP WINAPI_FAMILY_PC_APP
 
-/* WINAPI_FAMILY can be either desktop + App, or App.  */
 #ifndef WINAPI_FAMILY
 #define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP
 #endif
 
-#define WINAPI_FAMILY_PARTITION(v) ((WINAPI_FAMILY & v) == v)
-#define WINAPI_FAMILY_ONE_PARTITION(vset, v) ((WINAPI_FAMILY & vset) == v)
+#ifndef WINAPI_PARTITION_DESKTOP
+#define WINAPI_PARTITION_DESKTOP   (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
+#endif
+
+#ifndef WINAPI_PARTITION_APP
+#define WINAPI_PARTITION_APP       (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP 
|| \
+                                    WINAPI_FAMILY == WINAPI_FAMILY_PC_APP || \
+                                    WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
+#endif
+
+#ifndef WINAPI_PARTITION_PC_APP
+#define WINAPI_PARTITION_PC_APP    (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP 
|| \
+                                    WINAPI_FAMILY == WINAPI_FAMILY_PC_APP)
+#endif
+
+#ifndef WINAPI_PARTITION_PHONE_APP
+#define WINAPI_PARTITION_PHONE_APP (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
+#endif
+
+#ifndef WINAPI_PARTITION_SYSTEM
+#define WINAPI_PARTITION_SYSTEM    (WINAPI_FAMILY == WINAPI_FAMILY_SYSTEM || \
+                                    WINAPI_FAMILY == WINAPI_FAMILY_SERVER)
+#endif
+
+#define WINAPI_PARTITION_PHONE  WINAPI_PARTITION_PHONE_APP
+
+#define WINAPI_FAMILY_PARTITION(x) x
 
-#endif 
+#endif /* _INC_WINAPIFAMILY */
-- 
2.53.0



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to