ReactOS 0.4.16-dev-1946-g52006dd
potypes.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 potypes.h
8
9Abstract:
10
11 Type definitions for the Power Subystem
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17--*/
18
19#ifndef _POTYPES_H
20#define _POTYPES_H
21
22//
23// Dependencies
24//
25#include <umtypes.h>
26#ifndef NTOS_MODE_USER
27#include <ntpoapi.h>
28#endif
29
30#ifdef NTOS_MODE_USER
31//
32// Information Structures for NtPowerInformation
33// Copied from ddk\ntpoapi.h
34//
35typedef struct _SYSTEM_POWER_INFORMATION
36{
42#endif
43
44//
45// Docking states
46//
48{
53
54//
55// Some useful macros for SYSTEM_POWER_CAPABILITIES,
56// similar to the powrprof.dll IsPwr*() functions.
57//
58
59/*
60 * BOOLEAN WINAPI
61 * IsPwrSuspendAllowed(VOID);
62 */
63#define IS_PWR_SUSPEND_ALLOWED(PowerCaps) \
64 ((PowerCaps)->SystemS1 || (PowerCaps)->SystemS2 || (PowerCaps)->SystemS3)
65
66/*
67 * BOOLEAN WINAPI
68 * IsPwrHibernateAllowed(VOID);
69 */
70#define IS_PWR_HIBERNATE_ALLOWED(PowerCaps) \
71 ((PowerCaps)->SystemS4 && (PowerCaps)->HiberFilePresent)
72
73/*
74 * BOOLEAN WINAPI
75 * IsPwrShutdownAllowed(VOID);
76 */
77#define IS_PWR_POWEROFF_ALLOWED(PowerCaps) \
78 (!!(PowerCaps)->SystemS5)
79
80
81#ifndef NTOS_MODE_USER
82
83//
84// Processor Power State Data
85//
87
88typedef
91 struct _PROCESSOR_POWER_STATE *PState);
92
94{
140
141//
142// Device Notification Structure
143//
144typedef struct _PO_DEVICE_NOTIFY
145{
157
158//
159// Power IRP Queue
160//
161typedef struct _PO_IRP_QUEUE
162{
166
167//
168// Power IRP Manager
169//
170typedef struct _PO_IRP_MANAGER
171{
175
176#endif // !NTOS_MODE_USER
177
178#endif // _POTYPES_H
#define VOID
Definition: acefi.h:82
enum _SYSTEM_DOCK_STATE SYSTEM_DOCK_STATE
struct _PO_DEVICE_NOTIFY * PPO_DEVICE_NOTIFY
struct _PO_IRP_MANAGER PO_IRP_MANAGER
VOID(FASTCALL * PPROCESSOR_IDLE_FUNCTION)(struct _PROCESSOR_POWER_STATE *PState)
Definition: potypes.h:90
_SYSTEM_DOCK_STATE
Definition: potypes.h:48
@ SystemDockStateUnknown
Definition: potypes.h:49
@ SystemUndocked
Definition: potypes.h:50
@ SystemDocked
Definition: potypes.h:51
struct _PROCESSOR_POWER_STATE PROCESSOR_POWER_STATE
struct _PO_IRP_MANAGER * PPO_IRP_MANAGER
struct _PO_DEVICE_NOTIFY PO_DEVICE_NOTIFY
struct _PROCESSOR_POWER_STATE * PPROCESSOR_POWER_STATE
struct _PO_IRP_QUEUE * PPO_IRP_QUEUE
enum _SYSTEM_DOCK_STATE * PSYSTEM_DOCK_STATE
struct _PO_IRP_QUEUE PO_IRP_QUEUE
#define FASTCALL
Definition: nt_native.h:50
struct _SYSTEM_POWER_INFORMATION * PSYSTEM_POWER_INFORMATION
struct _SYSTEM_POWER_INFORMATION SYSTEM_POWER_INFORMATION
Definition: ketypes.h:751
Definition: typedefs.h:120
UCHAR WakeNeeded
Definition: potypes.h:148
ULONG ActiveChild
Definition: potypes.h:155
PDEVICE_OBJECT DeviceObject
Definition: potypes.h:150
UCHAR OrderLevel
Definition: potypes.h:149
ULONG ChildCount
Definition: potypes.h:154
LIST_ENTRY Link
Definition: potypes.h:146
PUSHORT DeviceName
Definition: potypes.h:152
PUSHORT DriverName
Definition: potypes.h:153
PDEVICE_OBJECT TargetDevice
Definition: potypes.h:147
PO_IRP_QUEUE DeviceIrpQueue
Definition: potypes.h:172
PO_IRP_QUEUE SystemIrpQueue
Definition: potypes.h:173
PIRP CurrentIrp
Definition: potypes.h:163
PIRP PendingIrpList
Definition: potypes.h:164
PROCESSOR_PERF_STATE * PerfStates
Definition: potypes.h:135
PROCESSOR_IDLE_TIMES IdleTimes
Definition: potypes.h:102
UCHAR CurrentThrottleIndex
Definition: potypes.h:108
UCHAR ProcessorMaxThrottle
Definition: potypes.h:122
ULONGLONG PreviousC3StateTime
Definition: potypes.h:117
PPROCESSOR_IDLE_FUNCTION IdleFunction
Definition: potypes.h:95
LARGE_INTEGER PerfCounterFrequency
Definition: potypes.h:131
UCHAR LastAdjustedBusyPercentage
Definition: potypes.h:125
ULONG LastC3KernelUserTime
Definition: potypes.h:137
UCHAR ThermalThrottleIndex
Definition: potypes.h:109
UCHAR ProcessorMinThrottle
Definition: potypes.h:121
ULONG Idle0KernelTimeLimit
Definition: potypes.h:96
ULONGLONG TotalIdleStateTime[3]
Definition: potypes.h:115
ULONGLONG DebugDelta
Definition: potypes.h:112
UCHAR ThermalThrottleLimit
Definition: potypes.h:107
ULONG TotalIdleTransitions[3]
Definition: potypes.h:116
ULONGLONG LastCheck
Definition: potypes.h:101
uint16_t * PUSHORT
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
unsigned char UCHAR
Definition: xmlstorage.h:181