Partial patch of larger rosrtl removal patch. This one merely is a structure fix...
[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 #include "ldrtypes.h"
12 #include "lpctypes.h"
13 #include "rtltypes.h"
14
15 /* PROTOTYPES ****************************************************************/
16
17 /*
18 * CSR Functions
19 */
20 NTSTATUS
21 STDCALL
22 CsrClientConnectToServer(
23 PWSTR ObjectDirectory,
24 ULONG ServerId,
25 PVOID Unknown,
26 PVOID Context,
27 ULONG ContextLength,
28 PULONG Unknown2
29 );
30
31 NTSTATUS
32 STDCALL
33 CsrClientCallServer(
34 struct _CSR_API_MESSAGE *Request,
35 PVOID CapturedBuffer OPTIONAL,
36 ULONG ApiNumber,
37 ULONG RequestLength
38 );
39
40 NTSTATUS
41 STDCALL
42 CsrIdentifyAlertableThread(VOID);
43
44 NTSTATUS
45 STDCALL
46 CsrNewThread(VOID);
47
48 NTSTATUS
49 STDCALL
50 CsrSetPriorityClass(
51 HANDLE Process,
52 PULONG PriorityClass
53 );
54
55 VOID
56 STDCALL
57 CsrProbeForRead(
58 IN CONST PVOID Address,
59 IN ULONG Length,
60 IN ULONG Alignment
61 );
62
63 VOID
64 STDCALL
65 CsrProbeForWrite(
66 IN CONST PVOID Address,
67 IN ULONG Length,
68 IN ULONG Alignment
69 );
70
71 NTSTATUS
72 STDCALL
73 CsrCaptureParameterBuffer(
74 PVOID ParameterBuffer,
75 ULONG ParameterBufferSize,
76 PVOID* ClientAddress,
77 PVOID* ServerAddress
78 );
79
80 NTSTATUS
81 STDCALL
82 CsrReleaseParameterBuffer(PVOID ClientAddress);
83
84 /*
85 * Debug Functions
86 */
87 ULONG
88 CDECL
89 DbgPrint(
90 IN PCH Format,
91 IN ...
92 );
93
94 VOID
95 STDCALL
96 DbgBreakPoint(VOID);
97
98 NTSTATUS
99 STDCALL
100 DbgSsInitialize(
101 HANDLE ReplyPort,
102 ULONG Unknown1,
103 ULONG Unknown2,
104 ULONG Unknown3
105 );
106
107 NTSTATUS
108 STDCALL
109 DbgUiConnectToDbg(VOID);
110
111 NTSTATUS
112 STDCALL
113 DbgUiContinue(
114 PCLIENT_ID ClientId,
115 ULONG ContinueStatus
116 );
117
118 NTSTATUS
119 STDCALL
120 DbgUiWaitStateChange(
121 ULONG Unknown1,
122 ULONG Unknown2
123 );
124
125 VOID
126 STDCALL
127 DbgUiRemoteBreakin(VOID);
128
129 NTSTATUS
130 STDCALL
131 DbgUiIssueRemoteBreakin(HANDLE Process);
132
133 /*
134 * Loader Functions
135 */
136 NTSTATUS
137 STDCALL
138 LdrDisableThreadCalloutsForDll(IN PVOID BaseAddress);
139
140 NTSTATUS
141 STDCALL
142 LdrGetDllHandle(
143 IN PWCHAR Path OPTIONAL,
144 IN ULONG Unknown2,
145 IN PUNICODE_STRING DllName,
146 OUT PVOID *BaseAddress
147 );
148
149 NTSTATUS
150 STDCALL
151 LdrFindEntryForAddress(
152 IN PVOID Address,
153 OUT PLDR_DATA_TABLE_ENTRY *Module
154 );
155
156 NTSTATUS
157 STDCALL
158 LdrGetProcedureAddress(
159 IN PVOID BaseAddress,
160 IN PANSI_STRING Name,
161 IN ULONG Ordinal,
162 OUT PVOID *ProcedureAddress
163 );
164
165 VOID
166 STDCALL
167 LdrInitializeThunk(
168 ULONG Unknown1,
169 ULONG Unknown2,
170 ULONG Unknown3,
171 ULONG Unknown4
172 );
173
174 NTSTATUS
175 STDCALL
176 LdrLoadDll(
177 IN PWSTR SearchPath OPTIONAL,
178 IN ULONG LoadFlags,
179 IN PUNICODE_STRING Name,
180 OUT PVOID *BaseAddress OPTIONAL
181 );
182
183 PIMAGE_BASE_RELOCATION
184 STDCALL
185 LdrProcessRelocationBlock(
186 IN PVOID Address,
187 IN USHORT Count,
188 IN PUSHORT TypeOffset,
189 IN ULONG_PTR Delta
190 );
191
192 NTSTATUS
193 STDCALL
194 LdrQueryImageFileExecutionOptions(
195 IN PUNICODE_STRING SubKey,
196 IN PCWSTR ValueName,
197 IN ULONG ValueSize,
198 OUT PVOID Buffer,
199 IN ULONG BufferSize,
200 OUT PULONG RetunedLength OPTIONAL
201 );
202
203 NTSTATUS
204 STDCALL
205 LdrQueryProcessModuleInformation(
206 IN PMODULE_INFORMATION ModuleInformation OPTIONAL,
207 IN ULONG Size OPTIONAL,
208 OUT PULONG ReturnedSize
209 );
210
211 NTSTATUS
212 STDCALL
213 LdrShutdownProcess(VOID);
214
215 NTSTATUS
216 STDCALL
217 LdrShutdownThread(VOID);
218
219 NTSTATUS
220 STDCALL
221 LdrUnloadDll(IN PVOID BaseAddress);
222
223 NTSTATUS
224 STDCALL
225 LdrVerifyImageMatchesChecksum(
226 IN HANDLE FileHandle,
227 ULONG Unknown1,
228 ULONG Unknown2,
229 ULONG Unknown3
230 );
231
232 #endif
233 /* EOF */