- Update NDK with proper (when possible) RTL structure names that were previously...
[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 NTSYSAPI
112 VOID
113 NTAPI
114 DbgBreakPointWithStatus(IN ULONG Status);
115
116 NTSTATUS
117 NTAPI
118 DbgUiConnectToDbg(VOID);
119
120 NTSTATUS
121 NTAPI
122 DbgUiContinue(
123 PCLIENT_ID ClientId,
124 ULONG ContinueStatus
125 );
126
127 NTSTATUS
128 NTAPI
129 DbgUiWaitStateChange(
130 PDBGUI_WAIT_STATE_CHANGE DbgUiWaitStateCange,
131 PLARGE_INTEGER TimeOut
132 );
133
134 VOID
135 NTAPI
136 DbgUiRemoteBreakin(VOID);
137
138 NTSTATUS
139 NTAPI
140 DbgUiIssueRemoteBreakin(HANDLE Process);
141
142 /*
143 * Loader Functions
144 */
145 NTSTATUS
146 NTAPI
147 LdrDisableThreadCalloutsForDll(IN PVOID BaseAddress);
148
149 NTSTATUS
150 NTAPI
151 LdrGetDllHandle(
152 IN PWSTR DllPath OPTIONAL,
153 IN PULONG DllCharacteristics,
154 IN PUNICODE_STRING DllName,
155 OUT PVOID *DllHandle
156 );
157
158 NTSTATUS
159 NTAPI
160 LdrFindEntryForAddress(
161 IN PVOID Address,
162 OUT PLDR_DATA_TABLE_ENTRY *Module
163 );
164
165 NTSTATUS
166 NTAPI
167 LdrGetProcedureAddress(
168 IN PVOID BaseAddress,
169 IN PANSI_STRING Name,
170 IN ULONG Ordinal,
171 OUT PVOID *ProcedureAddress
172 );
173
174 VOID
175 NTAPI
176 LdrInitializeThunk(
177 ULONG Unknown1,
178 ULONG Unknown2,
179 ULONG Unknown3,
180 ULONG Unknown4
181 );
182
183 NTSTATUS
184 NTAPI
185 LdrLoadDll(
186 IN PWSTR SearchPath OPTIONAL,
187 IN ULONG LoadFlags,
188 IN PUNICODE_STRING Name,
189 OUT PVOID *BaseAddress OPTIONAL
190 );
191
192 PIMAGE_BASE_RELOCATION
193 NTAPI
194 LdrProcessRelocationBlock(
195 IN PVOID Address,
196 IN USHORT Count,
197 IN PUSHORT TypeOffset,
198 IN ULONG_PTR Delta
199 );
200
201 NTSTATUS
202 NTAPI
203 LdrQueryImageFileExecutionOptions(
204 IN PUNICODE_STRING SubKey,
205 IN PCWSTR ValueName,
206 IN ULONG ValueSize,
207 OUT PVOID Buffer,
208 IN ULONG BufferSize,
209 OUT PULONG RetunedLength OPTIONAL
210 );
211
212 NTSTATUS
213 NTAPI
214 LdrQueryProcessModuleInformation(
215 IN PRTL_PROCESS_MODULES ModuleInformation OPTIONAL,
216 IN ULONG Size OPTIONAL,
217 OUT PULONG ReturnedSize
218 );
219
220 NTSTATUS
221 NTAPI
222 LdrShutdownProcess(VOID);
223
224 NTSTATUS
225 NTAPI
226 LdrShutdownThread(VOID);
227
228 NTSTATUS
229 NTAPI
230 LdrUnloadDll(IN PVOID BaseAddress);
231
232 NTSTATUS
233 NTAPI
234 LdrVerifyImageMatchesChecksum(
235 IN HANDLE FileHandle,
236 ULONG Unknown1,
237 ULONG Unknown2,
238 ULONG Unknown3
239 );
240
241 #endif
242 /* EOF */