First shot at CreateServiceW. It crashes due to a bug (aka missing feature) in widl...
[reactos.git] / reactos / subsys / system / services / services.h
1 /*
2 * services.h
3 */
4
5 #include <stdio.h>
6 #include <windows.h>
7 #define NTOS_MODE_USER
8 #include <ndk/ntndk.h>
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 ScmGetServiceEntryByName(PUNICODE_STRING ServiceName);
49 DWORD ScmMarkServiceForDelete(PSERVICE pService);
50
51
52 /* rpcserver.c */
53
54 VOID ScmStartRpcServer(VOID);
55
56
57 /* EOF */
58