- Update to r53061
[reactos.git] / base / system / services / services.h
index 673edbf..dc9c609 100644 (file)
@@ -5,6 +5,7 @@
 #include <stdio.h>
 #define WIN32_NO_STATUS
 #include <windows.h>
+#include <netevent.h>
 #define NTOS_MODE_USER
 #include <ndk/ntndk.h>
 #include <services/services.h>
@@ -26,8 +27,14 @@ typedef struct _SERVICE_GROUP
 
 typedef struct _SERVICE_IMAGE
 {
-    DWORD dwServiceRefCount;  // Number of running services of this image
-    DWORD Dummy;
+    LIST_ENTRY ImageListEntry;
+    DWORD dwImageRunCount;
+
+    HANDLE hControlPipe;
+    HANDLE hProcess;
+    DWORD dwProcessId;
+
+    WCHAR szImagePath[1];
 } SERVICE_IMAGE, *PSERVICE_IMAGE;
 
 
@@ -53,10 +60,6 @@ typedef struct _SERVICE
 
     BOOLEAN ServiceVisited;
 
-    HANDLE ControlPipeHandle;
-    ULONG ProcessId;
-    ULONG ThreadId;
-
     WCHAR szServiceName[1];
 } SERVICE, *PSERVICE;
 
@@ -65,6 +68,7 @@ typedef struct _SERVICE
 
 extern LIST_ENTRY ServiceListHead;
 extern LIST_ENTRY GroupListHead;
+extern LIST_ENTRY ImageListHead;
 extern BOOL ScmShutdown;
 
 
@@ -151,6 +155,9 @@ VOID ScmStartRpcServer(VOID);
 /* services.c */
 
 VOID PrintString(LPCSTR fmt, ...);
+VOID ScmLogError(DWORD dwEventId,
+                 WORD wStrings,
+                 LPCWSTR *lpStrings);
 
 /* EOF */