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