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