Simplify services.exe.
[reactos.git] / reactos / subsys / system / services / services.h
1 /*
2 * services.h
3 */
4
5 #include <stdio.h>
6 #define WIN32_NO_STATUS
7 #include <windows.h>
8 #define NTOS_MODE_USER
9 #include <ndk/ntndk.h>
10 #include <services/services.h>
11
12 typedef struct _SERVICE
13 {
14 LIST_ENTRY ServiceListEntry;
15 LPWSTR lpServiceName;
16 UNICODE_STRING ServiceGroup;
17
18 SERVICE_STATUS Status;
19 DWORD dwStartType;
20 DWORD dwErrorControl;
21 DWORD dwTag;
22
23 ULONG Flags;
24
25 BOOLEAN ServiceVisited;
26
27 HANDLE ControlPipeHandle;
28 ULONG ProcessId;
29 ULONG ThreadId;
30
31 WCHAR szServiceName[1];
32 } SERVICE, *PSERVICE;
33
34
35 /* services.c */
36
37 VOID PrintString(LPCSTR fmt, ...);
38
39
40 /* database.c */
41
42 NTSTATUS ScmCreateServiceDataBase(VOID);
43 VOID ScmGetBootAndSystemDriverState(VOID);
44 VOID ScmAutoStartServices(VOID);
45
46 PSERVICE ScmGetServiceEntryByName(LPWSTR lpServiceName);
47 DWORD ScmMarkServiceForDelete(PSERVICE pService);
48
49
50 /* rpcserver.c */
51
52 VOID ScmStartRpcServer(VOID);
53
54
55 /* EOF */
56