c11a017397adf4fc60ca078a2fad2485528d52a9
[reactos.git] / reactos / subsys / system / services / services.h
1 #include <windows.h>
2 #define NTOS_MODE_USER
3 #include <ndk/ntndk.h>
4
5 /*
6 * services.h
7 */
8
9 typedef struct _SERVICE
10 {
11 LIST_ENTRY ServiceListEntry;
12 UNICODE_STRING ServiceName;
13 UNICODE_STRING RegistryPath;
14 UNICODE_STRING ServiceGroup;
15
16 ULONG Start;
17 ULONG Type;
18 ULONG ErrorControl;
19 ULONG Tag;
20
21 ULONG CurrentState;
22 ULONG ControlsAccepted;
23 ULONG Win32ExitCode;
24 ULONG ServiceSpecificExitCode;
25 ULONG CheckPoint;
26 ULONG WaitHint;
27
28 BOOLEAN ServiceVisited;
29
30 HANDLE ControlPipeHandle;
31 ULONG ProcessId;
32 ULONG ThreadId;
33 } SERVICE, *PSERVICE;
34
35
36 /* services.c */
37
38 VOID PrintString(LPCSTR fmt, ...);
39
40
41 /* database.c */
42
43 NTSTATUS ScmCreateServiceDataBase(VOID);
44 VOID ScmGetBootAndSystemDriverState(VOID);
45 VOID ScmAutoStartServices(VOID);
46
47 PSERVICE
48 ScmGetServiceEntryByName(PUNICODE_STRING ServiceName);
49
50
51 /* rpcserver.c */
52
53 VOID ScmStartRpcServer(VOID);
54
55
56 /* EOF */
57