- Silence TCPIP.
[reactos.git] / reactos / ntoskrnl / cc / copy.c
index bedb017..163beff 100644 (file)
@@ -16,8 +16,6 @@
 
 /* GLOBALS *******************************************************************/
 
-#define ROUND_DOWN(N, S) ((N) - ((N) % (S)))
-
 static PFN_TYPE CcZeroPage = 0;
 
 #define MAX_ZERO_LENGTH        (256 * 1024)
@@ -31,9 +29,9 @@ void* _alloca(size_t size);
 #error Unknown compiler for alloca intrinsic stack allocation "function"
 #endif
 
-ULONG EXPORTED CcFastMdlReadWait;
-ULONG EXPORTED CcFastReadNotPossible;
-ULONG EXPORTED CcFastReadWait;
+ULONG CcFastMdlReadWait;
+ULONG CcFastReadNotPossible;
+ULONG CcFastReadWait;
 ULONG CcFastReadNoWait;
 ULONG CcFastReadResourceMiss;
 
@@ -41,6 +39,7 @@ ULONG CcFastReadResourceMiss;
 /* FUNCTIONS *****************************************************************/
 
 VOID
+NTAPI
 CcInitCacheZeroPage(VOID)
 {
    NTSTATUS Status;
@@ -60,6 +59,7 @@ CcInitCacheZeroPage(VOID)
 }
 
 NTSTATUS
+NTAPI
 ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length,
                      PVOID Buffer)
 {
@@ -91,15 +91,9 @@ ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length,
        {
          TempLength = min(Bcb->CacheSegmentSize, Length);
          memcpy(Buffer, current->BaseAddress, TempLength);
-#if defined(__GNUC__)
-         Buffer += TempLength;
-#else
-         {
-           char* pTemp = Buffer;
-               pTemp += TempLength;
-               Buffer = pTemp;
-         }
-#endif
+
+         Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength);
+
          Length = Length - TempLength;
          previous = current;
          current = current->NextInChain;
@@ -138,7 +132,7 @@ ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length,
          while (current2 != NULL && !current2->Valid && current_size < MAX_RW_LENGTH)
            {
              PVOID address = current2->BaseAddress;
-             for (i = 0; i < (Bcb->CacheSegmentSize / PAGE_SIZE); i++, address += PAGE_SIZE)
+             for (i = 0; i < (Bcb->CacheSegmentSize / PAGE_SIZE); i++, address = RVA(address, PAGE_SIZE))
                {
                  *MdlPages++ = MmGetPfnForProcess(NULL, address);
                }
@@ -182,15 +176,9 @@ ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length,
              current = current->NextInChain;
              TempLength = min(Bcb->CacheSegmentSize, Length);
              memcpy(Buffer, previous->BaseAddress, TempLength);
-#if defined(__GNUC__)
-             Buffer += TempLength;
-#else
-                 {
-                       char* pTemp = Buffer;
-                       pTemp += TempLength;
-                       Buffer = pTemp;
-                 }
-#endif
+
+             Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength);
+
              Length = Length - TempLength;
              CcRosReleaseCacheSegment(Bcb, previous, TRUE, FALSE, FALSE);
              current_size += Bcb->CacheSegmentSize;
@@ -201,6 +189,7 @@ ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length,
 }
 
 NTSTATUS
+NTAPI
 ReadCacheSegment(PCACHE_SEGMENT CacheSeg)
 {
   ULONG Size;
@@ -242,6 +231,7 @@ ReadCacheSegment(PCACHE_SEGMENT CacheSeg)
 }
 
 NTSTATUS
+NTAPI
 WriteCacheSegment(PCACHE_SEGMENT CacheSeg)
 {
   ULONG Size;
@@ -317,9 +307,9 @@ CcCopyRead (IN PFILE_OBJECT FileObject,
   PLIST_ENTRY current_entry;
   PCACHE_SEGMENT current;
 
-  DPRINT("CcCopyRead(FileObject %x, FileOffset %x, "
-        "Length %d, Wait %d, Buffer %x, IoStatus %x)\n",
-        FileObject, (ULONG)FileOffset->QuadPart, Length, Wait,
+  DPRINT("CcCopyRead(FileObject 0x%p, FileOffset %I64x, "
+        "Length %d, Wait %d, Buffer 0x%p, IoStatus 0x%p)\n",
+        FileObject, FileOffset->QuadPart, Length, Wait,
         Buffer, IoStatus);
 
   Bcb = FileObject->SectionObjectPointer->SharedCacheMap;
@@ -395,15 +385,8 @@ CcCopyRead (IN PFILE_OBJECT FileObject,
       ReadLength += TempLength;
       Length -= TempLength;
       ReadOffset += TempLength;
-#if defined(__GNUC__)
-      Buffer += TempLength;
-#else
-         {
-               char* pTemp = Buffer;
-               pTemp += TempLength;
-               Buffer = pTemp;
-         }
-#endif
+
+      Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength);
     }
   IoStatus->Status = STATUS_SUCCESS;
   IoStatus->Information = ReadLength;
@@ -431,9 +414,9 @@ CcCopyWrite (IN PFILE_OBJECT FileObject,
    PVOID BaseAddress;
    BOOLEAN Valid;
 
-   DPRINT("CcCopyWrite(FileObject %x, FileOffset %x, "
-         "Length %d, Wait %d, Buffer %x)\n",
-          FileObject, (ULONG)FileOffset->QuadPart, Length, Wait, Buffer);
+   DPRINT("CcCopyWrite(FileObject 0x%p, FileOffset %I64x, "
+         "Length %d, Wait %d, Buffer 0x%p)\n",
+          FileObject, FileOffset->QuadPart, Length, Wait, Buffer);
 
    Bcb = FileObject->SectionObjectPointer->SharedCacheMap;
    WriteOffset = (ULONG)FileOffset->QuadPart;
@@ -490,15 +473,8 @@ CcCopyWrite (IN PFILE_OBJECT FileObject,
 
        Length -= TempLength;
        WriteOffset += TempLength;
-#if defined(__GNUC__)
-       Buffer += TempLength;
-#else
-         {
-               char* pTemp = Buffer;
-               pTemp += TempLength;
-               Buffer = pTemp;
-         }
-#endif
+
+       Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength);
      }
 
    while (Length > 0)
@@ -522,15 +498,8 @@ CcCopyWrite (IN PFILE_OBJECT FileObject,
        CcRosReleaseCacheSegment(Bcb, CacheSeg, TRUE, TRUE, FALSE);
        Length -= TempLength;
        WriteOffset += TempLength;
-#if defined(__GNUC__)
-       Buffer += TempLength;
-#else
-         {
-               char* pTemp = Buffer;
-               pTemp += TempLength;
-               Buffer = pTemp;
-         }
-#endif
+
+       Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength);
      }
    return(TRUE);
 }
@@ -613,7 +582,7 @@ CcZeroData (IN PFILE_OBJECT     FileObject,
   IO_STATUS_BLOCK Iosb;
   KEVENT Event;
 
-  DPRINT("CcZeroData(FileObject %x, StartOffset %I64x, EndOffset %I64x, "
+  DPRINT("CcZeroData(FileObject 0x%p, StartOffset %I64x, EndOffset %I64x, "
         "Wait %d)\n", FileObject, StartOffset->QuadPart, EndOffset->QuadPart,
         Wait);