5600868605e06ed4f123f0fdd54dbd51a76edf45
[reactos.git] / reactos / include / subsys / csr / server.h
1 #if !defined(__INCLUDE_CSR_SERVER_H)
2 #define __INCLUDE_CSR_SERVER_H
3
4 #define CSR_SRV_SERVER 0
5
6 typedef struct _CSR_SESSION
7 {
8 ULONG SessionId;
9 HANDLE Heap;
10 PVOID ServerData;
11
12 } CSR_SESSION, * PCSR_SESSION;
13
14
15 typedef struct _CSR_PROCESS
16 {
17 HANDLE Process;
18 PCSR_SESSION CsrSession;
19 ULONG ReferenceCount;
20 PVOID ServerData;
21
22 } CSR_PROCESS, * PCSR_PROCESS;
23
24 typedef struct _CSR_THREAD
25 {
26 HANDLE Thread;
27 PCSR_SESSION CsrSession;
28 PCSR_PROCESS CsrProcess;
29 ULONG ReferenceCount;
30 PVOID ServerData;
31
32 } CSR_THREAD, * PCSR_THREAD;
33
34 typedef struct _CSR_WAIT
35 {
36 PCSR_PROCESS CsrThread;
37
38 } CSR_WAIT, * PCSR_WAIT;
39
40 typedef VOID (CALLBACK * CSR_SERVER_THREAD)(PVOID);
41
42 /* symbols exported by native DLL csrsrv.dll */
43
44 NTSTATUS STDCALL CsrAddStaticServerThread(CSR_SERVER_THREAD);
45 NTSTATUS STDCALL CsrCallServerFromServer();
46 NTSTATUS STDCALL CsrCreateProcess(PCSR_SESSION,PCSR_PROCESS*);
47 NTSTATUS STDCALL CsrCreateRemoteThread();
48 NTSTATUS STDCALL CsrCreateSession(PCSR_SESSION*);
49 NTSTATUS STDCALL CsrCreateThread(PCSR_PROCESS,PCSR_THREAD*);
50 NTSTATUS STDCALL CsrCreateWait(PCSR_THREAD,PCSR_WAIT*);
51 NTSTATUS STDCALL CsrDebugProcess(PCSR_PROCESS);
52 NTSTATUS STDCALL CsrDebugProcessStop(PCSR_PROCESS);
53 NTSTATUS STDCALL CsrDereferenceProcess(PCSR_PROCESS);
54 NTSTATUS STDCALL CsrDereferenceThread(PCSR_THREAD);
55 NTSTATUS STDCALL CsrDereferenceWait(PCSR_WAIT);
56 NTSTATUS STDCALL CsrDestroyProcess(PCSR_PROCESS);
57 NTSTATUS STDCALL CsrDestroySession (PCSR_SESSION);
58 NTSTATUS STDCALL CsrDestroyThread(PCSR_THREAD);
59 NTSTATUS STDCALL CsrExecServerThread();
60 NTSTATUS STDCALL CsrGetProcessLuid(PCSR_PROCESS,PLUID);
61 NTSTATUS STDCALL CsrImpersonateClient();
62 NTSTATUS STDCALL CsrLockProcessByClientId();
63 NTSTATUS STDCALL CsrLockThreadByClientId();
64 NTSTATUS STDCALL CsrMoveSatisfiedWait(PCSR_WAIT);
65 NTSTATUS STDCALL CsrNotifyWait(PCSR_WAIT);
66 HANDLE STDCALL CsrQueryApiPort(VOID);
67 NTSTATUS STDCALL CsrReferenceThread(PCSR_THREAD);
68 NTSTATUS STDCALL CsrRevertToSelf();
69 NTSTATUS STDCALL CsrServerInitialization(ULONG,LPWSTR*);
70 NTSTATUS STDCALL CsrSetBackgroundPriority();
71 NTSTATUS STDCALL CsrSetCallingSpooler();
72 NTSTATUS STDCALL CsrSetForegroundPriority();
73 NTSTATUS STDCALL CsrShutdownProcesses(PCSR_SESSION);
74 NTSTATUS STDCALL CsrUnhandledExceptionFilter();
75 NTSTATUS STDCALL CsrUnlockProcess(PCSR_PROCESS);
76 NTSTATUS STDCALL CsrUnlockThread(PCSR_THREAD);
77 NTSTATUS STDCALL CsrValidateMessageBuffer();
78 NTSTATUS STDCALL CsrValidateMessageString();
79
80 #endif /* ndef __INCLUDE_CSR_SERVER_H */