Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenpotypes.h
Go to the documentation of this file.
00001 /*++ NDK Version: 0098 00002 00003 Copyright (c) Alex Ionescu. All rights reserved. 00004 00005 Header Name: 00006 00007 potypes.h 00008 00009 Abstract: 00010 00011 Type definitions for the Power Subystem 00012 00013 Author: 00014 00015 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006 00016 00017 --*/ 00018 00019 #ifndef _POTYPES_H 00020 #define _POTYPES_H 00021 00022 // 00023 // Dependencies 00024 // 00025 #include <umtypes.h> 00026 #ifndef NTOS_MODE_USER 00027 #include <ntpoapi.h> 00028 #endif 00029 00030 // 00031 // Docking states 00032 // 00033 typedef enum _SYSTEM_DOCK_STATE 00034 { 00035 SystemDockStateUnknown, 00036 SystemUndocked, 00037 SystemDocked 00038 } SYSTEM_DOCK_STATE, *PSYSTEM_DOCK_STATE; 00039 00040 #ifndef NTOS_MODE_USER 00041 00042 // 00043 // Processor Power State Data 00044 // 00045 struct _PROCESSOR_POWER_STATE; 00046 00047 typedef 00048 VOID 00049 (FASTCALL *PPROCESSOR_IDLE_FUNCTION)( 00050 struct _PROCESSOR_POWER_STATE *PState); 00051 00052 typedef struct _PROCESSOR_POWER_STATE 00053 { 00054 PPROCESSOR_IDLE_FUNCTION IdleFunction; 00055 ULONG Idle0KernelTimeLimit; 00056 ULONG Idle0LastTime; 00057 PVOID IdleHandlers; 00058 PVOID IdleState; 00059 ULONG IdleHandlersCount; 00060 ULONGLONG LastCheck; 00061 PROCESSOR_IDLE_TIMES IdleTimes; 00062 ULONG IdleTime1; 00063 ULONG PromotionCheck; 00064 ULONG IdleTime2; 00065 UCHAR CurrentThrottle; 00066 UCHAR ThermalThrottleLimit; 00067 UCHAR CurrentThrottleIndex; 00068 UCHAR ThermalThrottleIndex; 00069 ULONG LastKernelUserTime; 00070 ULONG PerfIdleTime; 00071 ULONGLONG DebugDelta; 00072 ULONG DebugCount; 00073 ULONG LastSysTime; 00074 ULONGLONG TotalIdleStateTime[3]; 00075 ULONG TotalIdleTransitions[3]; 00076 ULONGLONG PreviousC3StateTime; 00077 UCHAR KneeThrottleIndex; 00078 UCHAR ThrottleLimitIndex; 00079 UCHAR PerfStatesCount; 00080 UCHAR ProcessorMinThrottle; 00081 UCHAR ProcessorMaxThrottle; 00082 UCHAR LastBusyPercentage; 00083 UCHAR LastC3Percentage; 00084 UCHAR LastAdjustedBusyPercentage; 00085 ULONG PromotionCount; 00086 ULONG DemotionCount; 00087 ULONG ErrorCount; 00088 ULONG RetryCount; 00089 ULONG Flags; 00090 LARGE_INTEGER PerfCounterFrequency; 00091 ULONG PerfTickCount; 00092 KTIMER PerfTimer; 00093 KDPC PerfDpc; 00094 PROCESSOR_PERF_STATE *PerfStates; 00095 PVOID PerfSetThrottle; 00096 ULONG LastC3KernelUserTime; 00097 ULONG Spare1[1]; 00098 } PROCESSOR_POWER_STATE, *PPROCESSOR_POWER_STATE; 00099 00100 // 00101 // Device Notification Structure 00102 // 00103 typedef struct _PO_DEVICE_NOTIFY 00104 { 00105 LIST_ENTRY Link; 00106 PDEVICE_OBJECT TargetDevice; 00107 UCHAR WakeNeeded; 00108 UCHAR OrderLevel; 00109 PDEVICE_OBJECT DeviceObject; 00110 PVOID Node; 00111 PUSHORT DeviceName; 00112 PUSHORT DriverName; 00113 ULONG ChildCount; 00114 ULONG ActiveChild; 00115 } PO_DEVICE_NOTIFY, *PPO_DEVICE_NOTIFY; 00116 00117 // 00118 // Power IRP Queue 00119 // 00120 typedef struct _PO_IRP_QUEUE 00121 { 00122 PIRP CurrentIrp; 00123 PIRP PendingIrpList; 00124 } PO_IRP_QUEUE, *PPO_IRP_QUEUE; 00125 00126 // Power IRP Manager 00127 typedef struct _PO_IRP_MANAGER 00128 { 00129 PO_IRP_QUEUE DeviceIrpQueue; 00130 PO_IRP_QUEUE SystemIrpQueue; 00131 } PO_IRP_MANAGER, *PPO_IRP_MANAGER; 00132 00133 #endif // !NTOS_MODE_USER 00134 00135 #endif // _POTYPES_H Generated on Sun May 27 2012 04:30:58 for ReactOS by
1.7.6.1
|