[DDK]
[reactos.git] / include / ndk / dbgkfuncs.h
1 /*++ NDK Version: 0098
2
3 Copyright (c) Alex Ionescu. All rights reserved.
4
5 Header Name:
6
7 dbgkfuncs.h
8
9 Abstract:
10
11 Function definitions for the User Mode Debugging Facility.
12
13 Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17 --*/
18
19 #ifndef _DBGKFUNCS_H
20 #define _DBGKFUNCS_H
21
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26 #include <dbgktypes.h>
27
28 //
29 // Native calls
30 //
31 NTSYSCALLAPI
32 NTSTATUS
33 NTAPI
34 NtDebugActiveProcess(
35 IN HANDLE Process,
36 IN HANDLE DebugObject
37 );
38
39 NTSYSCALLAPI
40 NTSTATUS
41 NTAPI
42 NtCreateDebugObject(
43 OUT PHANDLE DebugHandle,
44 IN ACCESS_MASK DesiredAccess,
45 IN POBJECT_ATTRIBUTES ObjectAttributes,
46 IN ULONG Flags
47 );
48
49 NTSYSCALLAPI
50 NTSTATUS
51 NTAPI
52 NtDebugContinue(
53 IN HANDLE DebugObject,
54 IN PCLIENT_ID AppClientId,
55 IN NTSTATUS ContinueStatus
56 );
57
58 NTSYSCALLAPI
59 NTSTATUS
60 NTAPI
61 NtWaitForDebugEvent(
62 IN HANDLE DebugObject,
63 IN BOOLEAN Alertable,
64 IN PLARGE_INTEGER Timeout OPTIONAL,
65 OUT PDBGUI_WAIT_STATE_CHANGE StateChange
66 );
67
68 NTSYSCALLAPI
69 NTSTATUS
70 NTAPI
71 NtRemoveProcessDebug(
72 IN HANDLE Process,
73 IN HANDLE DebugObject
74 );
75
76 NTSYSCALLAPI
77 NTSTATUS
78 NTAPI
79 NtSetInformationDebugObject(
80 IN HANDLE DebugObject,
81 IN DEBUGOBJECTINFOCLASS InformationClass,
82 IN PVOID Information,
83 IN ULONG InformationLength,
84 OUT PULONG ReturnLength OPTIONAL
85 );
86
87 NTSYSAPI
88 NTSTATUS
89 NTAPI
90 ZwDebugActiveProcess(
91 IN HANDLE Process,
92 IN HANDLE DebugObject
93 );
94
95 NTSYSAPI
96 NTSTATUS
97 NTAPI
98 ZwCreateDebugObject(
99 OUT PHANDLE DebugHandle,
100 IN ACCESS_MASK DesiredAccess,
101 IN POBJECT_ATTRIBUTES ObjectAttributes,
102 IN ULONG Flags
103 );
104
105 NTSYSAPI
106 NTSTATUS
107 NTAPI
108 ZwDebugContinue(
109 IN HANDLE DebugObject,
110 IN PCLIENT_ID AppClientId,
111 IN NTSTATUS ContinueStatus
112 );
113
114 NTSYSAPI
115 NTSTATUS
116 NTAPI
117 ZwRemoveProcessDebug(
118 IN HANDLE Process,
119 IN HANDLE DebugObject
120 );
121
122 NTSYSAPI
123 NTSTATUS
124 NTAPI
125 ZwWaitForDebugEvent(
126 IN HANDLE DebugObject,
127 IN BOOLEAN Alertable,
128 IN PLARGE_INTEGER Timeout OPTIONAL,
129 OUT PDBGUI_WAIT_STATE_CHANGE StateChange
130 );
131
132 NTSYSAPI
133 NTSTATUS
134 NTAPI
135 ZwSetInformationDebugObject(
136 IN HANDLE DebugObject,
137 IN DEBUGOBJECTINFOCLASS InformationClass,
138 IN PVOID Information,
139 IN ULONG InformationLength,
140 OUT PULONG ReturnLength OPTIONAL
141 );
142 #endif