[CSRSRV]: Fix two DPRINTs.
[reactos.git] / reactos / include / ndk / lpcfuncs.h
1 /*++ NDK Version: 0098
2
3 Copyright (c) Alex Ionescu. All rights reserved.
4
5 Header Name:
6
7 lpcfuncs.h
8
9 Abstract:
10
11 Function definitions for the Executive.
12
13 Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17 --*/
18
19 #ifndef _LPCFUNCS_H
20 #define _LPCFUNCS_H
21
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26
27 //
28 // LPC Exports
29 //
30 #ifndef NTOS_MODE_USER
31 NTKERNELAPI
32 NTSTATUS
33 NTAPI
34 LpcRequestWaitReplyPort(
35 _In_ PVOID Port,
36 _In_ PPORT_MESSAGE LpcMessageRequest,
37 _Out_ PPORT_MESSAGE LpcMessageReply
38 );
39
40 NTSTATUS
41 NTAPI
42 LpcRequestPort(
43 _In_ PVOID Port,
44 _In_ PPORT_MESSAGE LpcMessage
45 );
46 #endif
47
48 //
49 // Native calls
50 //
51 NTSYSCALLAPI
52 NTSTATUS
53 NTAPI
54 NtAcceptConnectPort(
55 _Out_ PHANDLE PortHandle,
56 _In_opt_ PVOID PortContext,
57 _In_ PPORT_MESSAGE ConnectionRequest,
58 _In_ BOOLEAN AcceptConnection,
59 _In_opt_ PPORT_VIEW ServerView,
60 _In_opt_ PREMOTE_PORT_VIEW ClientView
61 );
62
63 NTSYSCALLAPI
64 NTSTATUS
65 NTAPI
66 NtCompleteConnectPort(
67 _In_ HANDLE PortHandle
68 );
69
70 NTSYSCALLAPI
71 NTSTATUS
72 NTAPI
73 NtConnectPort(
74 _Out_ PHANDLE PortHandle,
75 _In_ PUNICODE_STRING PortName,
76 _In_ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
77 _In_opt_ PPORT_VIEW ClientView,
78 _In_opt_ PREMOTE_PORT_VIEW ServerView,
79 _In_opt_ PULONG MaxMessageLength,
80 _In_opt_ PVOID ConnectionInformation,
81 _In_opt_ PULONG ConnectionInformationLength
82 );
83
84 NTSYSCALLAPI
85 NTSTATUS
86 NTAPI
87 NtCreatePort(
88 _Out_ PHANDLE PortHandle,
89 _In_ POBJECT_ATTRIBUTES ObjectAttributes,
90 _In_ ULONG MaxConnectionInfoLength,
91 _In_ ULONG MaxMessageLength,
92 _In_ ULONG MaxPoolUsage
93 );
94
95 NTSYSCALLAPI
96 NTSTATUS
97 NTAPI
98 NtCreateWaitablePort(
99 _Out_ PHANDLE PortHandle,
100 _In_ POBJECT_ATTRIBUTES ObjectAttributes,
101 _In_ ULONG MaxConnectInfoLength,
102 _In_ ULONG MaxDataLength,
103 _In_opt_ ULONG NPMessageQueueSize
104 );
105
106 NTSYSCALLAPI
107 NTSTATUS
108 NTAPI
109 NtImpersonateClientOfPort(
110 _In_ HANDLE PortHandle,
111 _In_ PPORT_MESSAGE ClientMessage
112 );
113
114 NTSYSCALLAPI
115 NTSTATUS
116 NTAPI
117 NtListenPort(
118 _In_ HANDLE PortHandle,
119 _In_ PPORT_MESSAGE ConnectionRequest
120 );
121
122 NTSYSCALLAPI
123 NTSTATUS
124 NTAPI
125 NtQueryInformationPort(
126 _In_ HANDLE PortHandle,
127 _In_ PORT_INFORMATION_CLASS PortInformationClass,
128 _Out_bytecap_(PortInformationLength) PVOID PortInformation,
129 _In_ ULONG PortInformationLength,
130 _Out_ PULONG ReturnLength
131 );
132
133 NTSTATUS
134 NTAPI
135 NtQueryPortInformationProcess(
136 VOID
137 );
138
139 NTSYSCALLAPI
140 NTSTATUS
141 NTAPI
142 NtReadRequestData(
143 _In_ HANDLE PortHandle,
144 _In_ PPORT_MESSAGE Message,
145 _In_ ULONG Index,
146 _Out_bytecap_(BufferLength) PVOID Buffer,
147 _In_ ULONG BufferLength,
148 _Out_ PULONG ReturnLength
149 );
150
151 NTSYSCALLAPI
152 NTSTATUS
153 NTAPI
154 NtReplyPort(
155 _In_ HANDLE PortHandle,
156 _In_ PPORT_MESSAGE LpcReply
157 );
158
159 NTSYSCALLAPI
160 NTSTATUS
161 NTAPI
162 NtReplyWaitReceivePort(
163 _In_ HANDLE PortHandle,
164 _Out_opt_ PVOID *PortContext,
165 _In_opt_ PPORT_MESSAGE ReplyMessage,
166 _Out_ PPORT_MESSAGE ReceiveMessage
167 );
168
169 NTSYSCALLAPI
170 NTSTATUS
171 NTAPI
172 NtReplyWaitReceivePortEx(
173 _In_ HANDLE PortHandle,
174 _Out_opt_ PVOID *PortContext,
175 _In_opt_ PPORT_MESSAGE ReplyMessage,
176 _Out_ PPORT_MESSAGE ReceiveMessage,
177 _In_opt_ PLARGE_INTEGER Timeout
178 );
179
180 NTSYSCALLAPI
181 NTSTATUS
182 NTAPI
183 NtReplyWaitReplyPort(
184 _In_ HANDLE PortHandle,
185 _Out_ PPORT_MESSAGE ReplyMessage
186 );
187
188 NTSYSCALLAPI
189 NTSTATUS
190 NTAPI
191 NtRequestPort(
192 _In_ HANDLE PortHandle,
193 _In_ PPORT_MESSAGE LpcMessage
194 );
195
196 NTSYSCALLAPI
197 NTSTATUS
198 NTAPI
199 NtRequestWaitReplyPort(
200 _In_ HANDLE PortHandle,
201 _Out_ PPORT_MESSAGE LpcReply,
202 _In_ PPORT_MESSAGE LpcRequest
203 );
204
205 NTSYSCALLAPI
206 NTSTATUS
207 NTAPI
208 NtSecureConnectPort(
209 _Out_ PHANDLE PortHandle,
210 _In_ PUNICODE_STRING PortName,
211 _In_ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
212 _In_opt_ PPORT_VIEW ClientView,
213 _In_opt_ PSID Sid,
214 _In_opt_ PREMOTE_PORT_VIEW ServerView,
215 _In_opt_ PULONG MaxMessageLength,
216 _In_opt_ PVOID ConnectionInformation,
217 _Out_opt_ PULONG ConnectionInformationLength
218 );
219
220 NTSYSCALLAPI
221 NTSTATUS
222 NTAPI
223 NtWriteRequestData(
224 _In_ HANDLE PortHandle,
225 _In_ PPORT_MESSAGE Message,
226 _In_ ULONG Index,
227 _In_bytecount_(BufferLength) PVOID Buffer,
228 _In_ ULONG BufferLength,
229 _Out_ PULONG ReturnLength
230 );
231
232 NTSYSAPI
233 NTSTATUS
234 NTAPI
235 ZwAcceptConnectPort(
236 _Out_ PHANDLE PortHandle,
237 _In_opt_ PVOID PortContext,
238 _In_ PPORT_MESSAGE ConnectionRequest,
239 _In_ BOOLEAN AcceptConnection,
240 _In_opt_ PPORT_VIEW ServerView,
241 _In_opt_ PREMOTE_PORT_VIEW ClientView
242 );
243
244 NTSYSAPI
245 NTSTATUS
246 NTAPI
247 ZwCompleteConnectPort(
248 _In_ HANDLE PortHandle
249 );
250
251 NTSYSAPI
252 NTSTATUS
253 NTAPI
254 ZwConnectPort(
255 _Out_ PHANDLE PortHandle,
256 _In_ PUNICODE_STRING PortName,
257 _In_ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
258 _In_opt_ PPORT_VIEW ClientView,
259 _In_opt_ PREMOTE_PORT_VIEW ServerView,
260 _In_opt_ PULONG MaxMessageLength,
261 _In_opt_ PVOID ConnectionInformation,
262 _In_opt_ PULONG ConnectionInformationLength
263 );
264
265 NTSYSAPI
266 NTSTATUS
267 NTAPI
268 ZwCreatePort(
269 _Out_ PHANDLE PortHandle,
270 _In_ POBJECT_ATTRIBUTES ObjectAttributes,
271 _In_ ULONG MaxConnectionInfoLength,
272 _In_ ULONG MaxMessageLength,
273 _In_ ULONG MaxPoolUsage
274 );
275
276 NTSYSAPI
277 NTSTATUS
278 NTAPI
279 ZwCreateWaitablePort(
280 _Out_ PHANDLE PortHandle,
281 _In_ POBJECT_ATTRIBUTES ObjectAttributes,
282 _In_ ULONG MaxConnectInfoLength,
283 _In_ ULONG MaxDataLength,
284 _In_opt_ ULONG NPMessageQueueSize
285 );
286
287 NTSYSAPI
288 NTSTATUS
289 NTAPI
290 ZwImpersonateClientOfPort(
291 _In_ HANDLE PortHandle,
292 _In_ PPORT_MESSAGE ClientMessage
293 );
294
295 NTSYSAPI
296 NTSTATUS
297 NTAPI
298 ZwListenPort(
299 _In_ HANDLE PortHandle,
300 _In_ PPORT_MESSAGE ConnectionRequest
301 );
302
303 NTSYSAPI
304 NTSTATUS
305 NTAPI
306 ZwQueryInformationPort(
307 _In_ HANDLE PortHandle,
308 _In_ PORT_INFORMATION_CLASS PortInformationClass,
309 _Out_bytecap_(PortInformationLength) PVOID PortInformation,
310 _In_ ULONG PortInformationLength,
311 _Out_ PULONG ReturnLength
312 );
313
314 NTSYSAPI
315 NTSTATUS
316 NTAPI
317 ZwReadRequestData(
318 _In_ HANDLE PortHandle,
319 _In_ PPORT_MESSAGE Message,
320 _In_ ULONG Index,
321 _Out_bytecap_(BufferLength) PVOID Buffer,
322 _In_ ULONG BufferLength,
323 _Out_ PULONG ReturnLength
324 );
325
326 NTSYSAPI
327 NTSTATUS
328 NTAPI
329 ZwReplyPort(
330 _In_ HANDLE PortHandle,
331 _In_ PPORT_MESSAGE LpcReply
332 );
333
334 NTSYSAPI
335 NTSTATUS
336 NTAPI
337 ZwReplyWaitReceivePort(
338 _In_ HANDLE PortHandle,
339 _Out_opt_ PVOID *PortContext,
340 _In_opt_ PPORT_MESSAGE ReplyMessage,
341 _Out_ PPORT_MESSAGE ReceiveMessage
342 );
343
344 NTSYSAPI
345 NTSTATUS
346 NTAPI
347 ZwReplyWaitReceivePortEx(
348 _In_ HANDLE PortHandle,
349 _Out_opt_ PVOID *PortContext,
350 _In_opt_ PPORT_MESSAGE ReplyMessage,
351 _Out_ PPORT_MESSAGE ReceiveMessage,
352 _In_opt_ PLARGE_INTEGER Timeout
353 );
354
355 NTSYSAPI
356 NTSTATUS
357 NTAPI
358 ZwReplyWaitReplyPort(
359 _In_ HANDLE PortHandle,
360 _Out_ PPORT_MESSAGE ReplyMessage
361 );
362
363 NTSYSAPI
364 NTSTATUS
365 NTAPI
366 ZwRequestPort(
367 _In_ HANDLE PortHandle,
368 _In_ PPORT_MESSAGE LpcMessage
369 );
370
371 NTSYSAPI
372 NTSTATUS
373 NTAPI
374 ZwRequestWaitReplyPort(
375 _In_ HANDLE PortHandle,
376 _Out_ PPORT_MESSAGE LpcReply,
377 _In_ PPORT_MESSAGE LpcRequest
378 );
379
380 NTSYSAPI
381 NTSTATUS
382 NTAPI
383 ZwSecureConnectPort(
384 _Out_ PHANDLE PortHandle,
385 _In_ PUNICODE_STRING PortName,
386 _In_ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
387 _Inout_opt_ PPORT_VIEW ClientView,
388 _In_opt_ PSID Sid,
389 _Inout_opt_ PREMOTE_PORT_VIEW ServerView,
390 _Out_opt_ PULONG MaxMessageLength,
391 _Inout_opt_ PVOID ConnectionInformation,
392 _Inout_opt_ PULONG ConnectionInformationLength
393 );
394
395 NTSYSAPI
396 NTSTATUS
397 NTAPI
398 ZwWriteRequestData(
399 _In_ HANDLE PortHandle,
400 _In_ PPORT_MESSAGE Message,
401 _In_ ULONG Index,
402 _In_bytecount_(BufferLength) PVOID Buffer,
403 _In_ ULONG BufferLength,
404 _Out_ PULONG ReturnLength
405 );
406
407 #endif