Ok for apply?

Regards,
Kai
From b933174e80f83a880439481938f43f020d94005b Mon Sep 17 00:00:00 2001
From: Kai Tietz <ktiet...@googlemail.com>
Date: Mon, 25 Aug 2014 14:57:52 +0200
Subject: Add winapifamily-check,  correct enumerator values, add missing
 types and API.

---
 mingw-w64-headers/include/restartmanager.h |  260 +++++++++++-----------------
 1 files changed, 103 insertions(+), 157 deletions(-)

diff --git a/mingw-w64-headers/include/restartmanager.h 
b/mingw-w64-headers/include/restartmanager.h
index 23f400b..092a991 100644
--- a/mingw-w64-headers/include/restartmanager.h
+++ b/mingw-w64-headers/include/restartmanager.h
@@ -1,173 +1,119 @@
 /**
- * This file has no copyright assigned and is placed in the Public Domain.
  * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
  */
+
 #ifndef _INC_RESTARTMANAGER
 #define _INC_RESTARTMANAGER
 
-#if (_WIN32_WINNT >= 0x0600)
+#include <winapifamily.h>
+
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-typedef enum _RM_APP_STATUS {
-  RmStatusUnknown          = 0x0,
-  RmStatusRunning          = 0x1,
-  RmStatusStopped          = 0x2,
-  RmStatusStoppedOther     = 0x4,
-  RmStatusRestarted        = 0x8,
-  RmStatusErrorOnStop      = 0x10,
-  RmStatusErrorOnRestart   = 0x20,
-  RmStatusShutdownMasked   = 0x40,
-  RmStatusRestartMasked    = 0x80
-} RM_APP_STATUS;
-
-typedef enum _RM_APP_TYPE {
-  RmUnknownApp    = 0,
-  RmMainWindow    = 1,
-  RmOtherWindow   = 2,
-  RmService       = 3,
-  RmExplorer      = 4,
-  RmConsole       = 5,
-  RmCritical      = 1000
-} RM_APP_TYPE;
-
-typedef enum _RM_FILTER_ACTION {
-  RmInvalidFilterAction   = 0,
-  RmNoRestart             = 1,
-  RmNoShutdown            = 2
-} RM_FILTER_ACTION;
-
-typedef enum _RM_FILTER_TRIGGER {
-  RmFilterTriggerInvalid   = 0,
-  RmFilterTriggerFile      = 1,
-  RmFilterTriggerProcess   = 2,
-  RmFilterTriggerService   = 3
-} RM_FILTER_TRIGGER;
-
-typedef enum _RM_REBOOT_REASON {
-  RmRebootReasonNone               = 0x0,
-  RmRebootReasonPermissionDenied   = 0x1,
-  RmRebootReasonSessionMismatch    = 0x2,
-  RmRebootReasonCriticalProcess    = 0x4,
-  RmRebootReasonCriticalService    = 0x8,
-  RmRebootReasonDetectedSelf       = 0x10
-} RM_REBOOT_REASON;
-
-typedef enum _RM_SHUTDOWN_TYPE {
-  RmForceShutdown            = 0x1,
-  RmShutdownOnlyRegistered   = 0x10
-} RM_SHUTDOWN_TYPE;
-
-typedef struct _RM_UNIQUE_PROCESS {
-  DWORD    dwProcessId;
-  FILETIME ProcessStartTime;
-} RM_UNIQUE_PROCESS, *PRM_UNIQUE_PROCESS;
-
-typedef struct _RM_FILTER_INFO {
-  RM_FILTER_ACTION  FilterAction;
-  RM_FILTER_TRIGGER FilterTrigger;
-  DWORD             cbNextOffset;
-  LPWSTR            strFilename;
-  RM_UNIQUE_PROCESS Process;
-  LPWSTR            strServiceShortName;
-} RM_FILTER_INFO, *PRM_FILTER_INFO;
-
-typedef struct _RM_PROCESS_INFO {
-  RM_UNIQUE_PROCESS Process;
-  WCHAR             strAppName[CCH_RM_MAX_APP_NAME+1];
-  WCHAR             strServiceShortName[CCH_RM_MAX_SVC_NAME+1];
-  RM_APP_TYPE       ApplicationType;
-  ULONG             AppStatus;
-  DWORD             TSSessionId;
-  WINBOOL           bRestartable;
-} RM_PROCESS_INFO;
-
-typedef void ( *RM_WRITE_STATUS_CALLBACK )(
-  UINT nPercentComplete
-);
-
-DWORD WINAPI RmAddFilter(
-  DWORD dwSessionHandle,
-  LPCWSTR strFilename,
-  RM_UNIQUE_PROCESS *Application,
-  LPCWSTR strShortServiceName,
-  RM_FILTER_ACTION ActionType
-);
-
-DWORD WINAPI RmCancelCurrentTask(
-  DWORD dwSessionHandle
-);
-
-DWORD WINAPI RmEndSession(
-  DWORD dwSessionHandle
-);
-
-DWORD WINAPI RmGetFilterList(
-  DWORD dwSessionHandle,
-  PBYTE pbFilterBuf,
-  DWORD cbFilterBuf,
-  LPDWORD cbFilterBufNeeded
-);
-
-DWORD WINAPI RmGetList(
-  DWORD dwSessionHandle,
-  UINT *pnProcInfoNeeded,
-  UINT *pnProcInfo,
-  RM_PROCESS_INFO rgAffectedApps[ ],
-  LPDWORD lpdwRebootReasons
-);
-
-DWORD WINAPI RmJoinSession(
-  DWORD *pSessionHandle,
-  const WCHAR strSessionKey[ ]
-);
-
-DWORD WINAPI RmRegisterResources(
-  DWORD dwSessionHandle,
-  UINT nFiles,
-  LPCWSTR rgsFilenames[ ],
-  UINT nApplications,
-  RM_UNIQUE_PROCESS rgApplications[ ],
-  UINT nServices,
-  LPCWSTR rgsServiceNames[ ]
-);
-
-DWORD WINAPI RmRemoveFilter(
-  DWORD dwSessionHandle,
-  LPCWSTR strFilename,
-  RM_UNIQUE_PROCESS *Application,
-  LPCWSTR strShortServiceName
-);
-
-DWORD WINAPI RmRestart(
-  DWORD dwSessionHandle,
-  DWORD dwRestartFlags,
-  RM_WRITE_STATUS_CALLBACK fnStatus
-);
-
-#define RmForceShutdown 0x1
-#define RmShutdownOnlyRegistered 0x10
-
-DWORD WINAPI RmShutdown(
-  DWORD dwSessionHandle,
-  ULONG lActionFlags,
-  RM_WRITE_STATUS_CALLBACK fnStatus
-);
-
-DWORD WINAPI RmStartSession(
-  DWORD *pSessionHandle,
-  DWORD dwSessionFlags,
-  WCHAR strSessionKey[]
-);
+#define RM_SESSION_KEY_LEN  sizeof (GUID)
+#define CCH_RM_SESSION_KEY  RM_SESSION_KEY_LEN * 2
+#define CCH_RM_MAX_APP_NAME 255
+#define CCH_RM_MAX_SVC_NAME 63
+#define RM_INVALID_TS_SESSION -1
+#define RM_INVALID_PROCESS -1
+
+  typedef enum _RM_APP_STATUS {
+    RmStatusUnknown = 0x0,
+    RmStatusRunning = 0x1,
+    RmStatusStopped = 0x2,
+    RmStatusStoppedOther = 0x4,
+    RmStatusRestarted = 0x8,
+    RmStatusErrorOnStop = 0x10,
+    RmStatusErrorOnRestart = 0x20,
+    RmStatusShutdownMasked = 0x40,
+    RmStatusRestartMasked = 0x80
+  } RM_APP_STATUS;
+
+  typedef enum _RM_SHUTDOWN_TYPE {
+    RmForceShutdown = 0x1,
+    RmShutdownOnlyRegistered = 0x10
+  } RM_SHUTDOWN_TYPE;
+
+  typedef enum _RM_APP_TYPE {
+    RmUnknownApp = 0,
+    RmMainWindow,
+    RmOtherWindow,
+    RmService,
+    RmExplorer,
+    RmConsole,
+    RmCritical = 1000
+  } RM_APP_TYPE;
+
+  typedef enum _RM_REBOOT_REASON {
+    RmRebootReasonNone = 0x0,
+    RmRebootReasonPermissionDenied = 0x1,
+    RmRebootReasonSessionMismatch = 0x2,
+    RmRebootReasonCriticalProcess = 0x4,
+    RmRebootReasonCriticalService = 0x8,
+    RmRebootReasonDetectedSelf = 0x10
+  } RM_REBOOT_REASON;
+
+  typedef enum _RM_FILTER_TRIGGER {
+    RmFilterTriggerInvalid = 0,
+    RmFilterTriggerFile,
+    RmFilterTriggerProcess,
+    RmFilterTriggerService 
+  } RM_FILTER_TRIGGER;
+
+  typedef enum _RM_FILTER_ACTION {
+    RmInvalidFilterAction = 0,
+    RmNoRestart,
+    RmNoShutdown
+  } RM_FILTER_ACTION;
+
+  typedef struct _RM_UNIQUE_PROCESS {
+    DWORD dwProcessId;
+    FILETIME ProcessStartTime;
+  } RM_UNIQUE_PROCESS, *PRM_UNIQUE_PROCESS;
+
+  typedef struct _RM_PROCESS_INFO {
+    RM_UNIQUE_PROCESS Process;
+    WCHAR strAppName[CCH_RM_MAX_APP_NAME + 1];
+    WCHAR strServiceShortName[CCH_RM_MAX_SVC_NAME + 1];
+    RM_APP_TYPE ApplicationType;
+    ULONG AppStatus;
+    DWORD TSSessionId;
+    BOOL bRestartable;
+  } RM_PROCESS_INFO, *PRM_PROCESS_INFO;
+
+  typedef struct _RM_FILTER_INFO {
+    RM_FILTER_ACTION FilterAction;
+    RM_FILTER_TRIGGER FilterTrigger;
+    DWORD cbNextOffset;
+    __C89_NAMELESS union {
+      LPWSTR strFilename;
+      RM_UNIQUE_PROCESS Process;
+      LPWSTR strServiceShortName;
+    };
+  } RM_FILTER_INFO, *PRM_FILTER_INFO;
+
+  typedef void (*RM_WRITE_STATUS_CALLBACK)(UINT nPercentComplete);
+
+  DWORD WINAPI RmStartSession(DWORD *pSessionHandle, DWORD dwSessionFlags, 
WCHAR strSessionKey[]);
+  DWORD WINAPI RmJoinSession(DWORD *pSessionHandle, const WCHAR 
strSessionKey[]);
+  DWORD WINAPI RmEndSession(DWORD dwSessionHandle);
+  DWORD WINAPI RmRegisterResources(DWORD dwSessionHandle, UINT nFiles, LPCWSTR 
rgsFileNames[], UINT nApplications, RM_UNIQUE_PROCESS rgApplications[], UINT 
nServices, LPCWSTR rgsServiceNames[]);
+  DWORD WINAPI RmGetList(DWORD dwSessionHandle, UINT *pnProcInfoNeeded, UINT 
*pnProcInfo, RM_PROCESS_INFO rgAffectedApps[], LPDWORD lpdwRebootReasons);
+  DWORD WINAPI RmShutdown(DWORD dwSessionHandle, ULONG lActionFlags, 
RM_WRITE_STATUS_CALLBACK fnStatus);
+  DWORD WINAPI RmRestart(DWORD dwSessionHandle, DWORD dwRestartFlags, 
RM_WRITE_STATUS_CALLBACK fnStatus);
+  DWORD WINAPI RmCancelCurrentTask(DWORD dwSessionHandle);
+  DWORD WINAPI RmAddFilter(DWORD dwSessionHandle, LPCWSTR strModuleName, 
RM_UNIQUE_PROCESS *pProcess, LPCWSTR strServiceShortName, RM_FILTER_ACTION 
FilterAction);
+  DWORD WINAPI RmRemoveFilter(DWORD dwSessionHandle, LPCWSTR strModuleName, 
RM_UNIQUE_PROCESS *pProcess, LPCWSTR strServiceShortName);
+  DWORD WINAPI RmGetFilterList(DWORD dwSessionHandle, PBYTE pbFilterBuf, DWORD 
cbFilterBuf, LPDWORD cbFilterBufNeeded);
 
 #ifdef __cplusplus
 }
-#endif
+#endif
 
-#endif /* (_WIN32_WINNT >= 0x0600) */
-
-#endif /*_INC_RESTARTMANAGER*/
+#endif
 
+#endif
-- 
1.7.9

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to