Implement NTDLL's CSR routines in a compatible way. Fix prototypes, argument count...
[reactos.git] / reactos / include / ndk / umfuncs.h
1 /*
2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/umfuncs.h
4 * PURPOSE: Prototypes for NT Library Functions
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
6 */
7 #ifndef _UMFUNCS_H
8 #define _UMFUNCS_H
9
10 /* DEPENDENCIES **************************************************************/
11 struct _CSR_API_MESSAGE;
12 struct _CSR_CAPTURE_BUFFER;
13
14 /* PROTOTYPES ****************************************************************/
15
16 /*
17 * CSR Functions
18 */
19 PVOID
20 NTAPI
21 CsrAllocateCaptureBuffer(
22 ULONG ArgumentCount,
23 ULONG BufferSize
24 );
25
26 ULONG
27 NTAPI
28 CsrAllocateMessagePointer(
29 struct _CSR_CAPTURE_BUFFER *CaptureBuffer,
30 ULONG MessageLength,
31 PVOID *CaptureData
32 );
33
34 VOID
35 NTAPI
36 CsrCaptureMessageBuffer(
37 struct _CSR_CAPTURE_BUFFER *CaptureBuffer,
38 PVOID MessageString,
39 ULONG StringLength,
40 PVOID *CapturedData
41 );
42
43 NTSTATUS
44 NTAPI
45 CsrClientConnectToServer(
46 PWSTR ObjectDirectory,
47 ULONG ServerId,
48 PVOID ConnectionInfo,
49 PULONG ConnectionInfoSize,
50 PBOOLEAN ServerToServerCall
51 );
52
53 NTSTATUS
54 NTAPI
55 CsrClientCallServer(
56 struct _CSR_API_MESSAGE *Request,
57 struct _CSR_CAPTURE_BUFFER *CaptureBuffer OPTIONAL,
58 ULONG ApiNumber,
59 ULONG RequestLength
60 );
61
62 NTSTATUS
63 NTAPI
64 CsrIdentifyAlertableThread(VOID);
65
66 VOID
67 NTAPI
68 CsrFreeCaptureBuffer(struct _CSR_CAPTURE_BUFFER *CaptureBuffer);
69
70 NTSTATUS
71 NTAPI
72 CsrNewThread(VOID);
73
74 NTSTATUS
75 NTAPI
76 CsrSetPriorityClass(
77 HANDLE Process,
78 PULONG PriorityClass
79 );
80
81 VOID
82 NTAPI
83 CsrProbeForRead(
84 IN PVOID Address,
85 IN ULONG Length,
86 IN ULONG Alignment
87 );
88
89 VOID
90 NTAPI
91 CsrProbeForWrite(
92 IN PVOID Address,
93 IN ULONG Length,
94 IN ULONG Alignment
95 );
96
97 /*
98 * Debug Functions
99 */
100 ULONG
101 __cdecl
102 DbgPrint(
103 IN PCH Format,
104 IN ...
105 );
106
107 VOID
108 NTAPI
109 DbgBreakPoint(VOID);
110
111 NTSTATUS
112 NTAPI
113 DbgSsInitialize(
114 HANDLE ReplyPort,
115 PVOID Callback,
116 ULONG Unknown2,
117 ULONG Unknown3
118 );
119
120 NTSTATUS
121 NTAPI
122 DbgUiConnectToDbg(VOID);
123
124 NTSTATUS
125 NTAPI
126 DbgUiContinue(
127 PCLIENT_ID ClientId,
128 ULONG ContinueStatus
129 );
130
131 NTSTATUS
132 NTAPI
133 DbgUiWaitStateChange(
134 ULONG Unknown1,
135 ULONG Unknown2
136 );
137
138 VOID
139 NTAPI
140 DbgUiRemoteBreakin(VOID);
141
142 NTSTATUS
143 NTAPI
144 DbgUiIssueRemoteBreakin(HANDLE Process);
145
146 /*
147 * Loader Functions
148 */
149 NTSTATUS
150 NTAPI
151 LdrDisableThreadCalloutsForDll(IN PVOID BaseAddress);
152
153 NTSTATUS
154 NTAPI
155 LdrGetDllHandle(
156 IN PWSTR DllPath OPTIONAL,
157 IN PULONG DllCharacteristics,
158 IN PUNICODE_STRING DllName,
159 OUT PVOID *DllHandle
160 );
161
162 NTSTATUS
163 NTAPI
164 LdrFindEntryForAddress(
165 IN PVOID Address,
166 OUT PLDR_DATA_TABLE_ENTRY *Module
167 );
168
169 NTSTATUS
170 NTAPI
171 LdrGetProcedureAddress(
172 IN PVOID BaseAddress,
173 IN PANSI_STRING Name,
174 IN ULONG Ordinal,
175 OUT PVOID *ProcedureAddress
176 );
177
178 VOID
179 NTAPI
180 LdrInitializeThunk(
181 ULONG Unknown1,
182 ULONG Unknown2,
183 ULONG Unknown3,
184 ULONG Unknown4
185 );
186
187 NTSTATUS
188 NTAPI
189 LdrLoadDll(
190 IN PWSTR SearchPath OPTIONAL,
191 IN ULONG LoadFlags,
192 IN PUNICODE_STRING Name,
193 OUT PVOID *BaseAddress OPTIONAL
194 );
195
196 PIMAGE_BASE_RELOCATION
197 NTAPI
198 LdrProcessRelocationBlock(
199 IN PVOID Address,
200 IN USHORT Count,
201 IN PUSHORT TypeOffset,
202 IN ULONG_PTR Delta
203 );
204
205 NTSTATUS
206 NTAPI
207 LdrQueryImageFileExecutionOptions(
208 IN PUNICODE_STRING SubKey,
209 IN PCWSTR ValueName,
210 IN ULONG ValueSize,
211 OUT PVOID Buffer,
212 IN ULONG BufferSize,
213 OUT PULONG RetunedLength OPTIONAL
214 );
215
216 NTSTATUS
217 NTAPI
218 LdrQueryProcessModuleInformation(
219 IN PMODULE_INFORMATION ModuleInformation OPTIONAL,
220 IN ULONG Size OPTIONAL,
221 OUT PULONG ReturnedSize
222 );
223
224 NTSTATUS
225 NTAPI
226 LdrShutdownProcess(VOID);
227
228 NTSTATUS
229 NTAPI
230 LdrShutdownThread(VOID);
231
232 NTSTATUS
233 NTAPI
234 LdrUnloadDll(IN PVOID BaseAddress);
235
236 NTSTATUS
237 NTAPI
238 LdrVerifyImageMatchesChecksum(
239 IN HANDLE FileHandle,
240 ULONG Unknown1,
241 ULONG Unknown2,
242 ULONG Unknown3
243 );
244
245 #endif
246 /* EOF */