[SERVICES]
[reactos.git] / reactos / base / system / services / services.h
index 9bfb452..811aa00 100644 (file)
@@ -42,7 +42,6 @@ typedef struct _SERVICE
     DWORD dwResumeCount;
     DWORD dwRefCount;
 
-    CLIENT_HANDLE hClient;
     SERVICE_STATUS Status;
     DWORD dwStartType;
     DWORD dwErrorControl;
@@ -77,7 +76,7 @@ DWORD ScmOpenServiceKey(LPWSTR lpServiceName,
                         REGSAM samDesired,
                         PHKEY phKey);
 
-DWORD ScmCreateServiceKey(LPWSTR lpServiceName,
+DWORD ScmCreateServiceKey(LPCWSTR lpServiceName,
                           REGSAM samDesired,
                           PHKEY phKey);
 
@@ -92,6 +91,11 @@ DWORD ScmReadString(HKEY hServiceKey,
                     LPWSTR lpValueName,
                     LPWSTR *lpValue);
 
+DWORD
+ScmReadDependencies(HKEY hServiceKey,
+                    LPWSTR *lpDependencies,
+                    DWORD *lpdwDependenciesLength);
+
 
 /* database.c */
 
@@ -104,11 +108,10 @@ DWORD ScmStartService(PSERVICE Service,
                       DWORD argc,
                       LPWSTR *argv);
 
-PSERVICE ScmGetServiceEntryByName(LPWSTR lpServiceName);
-PSERVICE ScmGetServiceEntryByDisplayName(LPWSTR lpDisplayName);
+PSERVICE ScmGetServiceEntryByName(LPCWSTR lpServiceName);
+PSERVICE ScmGetServiceEntryByDisplayName(LPCWSTR lpDisplayName);
 PSERVICE ScmGetServiceEntryByResumeCount(DWORD dwResumeCount);
-PSERVICE ScmGetServiceEntryByClientHandle(ULONG ThreadId);
-DWORD ScmCreateNewServiceRecord(LPWSTR lpServiceName,
+DWORD ScmCreateNewServiceRecord(LPCWSTR lpServiceName,
                                 PSERVICE *lpServiceRecord);
 VOID ScmDeleteServiceRecord(PSERVICE lpService);
 DWORD ScmMarkServiceForDelete(PSERVICE pService);
@@ -117,6 +120,11 @@ DWORD ScmControlService(PSERVICE Service,
                         DWORD dwControl,
                         LPSERVICE_STATUS lpServiceStatus);
 
+BOOL ScmLockDatabaseExclusive(VOID);
+BOOL ScmLockDatabaseShared(VOID);
+VOID ScmUnlockDatabase(VOID);
+
+
 /* driver.c */
 
 DWORD ScmLoadDriver(PSERVICE lpService);
@@ -130,7 +138,7 @@ DWORD ScmControlDriver(PSERVICE lpService,
 
 DWORD ScmCreateGroupList(VOID);
 DWORD ScmSetServiceGroup(PSERVICE lpService,
-                         LPWSTR lpGroupName);
+                         LPCWSTR lpGroupName);
 
 
 /* rpcserver.c */