2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/potypes.h
4 * PURPOSE: Defintions for Power Manager Types not documented in DDK/IFS.
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
12 /* DEPENDENCIES **************************************************************/
13 #ifndef NTOS_MODE_USER
17 /* EXPORTED DATA *************************************************************/
19 /* CONSTANTS *****************************************************************/
21 /* ENUMERATIONS **************************************************************/
22 typedef enum _SYSTEM_DOCK_STATE
24 SystemDockStateUnknown
,
27 } SYSTEM_DOCK_STATE
, *PSYSTEM_DOCK_STATE
;
29 /* TYPES *********************************************************************/
31 #ifndef NTOS_MODE_USER
32 typedef struct _PROCESSOR_POWER_STATE
35 ULONG Idle0KernelTimeLimit
;
39 ULONG IdleHandlersCount
;
41 PROCESSOR_IDLE_TIMES IdleTimes
;
45 UCHAR CurrentThrottle
;
46 UCHAR ThermalThrottleLimit
;
47 UCHAR CurrentThrottleIndex
;
48 UCHAR ThermalThrottleIndex
;
49 ULONG LastKernelUserTime
;
54 ULONG TotalIdleStateTime
[3];
55 ULONG TotalIdleTransitions
[3];
56 ULONGLONG PreviousC3StateTime
;
57 UCHAR KneeThrottleIndex
;
58 UCHAR ThrottleLimitIndex
;
59 UCHAR PerfStatesCount
;
60 UCHAR ProcessorMinThrottle
;
61 UCHAR ProcessorMaxThrottle
;
62 UCHAR LastBusyPercentage
;
63 UCHAR LastC3Percentage
;
64 UCHAR LastAdjustedBusyPercentage
;
70 LARGE_INTEGER PerfCounterFrequency
;
74 PROCESSOR_PERF_STATE
*PerfStates
;
75 PVOID PerfSetThrottle
;
76 ULONG LastC3KernelUserTime
;
78 } PROCESSOR_POWER_STATE
, *PPROCESSOR_POWER_STATE
;
80 typedef struct _PO_DEVICE_NOTIFY
83 PDEVICE_OBJECT TargetDevice
;
86 PDEVICE_OBJECT DeviceObject
;
92 } PO_DEVICE_NOTIFY
, *PPO_DEVICE_NOTIFY
;