Signed-off-by: Zebediah Figura <[email protected]>
---
 mingw-w64-headers/ddk/include/ddk/wdm.h | 50 +++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/mingw-w64-headers/ddk/include/ddk/wdm.h 
b/mingw-w64-headers/ddk/include/ddk/wdm.h
index e80c9b13..2194fba0 100644
--- a/mingw-w64-headers/ddk/include/ddk/wdm.h
+++ b/mingw-w64-headers/ddk/include/ddk/wdm.h
@@ -2665,6 +2665,56 @@ NTSTATUS
   IN OUT PVOID Context OPTIONAL);
 typedef POWER_SETTING_CALLBACK *PPOWER_SETTING_CALLBACK;
 
+DECLARE_HANDLE(POHANDLE);
+
+#define PO_FX_VERSION_V1 1
+#define PO_FX_VERSION_V2 2
+#define PO_FX_VERSION PO_FX_VERSION_V2
+
+typedef void (NTAPI PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK)(void *context, 
ULONG component);
+typedef PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK 
*PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK;
+
+typedef void (NTAPI PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK)(void *context, 
ULONG component);
+typedef PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK 
*PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK;
+
+typedef void (NTAPI PO_FX_COMPONENT_IDLE_STATE_CALLBACK)(void *context, ULONG 
component, ULONG state);
+typedef PO_FX_COMPONENT_IDLE_STATE_CALLBACK 
*PPO_FX_COMPONENT_IDLE_STATE_CALLBACK;
+
+typedef NTSTATUS (NTAPI PO_FX_POWER_CONTROL_CALLBACK)(void *context, const 
GUID *code, void *in, SIZE_T in_size, void *out, SIZE_T out_size, SIZE_T 
*ret_size);
+typedef PO_FX_POWER_CONTROL_CALLBACK *PPO_FX_POWER_CONTROL_CALLBACK;
+
+typedef struct _PO_FX_COMPONENT_IDLE_STATE
+{
+    ULONGLONG TransitionLatency;
+    ULONGLONG ResidencyRequirement;
+    ULONG NominalPower;
+} PO_FX_COMPONENT_IDLE_STATE, *PPO_FX_COMPONENT_IDLE_STATE;
+
+typedef struct _PO_FX_COMPONENT_V1
+{
+    GUID Id;
+    ULONG IdleStateCount;
+    ULONG DeepestWakeableIdleState;
+    PO_FX_COMPONENT_IDLE_STATE *IdleStates;
+} PO_FX_COMPONENT_V1, *PPO_FX_COMPONENT_V1;
+
+typedef struct _PO_FX_COMPONENT_V2
+{
+    GUID Id;
+    ULONGLONG Flags;
+    ULONG DeepestWakeableIdleState;
+    ULONG IdleStateCount;
+    PO_FX_COMPONENT_IDLE_STATE *IdleStates;
+    ULONG ProviderCount;
+    ULONG *Providers;
+} PO_FX_COMPONENT_V2, *PPO_FX_COMPONENT_V2;
+
+#if PO_FX_VERSION == PO_FX_VERSION_V1
+typedef PO_FX_COMPONENT_V1 PO_FX_COMPONENT, *PPO_FX_COMPONENT;
+#else
+typedef PO_FX_COMPONENT_V2 PO_FX_COMPONENT, *PPO_FX_COMPONENT;
+#endif
+
 /******************************************************************************
  *                            Configuration Manager Types                     *
  
******************************************************************************/
-- 
2.26.2



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

Reply via email to