added stubs for the Cache Manager by Alex Ionescu.
authorSteven Edwards <winehacker@gmail.com>
Sat, 19 Jun 2004 05:04:33 +0000 (05:04 +0000)
committerSteven Edwards <winehacker@gmail.com>
Sat, 19 Jun 2004 05:04:33 +0000 (05:04 +0000)
svn path=/trunk/; revision=9719

reactos/include/ddk/ccfuncs.h
reactos/ntoskrnl/cc/copy.c
reactos/ntoskrnl/ntoskrnl.edf

index fc17958..3b624d9 100644 (file)
@@ -1,14 +1,14 @@
 
 #ifndef _NTOS_CCFUNCS_H
 #define _NTOS_CCFUNCS_H
-/* $Id: ccfuncs.h,v 1.8 2002/09/08 10:47:43 chorns Exp $ */
+/* $Id: ccfuncs.h,v 1.9 2004/06/19 05:04:08 sedwards Exp $ */
 
 /* exported variables */
-/*
-CcFastMdlReadWait
-CcFastReadNotPossible
-CcFastReadWait
-*/
+/* these should be in the KPCR */
+
+extern ULONG CcFastMdlReadWait;
+extern ULONG CcFastReadNotPossible;
+extern ULONG CcFastReadWait;
 
 BOOLEAN
 STDCALL
@@ -101,6 +101,13 @@ CcGetFileObjectFromSectionPtrs (
        IN      PSECTION_OBJECT_POINTERS        SectionObjectPointer
        );
 
+LARGE_INTEGER
+STDCALL
+CcGetFlushedValidData (
+    IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
+    IN BOOLEAN BcbListHeld
+    );
+
 LARGE_INTEGER
 STDCALL
 CcGetLsnForFileObject (
@@ -152,6 +159,13 @@ CcMdlReadComplete (
        IN      PMDL            MdlChain
        );
 
+VOID
+STDCALL
+CcMdlWriteAbort (
+    IN PFILE_OBJECT FileObject,
+    IN PMDL MdlChain
+    );
+
 VOID
 STDCALL
 CcMdlWriteComplete (
@@ -226,6 +240,12 @@ CcRepinBcb (
        IN      PVOID   Bcb
        );
 
+VOID
+STDCALL
+CcRemapBcb (
+    IN PVOID Bcb
+    );
+
 VOID
 STDCALL
 CcScheduleReadAhead (
@@ -314,6 +334,12 @@ CcUnpinRepinnedBcb (
        IN      PIO_STATUS_BLOCK        IoStatus
        );
 
+NTSTATUS
+STDCALL
+CcWaitForCurrentLazyWriterActivity (
+    VOID
+    );
+
 BOOLEAN
 STDCALL
 CcZeroData (
index e91f47b..0327a61 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: copy.c,v 1.23 2004/06/06 08:36:30 hbirr Exp $
+/* $Id: copy.c,v 1.24 2004/06/19 05:04:33 sedwards Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -43,6 +43,10 @@ void* _alloca(size_t size);
 #error Unknown compiler for alloca intrinsic stack allocation "function"
 #endif
 
+ULONG EXPORTED CcFastMdlReadWait;
+ULONG EXPORTED CcFastReadNotPossible;
+ULONG EXPORTED CcFastReadWait;
+
 /* FUNCTIONS *****************************************************************/
 
 VOID 
@@ -280,6 +284,459 @@ WriteCacheSegment(PCACHE_SEGMENT CacheSeg)
   return(STATUS_SUCCESS);
 }
 
+/* STUBS */
+
+/*
+ * @unimplemented
+ */
+BOOLEAN STDCALL
+CcCanIWrite (
+                       IN      PFILE_OBJECT    FileObject,
+                       IN      ULONG                   BytesToWrite,
+                       IN      BOOLEAN                 Wait,
+                       IN      BOOLEAN                 Retrying)
+{
+       UNIMPLEMENTED;
+       return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcDeferWrite (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PCC_POST_DEFERRED_WRITE PostRoutine,
+       IN      PVOID                   Context1,
+       IN      PVOID                   Context2,
+       IN      ULONG                   BytesToWrite,
+       IN      BOOLEAN                 Retrying
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+CcFastCopyRead (
+       IN      PFILE_OBJECT            FileObject,
+       IN      ULONG                   FileOffset,
+       IN      ULONG                   Length,
+       IN      ULONG                   PageCount,
+       OUT     PVOID                   Buffer,
+       OUT     PIO_STATUS_BLOCK        IoStatus
+       )
+{
+       UNIMPLEMENTED;
+       return FALSE;
+}
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+CcFastCopyWrite (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      PVOID                   Buffer
+       )
+{
+       UNIMPLEMENTED;
+       return FALSE;
+}
+/*
+ * @unimplemented
+ */
+LARGE_INTEGER
+STDCALL
+CcGetDirtyPages (
+       IN      PVOID                   LogHandle,
+       IN      PDIRTY_PAGE_ROUTINE     DirtyPageRoutine,
+       IN      PVOID                   Context1,
+       IN      PVOID                   Context2
+       )
+{
+       UNIMPLEMENTED;
+
+       LARGE_INTEGER i; 
+       i.QuadPart = 0;
+       return i;
+}
+/*
+ * @unimplemented
+ */
+PFILE_OBJECT
+STDCALL
+CcGetFileObjectFromBcb (
+       IN      PVOID   Bcb
+       )
+{
+       UNIMPLEMENTED;
+       return 0;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcInitializeCacheMap (
+       IN      PFILE_OBJECT                    FileObject,
+       IN      PCC_FILE_SIZES                  FileSizes,
+       IN      BOOLEAN                         PinAccess,
+       IN      PCACHE_MANAGER_CALLBACKS        CallBacks,
+       IN      PVOID                           LazyWriterContext
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+CcIsThereDirtyData (
+       IN      PVPB    Vpb
+       )
+{
+       UNIMPLEMENTED;
+       return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+LARGE_INTEGER
+STDCALL
+CcGetLsnForFileObject (
+       IN      PFILE_OBJECT    FileObject,
+       OUT     PLARGE_INTEGER  OldestLsn OPTIONAL
+       )
+{
+       UNIMPLEMENTED;
+
+       LARGE_INTEGER i; 
+       i.QuadPart = 0;
+       return i;
+}
+
+/*
+ * @unimplemented
+ */
+LARGE_INTEGER
+STDCALL
+CcGetFlushedValidData (
+    IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
+    IN BOOLEAN BcbListHeld
+    )
+{
+       UNIMPLEMENTED;
+
+       LARGE_INTEGER i; 
+       i.QuadPart = 0;
+       return i;
+}
+
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcMdlRead (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       OUT     PMDL                    * MdlChain,
+       OUT     PIO_STATUS_BLOCK        IoStatus
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcMdlWriteComplete (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      PMDL                    MdlChain
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcMdlWriteAbort (
+    IN PFILE_OBJECT FileObject,
+    IN PMDL MdlChain
+    )
+{
+       UNIMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+CcPinMappedData (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      BOOLEAN                 Wait,
+       OUT     PVOID                   * Bcb
+       )
+{
+       UNIMPLEMENTED;
+       return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+CcPinRead (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      BOOLEAN                 Wait,
+       OUT     PVOID                   * Bcb,
+       OUT     PVOID                   * Buffer
+       )
+{
+       UNIMPLEMENTED;
+       return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcPrepareMdlWrite (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       OUT     PMDL                    * MdlChain,
+       OUT     PIO_STATUS_BLOCK        IoStatus
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+CcPreparePinWrite (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      BOOLEAN                 Zero,
+       IN      BOOLEAN                 Wait,
+       OUT     PVOID                   * Bcb,
+       OUT     PVOID                   * Buffer
+       )
+{
+       UNIMPLEMENTED;
+       return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+CcPurgeCacheSection (
+       IN      PSECTION_OBJECT_POINTERS        SectionObjectPointer,
+       IN      PLARGE_INTEGER                  FileOffset OPTIONAL,
+       IN      ULONG                           Length,
+       IN      BOOLEAN                         UninitializeCacheMaps
+       )
+{
+       UNIMPLEMENTED;
+       return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcRepinBcb (
+       IN      PVOID   Bcb
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcRemapBcb (
+    IN PVOID Bcb
+    )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcScheduleReadAhead (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcSetAdditionalCacheAttributes (
+       IN      PFILE_OBJECT    FileObject,
+       IN      BOOLEAN         DisableReadAhead,
+       IN      BOOLEAN         DisableWriteBehind
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcSetBcbOwnerPointer (
+       IN      PVOID   Bcb,
+       IN      PVOID   Owner
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcSetDirtyPageThreshold (
+       IN      PFILE_OBJECT    FileObject,
+       IN      ULONG           DirtyPageThreshold
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcSetLogHandleForFile (
+       IN      PFILE_OBJECT    FileObject,
+       IN      PVOID           LogHandle,
+       IN      PFLUSH_TO_LSN   FlushToLsnRoutine
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcSetReadAheadGranularity (
+       IN      PFILE_OBJECT    FileObject,
+       IN      ULONG           Granularity
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+CcUninitializeCacheMap (
+       IN      PFILE_OBJECT                    FileObject,
+       IN      PLARGE_INTEGER                  TruncateSize OPTIONAL,
+       IN      PCACHE_UNINITIALIZE_EVENT       UninitializeCompleteEvent OPTIONAL
+       )
+{
+       UNIMPLEMENTED;
+       return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcUnpinDataForThread (
+       IN      PVOID                   Bcb,
+       IN      ERESOURCE_THREAD        ResourceThreadId
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+CcUnpinRepinnedBcb (
+       IN      PVOID                   Bcb,
+       IN      BOOLEAN                 WriteThrough,
+       IN      PIO_STATUS_BLOCK        IoStatus
+       )
+{
+       UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+STDCALL
+CcWaitForCurrentLazyWriterActivity (
+    VOID
+    )
+{
+       UNIMPLEMENTED;
+       return STATUS_NOT_IMPLEMENTED;
+}
+
+/* STUBS END!!! */
+
 /*
  * @implemented
  */
index e05d684..00bbdce 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: ntoskrnl.edf,v 1.170 2004/06/13 10:35:53 navaraf Exp $
+; $Id: ntoskrnl.edf,v 1.171 2004/06/19 05:04:33 sedwards Exp $
 ;
 ; reactos/ntoskrnl/ntoskrnl.def
 ;
@@ -6,16 +6,50 @@
 ;
 EXPORTS
 CcRosInitializeFileCache=CcRosInitializeFileCache@8
-CcMdlReadComplete=CcMdlReadComplete@8
 CcRosReleaseFileCache=CcRosReleaseFileCache@4
+CcCanIWrite=CcCanIWrite@16
 CcCopyRead=CcCopyRead@24
 CcCopyWrite=CcCopyWrite@20
+CcDeferWrite=CcDeferWrite@24
+CcFastCopyRead=CcFastCopyRead@24
+CcFastCopyWrite=CcFastCopyWrite@16
 CcFlushCache=CcFlushCache@16
+CcGetDirtyPages=CcGetDirtyPages@16
+CcGetFileObjectFromBcb=CcGetFileObjectFromBcb@4
 CcGetFileObjectFromSectionPtrs=CcGetFileObjectFromSectionPtrs@4
+CcGetFlushedValidData=CcGetFlushedValidData@8
+CcGetLsnForFileObject=CcGetLsnForFileObject@8
+CcInitializeCacheMap=CcInitializeCacheMap@20
+CcIsThereDirtyData=CcIsThereDirtyData@4
+CcFastMdlReadWait DATA
+CcFastReadNotPossible DATA
+CcFastReadWait DATA
 CcMapData=CcMapData@24
+CcMdlRead=CcMdlRead@20
+CcMdlReadComplete=CcMdlReadComplete@8
+CcMdlWriteAbort=CcMdlWriteAbort@8
+CcMdlWriteComplete=CcMdlWriteComplete@12
+CcPinMappedData=CcPinMappedData@20
+CcPinRead=CcPinRead@24
+CcPrepareMdlWrite=CcPrepareMdlWrite@20
+CcPreparePinWrite=CcPreparePinWrite@28
+CcPurgeCacheSection=CcPurgeCacheSection@16
+CcRemapBcb=CcRemapBcb@4
+CcRepinBcb=CcRepinBcb@4
+CcScheduleReadAhead=CcScheduleReadAhead@12
+CcSetAdditionalCacheAttributes=CcSetAdditionalCacheAttributes@12
+CcSetBcbOwnerPointer=CcSetBcbOwnerPointer@8
+CcSetDirtyPageThreshold=CcSetDirtyPageThreshold@8
 CcSetDirtyPinnedData=CcSetDirtyPinnedData@8
+CcSetLogHandleForFile=CcSetLogHandleForFile@12
+CcSetReadAheadGranularity=CcSetReadAheadGranularity@8
+CcUninitializeCacheMap=CcUninitializeCacheMap@12
 CcUnpinData=CcUnpinData@4
+CcUnpinDataForThread=CcUnpinDataForThread@8
+CcUnpinRepinnedBcb=CcUnpinRepinnedBcb@12
+CcWaitForCurrentLazyWriterActivity=CcWaitForCurrentLazyWriterActivity@0
 CcSetFileSizes=CcSetFileSizes@8
+CcUnpinData=CcUnpinData@4
 CcZeroData=CcZeroData@16
 DbgBreakPoint=DbgBreakPoint@0
 DbgBreakPointWithStatus=DbgBreakPointWithStatus@4