2010-02-10  Kai Tietz  <kai.tietz@onevision.com>

        * include/winuser.h (POWERBROADCAST_SETTING): New type.
        (PPOWERBROADCAST_SETTING): Likewise.
        (RegisterPowerSettingNotification): New API.
        (UnregisterPowerSettingNotification): Likewise.



git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@1883 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/ChangeLog b/mingw-w64-headers/ChangeLog
index e15d203..11510b1 100644
--- a/mingw-w64-headers/ChangeLog
+++ b/mingw-w64-headers/ChangeLog
@@ -1,3 +1,10 @@
+2010-02-10  Kai Tietz  <kai.tietz@onevision.com>
+
+	* include/winuser.h (POWERBROADCAST_SETTING): New type.
+	(PPOWERBROADCAST_SETTING): Likewise.
+	(RegisterPowerSettingNotification): New API.
+	(UnregisterPowerSettingNotification): Likewise.
+
 2010-01-25  Mook <mook.gcc@gmail.com>
 
 	* include/wincrypt.h: Comment out CERT_ALT_NAME_ENTRY::x400Address.
diff --git a/mingw-w64-headers/include/winuser.h b/mingw-w64-headers/include/winuser.h
index 0adafe8..0fd7fc9 100644
--- a/mingw-w64-headers/include/winuser.h
+++ b/mingw-w64-headers/include/winuser.h
@@ -17,6 +17,7 @@
 #endif
 
 #include <stdarg.h>
+#include <guiddef.h>
 
 #ifndef NOUSER
   typedef HANDLE HDWP;
@@ -1944,8 +1945,32 @@
 #define GetClassInfoEx GetClassInfoExA
 #endif
 
+#if (_WIN32_WINNT >= 0x0600)
+  typedef HANDLE HPOWERNOTIFY;
+
+  typedef struct {
+    GUID PowerSetting;
+    DWORD DataLength;
+    UCHAR Data[1];
+  } POWERBROADCAST_SETTING, *PPOWERBROADCAST_SETTING;
+
+  extern const GUID GUID_POWERSCHEME_PERSONALITY;
+  extern const GUID GUID_MIN_POWER_SAVINGS;
+  extern const GUID GUID_MAX_POWER_SAVINGS;
+  extern const GUID GUID_TYPICAL_POWER_SAVINGS;
+  extern const GUID GUID_ACDC_POWER_SOURCE;
+  extern const GUID GUID_BATTERY_PERCENTAGE_REMAINING;
+  extern const GUID GUID_IDLE_BACKGROUND_TASK;
+  extern const GUID GUID_SYSTEM_AWAYMODE;
+  extern const GUID GUID_MONITOR_POWER_ON;
+#endif
+
   WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE hRecipient,LPVOID NotificationFilter,DWORD Flags);
   WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE hRecipient,LPVOID NotificationFilter,DWORD Flags);
+#if (_WIN32_WINNT >= 0x0600)
+  WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification(HANDLE,LPCGUID,DWORD);
+  WINUSERAPI WINBOOL WINAPI UnregisterPowerSettingNotification(HPOWERNOTIFY);
+#endif
   WINUSERAPI WINBOOL WINAPI UnregisterDeviceNotification(HDEVNOTIFY Handle);
   WINUSERAPI WINBOOL WINAPI PostMessageA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
   WINUSERAPI WINBOOL WINAPI PostMessageW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);