Forward EnumDependentServicesA/W to services.exe.
[reactos.git] / reactos / include / ndk / umfuncs.h
1 /*++ NDK Version: 0095
2
3 Copyright (c) Alex Ionescu. All rights reserved.
4
5 Header Name:
6
7 umfuncs.h
8
9 Abstract:
10
11 Function definitions for Native DLL (ntdll) APIs exclusive to User Mode.
12
13 Author:
14
15 Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
16
17 --*/
18
19 #ifndef _UMFUNCS_H
20 #define _UMFUNCS_H
21
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26 #include <dbgktypes.h>
27
28 //
29 // Don't force inclusion of csrss header, leave this opaque.
30 //
31 struct _CSR_API_MESSAGE;
32 struct _CSR_CAPTURE_BUFFER;
33
34 //
35 // CSR Functions
36 //
37 PVOID
38 NTAPI
39 CsrAllocateCaptureBuffer(
40 ULONG ArgumentCount,
41 ULONG BufferSize
42 );
43
44 ULONG
45 NTAPI
46 CsrAllocateMessagePointer(
47 struct _CSR_CAPTURE_BUFFER *CaptureBuffer,
48 ULONG MessageLength,
49 PVOID *CaptureData
50 );
51
52 VOID
53 NTAPI
54 CsrCaptureMessageBuffer(
55 struct _CSR_CAPTURE_BUFFER *CaptureBuffer,
56 PVOID MessageString,
57 ULONG StringLength,
58 PVOID *CapturedData
59 );
60
61 NTSTATUS
62 NTAPI
63 CsrClientConnectToServer(
64 PWSTR ObjectDirectory,
65 ULONG ServerId,
66 PVOID ConnectionInfo,
67 PULONG ConnectionInfoSize,
68 PBOOLEAN ServerToServerCall
69 );
70
71 NTSTATUS
72 NTAPI
73 CsrClientCallServer(
74 struct _CSR_API_MESSAGE *Request,
75 struct _CSR_CAPTURE_BUFFER *CaptureBuffer OPTIONAL,
76 ULONG ApiNumber,
77 ULONG RequestLength
78 );
79
80 NTSTATUS
81 NTAPI
82 CsrIdentifyAlertableThread(
83 VOID
84 );
85
86 VOID
87 NTAPI
88 CsrFreeCaptureBuffer(
89 struct _CSR_CAPTURE_BUFFER *CaptureBuffer
90 );
91
92 NTSTATUS
93 NTAPI
94 CsrNewThread(VOID);
95
96 NTSTATUS
97 NTAPI
98 CsrSetPriorityClass(
99 HANDLE Process,
100 PULONG PriorityClass
101 );
102
103 VOID
104 NTAPI
105 CsrProbeForRead(
106 IN PVOID Address,
107 IN ULONG Length,
108 IN ULONG Alignment
109 );
110
111 VOID
112 NTAPI
113 CsrProbeForWrite(
114 IN PVOID Address,
115 IN ULONG Length,
116 IN ULONG Alignment
117 );
118
119 //
120 // Debug Functions
121 //
122 NTSYSAPI
123 VOID
124 NTAPI
125 DbgBreakPointWithStatus(
126 IN ULONG Status
127 );
128
129 NTSTATUS
130 NTAPI
131 DbgUiConnectToDbg(
132 VOID
133 );
134
135 NTSTATUS
136 NTAPI
137 DbgUiContinue(
138 IN PCLIENT_ID ClientId,
139 IN ULONG ContinueStatus
140 );
141
142 NTSTATUS
143 NTAPI
144 DbgUiWaitStateChange(
145 IN PDBGUI_WAIT_STATE_CHANGE DbgUiWaitStateCange,
146 IN PLARGE_INTEGER TimeOut
147 );
148
149 VOID
150 NTAPI
151 DbgUiRemoteBreakin(
152 VOID
153 );
154
155 NTSTATUS
156 NTAPI
157 DbgUiIssueRemoteBreakin(
158 IN HANDLE Process
159 );
160
161 //
162 // Loader Functions
163 //
164 NTSTATUS
165 NTAPI
166 LdrDisableThreadCalloutsForDll(
167 IN PVOID BaseAddress
168 );
169
170 NTSTATUS
171 NTAPI
172 LdrGetDllHandle(
173 IN PWSTR DllPath OPTIONAL,
174 IN PULONG DllCharacteristics,
175 IN PUNICODE_STRING DllName,
176 OUT PVOID *DllHandle
177 );
178
179 NTSTATUS
180 NTAPI
181 LdrFindEntryForAddress(
182 IN PVOID Address,
183 OUT PLDR_DATA_TABLE_ENTRY *Module
184 );
185
186 NTSTATUS
187 NTAPI
188 LdrGetProcedureAddress(
189 IN PVOID BaseAddress,
190 IN PANSI_STRING Name,
191 IN ULONG Ordinal,
192 OUT PVOID *ProcedureAddress
193 );
194
195 VOID
196 NTAPI
197 LdrInitializeThunk(
198 ULONG Unknown1,
199 ULONG Unknown2,
200 ULONG Unknown3,
201 ULONG Unknown4
202 );
203
204 NTSTATUS
205 NTAPI
206 LdrLoadDll(
207 IN PWSTR SearchPath OPTIONAL,
208 IN ULONG LoadFlags,
209 IN PUNICODE_STRING Name,
210 OUT PVOID *BaseAddress OPTIONAL
211 );
212
213 PIMAGE_BASE_RELOCATION
214 NTAPI
215 LdrProcessRelocationBlock(
216 IN PVOID Address,
217 IN USHORT Count,
218 IN PUSHORT TypeOffset,
219 IN ULONG_PTR Delta
220 );
221
222 NTSTATUS
223 NTAPI
224 LdrQueryImageFileExecutionOptions(
225 IN PUNICODE_STRING SubKey,
226 IN PCWSTR ValueName,
227 IN ULONG ValueSize,
228 OUT PVOID Buffer,
229 IN ULONG BufferSize,
230 OUT PULONG RetunedLength OPTIONAL
231 );
232
233 NTSTATUS
234 NTAPI
235 LdrQueryProcessModuleInformation(
236 IN PRTL_PROCESS_MODULES ModuleInformation OPTIONAL,
237 IN ULONG Size OPTIONAL,
238 OUT PULONG ReturnedSize
239 );
240
241 NTSTATUS
242 NTAPI
243 LdrShutdownProcess(
244 VOID
245 );
246
247 NTSTATUS
248 NTAPI
249 LdrShutdownThread(
250 VOID
251 );
252
253 NTSTATUS
254 NTAPI
255 LdrUnloadDll(
256 IN PVOID BaseAddress
257 );
258
259 NTSTATUS
260 NTAPI
261 LdrVerifyImageMatchesChecksum(
262 IN HANDLE FileHandle,
263 ULONG Unknown1,
264 ULONG Unknown2,
265 ULONG Unknown3
266 );
267
268 #endif