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 **************************************************************/
15 /* EXPORTED DATA *************************************************************/
17 /* CONSTANTS *****************************************************************/
19 /* ENUMERATIONS **************************************************************/
21 /* TYPES *********************************************************************/
23 typedef struct _PROCESSOR_POWER_STATE
26 ULONG Idle0KernelTimeLimit
;
30 ULONG IdleHandlersCount
;
32 PROCESSOR_IDLE_TIMES IdleTimes
;
36 UCHAR CurrentThrottle
;
37 UCHAR ThermalThrottleLimit
;
38 UCHAR CurrentThrottleIndex
;
39 UCHAR ThermalThrottleIndex
;
40 ULONG LastKernelUserTime
;
45 ULONG TotalIdleStateTime
[3];
46 ULONG TotalIdleTransitions
[3];
47 ULONGLONG PreviousC3StateTime
;
48 UCHAR KneeThrottleIndex
;
49 UCHAR ThrottleLimitIndex
;
50 UCHAR PerfStatesCount
;
51 UCHAR ProcessorMinThrottle
;
52 UCHAR ProcessorMaxThrottle
;
53 UCHAR LastBusyPercentage
;
54 UCHAR LastC3Percentage
;
55 UCHAR LastAdjustedBusyPercentage
;
61 LARGE_INTEGER PerfCounterFrequency
;
65 PROCESSOR_PERF_STATE
*PerfStates
;
66 PVOID PerfSetThrottle
;
67 ULONG LastC3KernelUserTime
;
69 } PROCESSOR_POWER_STATE
, *PPROCESSOR_POWER_STATE
;
71 typedef struct _PO_DEVICE_NOTIFY
74 PDEVICE_OBJECT TargetDevice
;
77 PDEVICE_OBJECT DeviceObject
;
83 } PO_DEVICE_NOTIFY
, *PPO_DEVICE_NOTIFY
;