[NTOSKRNL] Link all the shared cache map together.
[reactos.git] / ntoskrnl / include / internal / dbgk.h
1 /*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/include/internal/dbgk.h
5 * PURPOSE: Internal header for the User-Mode Debugging Backend
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 */
8
9 //
10 // Define this if you want debugging support
11 //
12 #define _DBGK_DEBUG_ 0x00
13
14 //
15 // These define the Debug Masks Supported
16 //
17 #define DBGK_THREAD_DEBUG 0x01
18 #define DBGK_PROCESS_DEBUG 0x02
19 #define DBGK_OBJECT_DEBUG 0x04
20 #define DBGK_MESSAGE_DEBUG 0x08
21 #define DBGK_EXCEPTION_DEBUG 0x10
22
23 //
24 // Debug/Tracing support
25 //
26 #if _DBGK_DEBUG_
27 #ifdef NEW_DEBUG_SYSTEM_IMPLEMENTED // enable when Debug Filters are implemented
28 #define DBGKTRACE(x, ...) \
29 { \
30 DbgPrintEx("%s [%.16s] - ", \
31 __FUNCTION__, \
32 PsGetCurrentProcess()->ImageFileName); \
33 DbgPrintEx(__VA_ARGS__); \
34 }
35 #else
36 #define DBGKTRACE(x, ...) \
37 if (x & DbgkpTraceLevel) \
38 { \
39 DbgPrint("%s [%.16s] - ", \
40 __FUNCTION__, \
41 PsGetCurrentProcess()->ImageFileName); \
42 DbgPrint(__VA_ARGS__); \
43 }
44 #endif
45 #else
46 #define DBGKTRACE(x, fmt, ...) DPRINT(fmt, ##__VA_ARGS__)
47 #endif
48
49 VOID
50 NTAPI
51 DbgkInitialize(
52 VOID
53 );
54
55 VOID
56 NTAPI
57 DbgkCreateThread(
58 IN PETHREAD Thread,
59 IN PVOID StartAddress
60 );
61
62 VOID
63 NTAPI
64 DbgkExitProcess(
65 IN NTSTATUS ExitStatus
66 );
67
68 VOID
69 NTAPI
70 DbgkExitThread(
71 IN NTSTATUS ExitStatus
72 );
73
74 VOID
75 NTAPI
76 DbgkMapViewOfSection(
77 IN PVOID Section,
78 IN PVOID BaseAddress,
79 IN ULONG SectionOffset,
80 IN ULONG_PTR ViewSize
81 );
82
83 VOID
84 NTAPI
85 DbgkUnMapViewOfSection(
86 IN PVOID BaseAddress
87 );
88
89 BOOLEAN
90 NTAPI
91 DbgkpSuspendProcess(
92 VOID
93 );
94
95 VOID
96 NTAPI
97 DbgkpResumeProcess(
98 VOID
99 );
100
101 NTSTATUS
102 NTAPI
103 DbgkpSendApiMessage(
104 IN OUT PDBGKM_MSG ApiMsg,
105 IN BOOLEAN SuspendProcess
106 );
107
108 HANDLE
109 NTAPI
110 DbgkpSectionToFileHandle(
111 IN PVOID Section
112 );
113
114 VOID
115 NTAPI
116 DbgkCopyProcessDebugPort(
117 IN PEPROCESS Process,
118 IN PEPROCESS Parent
119 );
120
121 BOOLEAN
122 NTAPI
123 DbgkForwardException(
124 IN PEXCEPTION_RECORD ExceptionRecord,
125 IN BOOLEAN DebugPort,
126 IN BOOLEAN SecondChance
127 );
128
129 NTSTATUS
130 NTAPI
131 DbgkClearProcessDebugObject(
132 IN PEPROCESS Process,
133 IN PDEBUG_OBJECT SourceDebugObject
134 );
135
136 NTSTATUS
137 NTAPI
138 DbgkOpenProcessDebugPort(
139 IN PEPROCESS Process,
140 IN KPROCESSOR_MODE PreviousMode,
141 OUT HANDLE *DebugHandle
142 );
143
144 extern ULONG DbgkpTraceLevel;
145 extern POBJECT_TYPE DbgkDebugObjectType;
146
147 /* EOF */