merge trunk rev : 25663 and 25664 to 0.3.1 branch - update freetype, take care of...
[reactos.git] / reactos / ntoskrnl / include / internal / po.h
1 /*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/include/po.h
5 * PURPOSE: Internal header for the Power Manager
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 */
8
9 #include <poclass.h>
10
11 //
12 // Define this if you want debugging support
13 //
14 #define _PO_DEBUG_ 0x00
15
16 //
17 // These define the Debug Masks Supported
18 //
19 #define PO_STATE_DEBUG 0x01
20
21 //
22 // Debug/Tracing support
23 //
24 #if _PO_DEBUG_
25 #ifdef NEW_DEBUG_SYSTEM_IMPLEMENTED // enable when Debug Filters are implemented
26 #define POTRACE DbgPrintEx
27 #else
28 #define POTRACE(x, ...) \
29 if (x & PopTraceLevel) DbgPrint(__VA_ARGS__)
30 #endif
31 #else
32 #define POTRACE(x, ...) DPRINT(__VA_ARGS__)
33 #endif
34
35 //
36 // Initialization routines
37 //
38 VOID
39 NTAPI
40 PoInit(
41 IN ULONG BootPhase,
42 IN BOOLEAN HaveAcpiTable
43 );
44
45 VOID
46 NTAPI
47 PoInitializePrcb(
48 IN PKPRCB Prcb
49 );
50
51 //
52 // Power State routines
53 //
54 NTSTATUS
55 NTAPI
56 PopSetSystemPowerState(
57 SYSTEM_POWER_STATE PowerState
58 );
59
60 VOID
61 NTAPI
62 PopCleanupPowerState(
63 IN PPOWER_STATE PowerState
64 );
65
66 NTSTATUS
67 NTAPI
68 PopAddRemoveSysCapsCallback(
69 IN PVOID NotificationStructure,
70 IN PVOID Context
71 );
72
73 //
74 // Global data inside the Power Manager
75 //
76 extern PDEVICE_NODE PopSystemPowerDeviceNode;