ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

potypes.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.