- Implement RtlInitializeUnicodePrefix and RtlNextUnicodePrefix. The UnicodePrefix...
[reactos.git] / reactos / include / ndk / potypes.h
1 /*
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)
6 * UPDATE HISTORY:
7 * Created 06/10/04
8 */
9 #ifndef _POTYPES_H
10 #define _POTYPES_H
11
12 /* DEPENDENCIES **************************************************************/
13 #ifndef NTOS_MODE_USER
14 #include <ntpoapi.h>
15 #endif
16
17 /* EXPORTED DATA *************************************************************/
18
19 /* CONSTANTS *****************************************************************/
20
21 /* ENUMERATIONS **************************************************************/
22 typedef enum _SYSTEM_DOCK_STATE
23 {
24 SystemDockStateUnknown,
25 SystemUndocked,
26 SystemDocked
27 } SYSTEM_DOCK_STATE, *PSYSTEM_DOCK_STATE;
28
29 /* TYPES *********************************************************************/
30
31 #ifndef NTOS_MODE_USER
32 typedef struct _PROCESSOR_POWER_STATE
33 {
34 PVOID IdleFunction;
35 ULONG Idle0KernelTimeLimit;
36 ULONG Idle0LastTime;
37 PVOID IdleHandlers;
38 PVOID IdleState;
39 ULONG IdleHandlersCount;
40 ULONGLONG LastCheck;
41 PROCESSOR_IDLE_TIMES IdleTimes;
42 ULONG IdleTime1;
43 ULONG PromotionCheck;
44 ULONG IdleTime2;
45 UCHAR CurrentThrottle;
46 UCHAR ThermalThrottleLimit;
47 UCHAR CurrentThrottleIndex;
48 UCHAR ThermalThrottleIndex;
49 ULONG LastKernelUserTime;
50 ULONG PerfIdleTime;
51 ULONG DebugDelta;
52 ULONG DebugCount;
53 ULONG LastSysTime;
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;
65 ULONG PromotionCount;
66 ULONG DemotionCount;
67 ULONG ErrorCount;
68 ULONG RetryCount;
69 ULONG Flags;
70 LARGE_INTEGER PerfCounterFrequency;
71 ULONG PerfTickCount;
72 KTIMER PerfTimer;
73 KDPC PerfDpc;
74 PROCESSOR_PERF_STATE *PerfStates;
75 PVOID PerfSetThrottle;
76 ULONG LastC3KernelUserTime;
77 ULONG Spare1[1];
78 } PROCESSOR_POWER_STATE, *PPROCESSOR_POWER_STATE;
79
80 typedef struct _PO_DEVICE_NOTIFY
81 {
82 LIST_ENTRY Link;
83 PDEVICE_OBJECT TargetDevice;
84 UCHAR WakeNeeded;
85 UCHAR OrderLevel;
86 PDEVICE_OBJECT DeviceObject;
87 PVOID Node;
88 PUSHORT DeviceName;
89 PUSHORT DriverName;
90 ULONG ChildCount;
91 ULONG ActiveChild;
92 } PO_DEVICE_NOTIFY, *PPO_DEVICE_NOTIFY;
93 #endif
94 #endif