[NTOSKRNL]
[reactos.git] / reactos / ntoskrnl / include / internal / cm.h
index 537111a..30fa366 100644 (file)
@@ -621,6 +621,24 @@ CmCheckRegistry(
     IN ULONG Flags
 );
 
+//
+// Hive List Routines
+//
+NTSTATUS
+NTAPI
+CmpAddToHiveFileList(
+    IN PCMHIVE Hive
+);
+
+//
+// Quota Routines
+//
+VOID
+NTAPI
+CmpSetGlobalQuotaAllowed(
+    VOID
+);
+
 //
 // Notification Routines
 //
@@ -633,6 +651,13 @@ CmpReportNotify(
     IN ULONG Filter
 );
 
+VOID
+NTAPI
+CmpFlushNotify(
+    IN PCM_KEY_BODY KeyBody,
+    IN BOOLEAN LockHeld
+);
+
 VOID
 NTAPI
 CmpInitCallback(
@@ -822,6 +847,36 @@ CmpUnlockRegistry(
     VOID
 );
 
+VOID
+NTAPI
+CmpLockHiveFlusherExclusive(
+    IN PCMHIVE Hive
+);
+
+VOID
+NTAPI
+CmpLockHiveFlusherShared(
+    IN PCMHIVE Hive
+);
+
+BOOLEAN
+NTAPI
+CmpTestHiveFlusherLockExclusive(
+    IN PCMHIVE Hive
+);
+
+BOOLEAN
+NTAPI
+CmpTestHiveFlusherLockShared(
+    IN PCMHIVE Hive
+);
+
+VOID
+NTAPI
+CmpUnlockHiveFlusher(
+    IN PCMHIVE Hive
+);
+
 //
 // Delay Functions
 //
@@ -978,6 +1033,13 @@ CmpReleaseTwoKcbLockByKey(
     IN ULONG ConvKey2
 );
 
+VOID
+NTAPI
+CmpFlushNotifiesOnKeyBodyList(
+    IN PCM_KEY_CONTROL_BLOCK Kcb,
+    IN BOOLEAN LockHeld
+);
+
 //
 // Name Functions
 //
@@ -1439,6 +1501,13 @@ CmUnloadKey(
     IN ULONG Flags
 );
 
+ULONG
+NTAPI
+CmCountOpenSubKeys(
+    IN PCM_KEY_CONTROL_BLOCK RootKcb,
+    IN BOOLEAN RemoveEmptyCacheEntries
+);
+
 //
 // Startup and Shutdown
 //
@@ -1460,6 +1529,40 @@ CmSetLazyFlushState(
     IN BOOLEAN Enable
 );
 
+//
+// Driver List Routines
+//
+PUNICODE_STRING*
+NTAPI
+CmGetSystemDriverList(
+    VOID
+);
+
+BOOLEAN
+NTAPI
+CmpFindDrivers(
+    IN PHHIVE Hive,
+    IN HCELL_INDEX ControlSet,
+    IN SERVICE_LOAD_TYPE LoadType,
+    IN PWSTR BootFileSystem OPTIONAL,
+    IN PLIST_ENTRY DriverListHead
+);
+
+
+BOOLEAN
+NTAPI
+CmpSortDriverList(
+    IN PHHIVE Hive,
+    IN HCELL_INDEX ControlSet,
+    IN PLIST_ENTRY DriverListHead
+);
+
+BOOLEAN
+NTAPI
+CmpResolveDriverDependencies(
+    IN PLIST_ENTRY DriverListHead
+);
+
 //
 // Global variables accessible from all of Cm
 //
@@ -1507,6 +1610,7 @@ extern ULONG CmpDelayedCloseSize, CmpDelayedCloseIndex;
 extern BOOLEAN CmpNoWrite;
 extern BOOLEAN CmpForceForceFlush;
 extern BOOLEAN CmpWasSetupBoot;
+extern BOOLEAN CmpProfileLoaded;
 extern PCMHIVE CmiVolatileHive;
 extern LIST_ENTRY CmiKeyObjectListHead;
 extern BOOLEAN CmpHoldLazyFlush;