251296ef3325711b49ab2fd54c55c6b852b2d7e1
[reactos.git] / include / reactos / subsys / csrss / client.h
1 /*
2 * PROJECT: ReactOS Native Headers
3 * FILE: include/subsys/csrss/client.h
4 * PURPOSE: Public Definitions for CSR Clients
5 * PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
6 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
7 */
8
9 #ifndef _CSRCLIENT_H
10 #define _CSRCLIENT_H
11
12 #include "msg.h"
13
14 /*
15 BOOLEAN
16 NTAPI
17 CsrCaptureArguments(IN PCSR_THREAD CsrThread,
18 IN PCSR_API_MESSAGE ApiMessage);
19
20 VOID
21 NTAPI
22 CsrReleaseCapturedArguments(IN PCSR_API_MESSAGE ApiMessage);
23 */
24
25 NTSTATUS
26 NTAPI
27 CsrClientConnectToServer(IN PWSTR ObjectDirectory,
28 IN ULONG ServerId,
29 IN PVOID ConnectionInfo,
30 IN OUT PULONG ConnectionInfoSize,
31 OUT PBOOLEAN ServerToServerCall);
32
33 NTSTATUS
34 NTAPI
35 CsrClientCallServer(IN OUT PCSR_API_MESSAGE Request,
36 IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer OPTIONAL,
37 IN ULONG ApiNumber,
38 IN ULONG RequestLength);
39
40 PVOID
41 NTAPI
42 CsrAllocateCaptureBuffer(IN ULONG ArgumentCount,
43 IN ULONG BufferSize);
44
45 VOID
46 NTAPI
47 CsrFreeCaptureBuffer(IN PCSR_CAPTURE_BUFFER CaptureBuffer);
48
49 ULONG
50 NTAPI
51 CsrAllocateMessagePointer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer,
52 IN ULONG MessageLength,
53 OUT PVOID* CaptureData);
54
55 VOID
56 NTAPI
57 CsrCaptureMessageBuffer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer,
58 IN PVOID MessageString,
59 IN ULONG StringLength,
60 OUT PVOID* CapturedData);
61
62 BOOLEAN
63 NTAPI
64 CsrValidateMessageBuffer(IN PCSR_API_MESSAGE ApiMessage,
65 IN PVOID* Buffer,
66 IN ULONG ArgumentSize,
67 IN ULONG ArgumentCount);
68
69 VOID
70 NTAPI
71 CsrProbeForRead(IN PVOID Address,
72 IN ULONG Length,
73 IN ULONG Alignment);
74
75 VOID
76 NTAPI
77 CsrProbeForWrite(IN PVOID Address,
78 IN ULONG Length,
79 IN ULONG Alignment);
80
81 NTSTATUS
82 NTAPI
83 CsrIdentifyAlertableThread(VOID);
84
85 HANDLE
86 NTAPI
87 CsrGetProcessId(VOID);
88
89 NTSTATUS
90 NTAPI
91 CsrNewThread(VOID);
92
93 NTSTATUS
94 NTAPI
95 CsrSetPriorityClass(IN HANDLE Process,
96 IN OUT PULONG PriorityClass);
97
98 #endif // _CSRCLIENT_H
99
100 /* EOF */