Make sure to actually include symbols that are needed! Thanks to Usurp.
[reactos.git] / reactos / subsys / smss / smss.h
1 #ifndef _SMSS_H_INCLUDED_
2 #define _SMSS_H_INCLUDED_
3
4 #define NTOS_MODE_USER
5 #include <ntos.h>
6 #include <sm/api.h>
7 #include <sm/helper.h>
8
9 #define CHILD_CSRSS 0
10 #define CHILD_WINLOGON 1
11
12 /* init.c */
13 NTSTATUS InitSessionManager(VOID);
14
15 /* initheap.c */
16 extern HANDLE SmpHeap;
17 NTSTATUS SmCreateHeap(VOID);
18
19 /* initenv.c */
20 extern PWSTR SmSystemEnvironment;
21 NTSTATUS SmCreateEnvironment(VOID);
22 NTSTATUS SmSetEnvironmentVariables(VOID);
23 NTSTATUS SmUpdateEnvironment(VOID);
24
25 /* initobdir.c */
26 NTSTATUS SmCreateObjectDirectories(VOID);
27
28 /* initdosdev.c */
29 NTSTATUS SmInitDosDevices(VOID);
30
31 /* initrun.c */
32 extern HANDLE Children[2];
33 NTSTATUS SmRunBootApplications(VOID);
34
35 /* initmv.c */
36 NTSTATUS SmProcessFileRenameList(VOID);
37
38 /* initwkdll.c */
39 NTSTATUS SmLoadKnownDlls(VOID);
40
41 /* initpage.c */
42 NTSTATUS SmCreatePagingFiles(VOID);
43
44 /* initreg.c */
45 NTSTATUS SmInitializeRegistry(VOID);
46
47 /* initss.c */
48 NTSTATUS SmLoadSubsystems(VOID);
49 NTSTATUS SmRunCsrss(VOID);
50 NTSTATUS SmRunWinlogon(VOID);
51
52 /* smapi.c */
53 #define SMAPI(n) \
54 NTSTATUS FASTCALL n (PSM_PORT_MESSAGE Request)
55
56 /* smapiexec.c */
57 NTSTATUS STDCALL SmCreateUserProcess(LPWSTR ImagePath,
58 LPWSTR CommandLine,
59 BOOLEAN WaitForIt,
60 PLARGE_INTEGER Timeout OPTIONAL,
61 BOOLEAN TerminateIt,
62 PRTL_PROCESS_INFO ProcessInfo OPTIONAL);
63 NTSTATUS FASTCALL SmExecPgm(PSM_PORT_MESSAGE);
64
65 /* smapicomp.c */
66 NTSTATUS FASTCALL SmCompSes(PSM_PORT_MESSAGE);
67
68 NTSTATUS SmCreateApiPort(VOID);
69 VOID STDCALL SmpApiThread(PVOID);
70
71 /* client.c */
72 typedef struct _SM_CLIENT_DATA
73 {
74 USHORT SubsystemId;
75 BOOL Initialized;
76 HANDLE ServerProcess;
77 HANDLE ApiPort;
78 HANDLE ApiPortThread;
79 HANDLE SbApiPort;
80 WCHAR SbApiPortName [SM_SB_NAME_MAX_LENGTH];
81 struct _SM_CLIENT_DATA * Next;
82
83 } SM_CLIENT_DATA, *PSM_CLIENT_DATA;
84 NTSTATUS SmInitializeClientManagement(VOID);
85 NTSTATUS SmpRegisterSmss(VOID);
86 NTSTATUS STDCALL SmCreateClient(PSM_PORT_MESSAGE,PSM_CLIENT_DATA*);
87 NTSTATUS STDCALL SmDestroyClient(ULONG);
88
89 /* debug.c */
90 extern HANDLE DbgSsApiPort;
91 extern HANDLE DbgUiApiPort;
92 NTSTATUS SmInitializeDbgSs(VOID);
93
94 /* print.c */
95 VOID STDCALL DisplayString(LPCWSTR lpwString);
96 VOID STDCALL PrintString (char* fmt, ...);
97
98 #endif /* _SMSS_H_INCLUDED_ */
99
100 /* EOF */
101