xref: /reactos/sdk/include/ndk/dbgkfuncs.h (revision dc0433f0)
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_opt_ PLARGE_INTEGER Timeout,
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_opt_ PULONG ReturnLength
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_opt_ PLARGE_INTEGER Timeout,
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_opt_ PULONG ReturnLength
141 );
142 #endif
143