From 4d36c543ea789f3497833a5b70fd2d6ac8bf1e44 Mon Sep 17 00:00:00 2001
From: Danny Smith <dannysmith@users.sourceforge.net>
Date: Tue, 30 Sep 2003 07:51:26 +0000
Subject: [PATCH] 	* include/winuser.h (BSF_*, BSM_*):  Sync constants
 defined in 	both winuser.h and dbt.h. 	* include/dbt.h (BSF_*,
 BSM_*): Likewise.

	* include/winuser.h (struct tagRAWINPUT): Remove
	_ANONYMOUS_UNION tag from named union.
	(struct tagRAWMOUSE): Add _ANONYMOUS_STRUCT to nameless struct.
---
 winsup/w32api/ChangeLog         | 11 ++++++++++
 winsup/w32api/include/dbt.h     | 36 ++++++++++++++++++++++-----------
 winsup/w32api/include/winuser.h | 19 +++++++++--------
 3 files changed, 46 insertions(+), 20 deletions(-)

diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index 56e95af08..48d4a8e3b 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,3 +1,13 @@
+2003-09-30  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	* include/winuser.h (BSF_*, BSM_*):  Sync constants defined in
+	both winuser.h and dbt.h.
+	* include/dbt.h (BSF_*, BSM_*): Likewise.
+
+	* include/winuser.h (struct tagRAWINPUT): Remove
+	_ANONYMOUS_UNION tag from named union.
+	(struct tagRAWMOUSE): Add _ANONYMOUS_STRUCT to nameless struct.
+
 2003-09-30  Dimitri Papadopoulos  <papadopo@users.sourceforge.net>
 
 	* include/dhcpcsvc.h: New file.
@@ -24,6 +34,7 @@
 	* lib/user32.def (GetRawInputDeviceInfo[AW]): Ooops... there
 	are ANSI/Unicode versions of this function.
 
+>>>>>>> 1.469
 2003-09-29  Dimitri Papadopoulos  <papadopo@users.sourceforge.net>
 
 	* include/winuser.h [_WIN32_WINNT >= 0x0501] (RIM_TYPEMOUSE,
diff --git a/winsup/w32api/include/dbt.h b/winsup/w32api/include/dbt.h
index e79e431c1..e804756a2 100644
--- a/winsup/w32api/include/dbt.h
+++ b/winsup/w32api/include/dbt.h
@@ -39,18 +39,30 @@ extern "C" {
 #define DBT_USERDEFINED 0xFFFF
 #define DBTF_MEDIA	1
 #define DBTF_NET	2
-#define BSM_ALLCOMPONENTS 0
-#define BSM_VXDS 1
-#define BSM_NETDRIVER 2
-#define BSM_INSTALLABLEDRIVERS 4
-#define BSM_APPLICATIONS 8
-#define BSF_QUERY 1
-#define BSF_IGNORECURRENTTASK 2
-#define BSF_FLUSHDISK 4
-#define BSF_NOHANG 8
-#define BSF_POSTMESSAGE 16
-#define BSF_FORCEIFHUNG 32
-#define BSF_NOTIMEOUTIFNOTHUNG 64
+
+/* Also defined in winuser.h */
+#define BSM_ALLCOMPONENTS	0
+#define BSM_APPLICATIONS	8
+#define BSM_ALLDESKTOPS		16
+#define BSM_INSTALLABLEDRIVERS	4
+#define BSM_NETDRIVER	2
+#define BSM_VXDS	1
+#define BSF_FLUSHDISK 0x00000004
+#define BSF_FORCEIFHUNG 0x00000020
+#define BSF_IGNORECURRENTTASK 0x00000002
+#define BSF_NOHANG 0x00000008
+#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
+#define BSF_POSTMESSAGE 0x00000010
+#define BSF_QUERY 0x00000001
+#if (_WIN32_WINNT >= 0x0500)
+#define BSF_ALLOWSFW 0x00000080
+#define BSF_SENDNOTIFYMESSAGE 0x00000100
+#endif /* (_WIN32_WINNT >= 0x0500) */
+#if (_WIN32_WINNT >= 0x0501)
+#define BSF_LUID 0x00000400
+#define BSF_RETURNHDESK 0x00000200
+#endif /* (_WIN32_WINNT >= 0x0501) */
+
 #define BSF_MSGSRV32ISOK_BIT 31
 #define BSF_MSGSRV32ISOK 0x80000000
 
diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h
index ff6b32017..358401f2e 100644
--- a/winsup/w32api/include/winuser.h
+++ b/winsup/w32api/include/winuser.h
@@ -116,6 +116,14 @@ extern "C" {
 #define MF_USECHECKBITMAPS 512
 #define MF_UNHILITE 0
 #define MF_HILITE 128
+
+/* Also defined in dbt.h */
+#define BSM_ALLCOMPONENTS	0
+#define BSM_APPLICATIONS	8
+#define BSM_ALLDESKTOPS		16
+#define BSM_INSTALLABLEDRIVERS	4
+#define BSM_NETDRIVER	2
+#define BSM_VXDS	1
 #define BSF_FLUSHDISK 0x00000004
 #define BSF_FORCEIFHUNG 0x00000020
 #define BSF_IGNORECURRENTTASK 0x00000002
@@ -131,12 +139,7 @@ extern "C" {
 #define BSF_LUID 0x00000400
 #define BSF_RETURNHDESK 0x00000200
 #endif /* (_WIN32_WINNT >= 0x0501) */
-#define BSM_ALLCOMPONENTS	0
-#define BSM_APPLICATIONS	8
-#define BSM_ALLDESKTOPS		16
-#define BSM_INSTALLABLEDRIVERS	4
-#define BSM_NETDRIVER	2
-#define BSM_VXDS	1
+
 #define BROADCAST_QUERY_DENY	1112363332
 #define ENUM_CURRENT_SETTINGS	((DWORD)-1)
 #define ENUM_REGISTRY_SETTINGS	((DWORD)-2)
@@ -2967,7 +2970,7 @@ typedef struct tagRAWMOUSE {
 	USHORT usFlags;
 	_ANONYMOUS_UNION union {
 		ULONG ulButtons;
-		struct {
+		_ANONYMOUS_STRUCT struct {
 			USHORT usButtonFlags;
 			USHORT usButtonData;
 		};
@@ -2992,7 +2995,7 @@ typedef struct tagRAWHID {
 } RAWHID,*PRAWHID,*LPRAWHID;
 typedef struct tagRAWINPUT {
 	RAWINPUTHEADER header;
-	_ANONYMOUS_UNION union {
+	union {
 		RAWMOUSE    mouse;
 		RAWKEYBOARD keyboard;
 		RAWHID      hid;