Partial merge of the condrv_restructure branch, including:
[reactos.git] / reactos / include / reactos / subsys / csr / csr.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Client/Server Runtime SubSystem
4 * FILE: include/reactos/subsys/csr/csr.h
5 * PURPOSE: Public definitions for CSR Clients
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
8 */
9
10 #ifndef _CSR_H
11 #define _CSR_H
12
13 #include "csrmsg.h"
14
15 NTSTATUS
16 NTAPI
17 CsrClientConnectToServer(IN PWSTR ObjectDirectory,
18 IN ULONG ServerId,
19 IN PVOID ConnectionInfo,
20 IN OUT PULONG ConnectionInfoSize,
21 OUT PBOOLEAN ServerToServerCall);
22
23 NTSTATUS
24 NTAPI
25 CsrClientCallServer(IN OUT PCSR_API_MESSAGE ApiMessage,
26 IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer OPTIONAL,
27 IN CSR_API_NUMBER ApiNumber,
28 IN ULONG DataLength);
29
30 PCSR_CAPTURE_BUFFER
31 NTAPI
32 CsrAllocateCaptureBuffer(IN ULONG ArgumentCount,
33 IN ULONG BufferSize);
34
35 ULONG
36 NTAPI
37 CsrAllocateMessagePointer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer,
38 IN ULONG MessageLength,
39 OUT PVOID* CapturedData);
40
41 VOID
42 NTAPI
43 CsrCaptureMessageBuffer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer,
44 IN PVOID MessageBuffer OPTIONAL,
45 IN ULONG MessageLength,
46 OUT PVOID* CapturedData);
47
48 VOID
49 NTAPI
50 CsrFreeCaptureBuffer(IN PCSR_CAPTURE_BUFFER CaptureBuffer);
51
52 VOID
53 NTAPI
54 CsrCaptureMessageString(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer,
55 IN PCSTR String OPTIONAL,
56 IN ULONG StringLength,
57 IN ULONG MaximumLength,
58 OUT PSTRING CapturedString);
59
60 NTSTATUS
61 NTAPI
62 CsrCaptureMessageMultiUnicodeStringsInPlace(OUT PCSR_CAPTURE_BUFFER* CaptureBuffer,
63 IN ULONG StringsCount,
64 IN PUNICODE_STRING* MessageStrings);
65
66 PLARGE_INTEGER
67 NTAPI
68 CsrCaptureTimeout(IN ULONG Milliseconds,
69 OUT PLARGE_INTEGER Timeout);
70
71 VOID
72 NTAPI
73 CsrProbeForRead(IN PVOID Address,
74 IN ULONG Length,
75 IN ULONG Alignment);
76
77 VOID
78 NTAPI
79 CsrProbeForWrite(IN PVOID Address,
80 IN ULONG Length,
81 IN ULONG Alignment);
82
83 NTSTATUS
84 NTAPI
85 CsrIdentifyAlertableThread(VOID);
86
87 HANDLE
88 NTAPI
89 CsrGetProcessId(VOID);
90
91 NTSTATUS
92 NTAPI
93 CsrNewThread(VOID);
94
95 NTSTATUS
96 NTAPI
97 CsrSetPriorityClass(IN HANDLE Process,
98 IN OUT PULONG PriorityClass);
99
100 #endif // _CSR_H
101
102 /* EOF */