ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

cctypes.h
Go to the documentation of this file.
00001 /*++ NDK Version: 0098
00002 
00003 Copyright (c) Alex Ionescu.  All rights reserved.
00004 
00005 Header Name:
00006 
00007     cctypes.h
00008 
00009 Abstract:
00010 
00011     Type definitions for the Cache Controller.
00012 
00013 Author:
00014 
00015     Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
00016 
00017 --*/
00018 
00019 #ifndef _CCTYPES_H
00020 #define _CCTYPES_H
00021 
00022 //
00023 // Dependencies
00024 //
00025 #include <umtypes.h>
00026 
00027 #ifndef NTOS_MODE_USER
00028 
00029 //
00030 // Kernel Exported CcData
00031 //
00032 extern ULONG NTSYSAPI CcFastReadNotPossible;
00033 extern ULONG NTSYSAPI CcFastReadWait;
00034 extern ULONG NTSYSAPI CcFastReadResourceMiss;
00035 extern ULONG NTSYSAPI CcFastReadNoWait;
00036 extern ULONG NTSYSAPI CcFastMdlReadNotPossible;
00037 
00038 //
00039 // Virtual Address Control BLock
00040 //
00041 typedef struct _VACB
00042 {
00043     PVOID BaseAddress;
00044     struct _SHARED_CACHE_MAP *SharedCacheMap;
00045     union
00046     {
00047         LARGE_INTEGER FileOffset;
00048         USHORT ActiveCount;
00049     } Overlay;
00050     LIST_ENTRY LruList;
00051 } VACB, *PVACB;
00052 
00053 //
00054 // Private Cache Map Structure and Flags
00055 //
00056 typedef struct _PRIVATE_CACHE_MAP_FLAGS
00057 {
00058     ULONG DontUse:16;
00059     ULONG ReadAheadActive:1;
00060     ULONG ReadAheadEnabled:1;
00061     ULONG Available:14;
00062 } PRIVATE_CACHE_MAP_FLAGS;
00063 
00064 typedef struct _PRIVATE_CACHE_MAP
00065 {
00066     union
00067     {
00068         CSHORT NodeTypeCode;
00069         PRIVATE_CACHE_MAP_FLAGS Flags;
00070         ULONG UlongFlags;
00071     };
00072     ULONG ReadAheadMask;
00073     PFILE_OBJECT FileObject;
00074     LARGE_INTEGER FileOffset1;
00075     LARGE_INTEGER BeyondLastByte1;
00076     LARGE_INTEGER FileOffset2;
00077     LARGE_INTEGER BeyondLastByte2;
00078     LARGE_INTEGER ReadAheadOffset[2];
00079     ULONG ReadAheadLength[2];
00080     KSPIN_LOCK ReadAheadSpinLock;
00081     LIST_ENTRY PrivateLinks;
00082 } PRIVATE_CACHE_MAP, *PPRIVATE_CACHE_MAP;
00083 
00084 #ifdef _NTIFS_INCLUDED_
00085 
00086 //
00087 // Shared Cache Map
00088 //
00089 typedef struct _SHARED_CACHE_MAP
00090 {
00091     SHORT NodeTypeCode;
00092     SHORT NodeByteSize;
00093     ULONG OpenCount;
00094     LARGE_INTEGER FileSize;
00095     LIST_ENTRY BcbList;
00096     LARGE_INTEGER SectionSize;
00097     LARGE_INTEGER ValidDataLength;
00098     LARGE_INTEGER ValidDataGoal;
00099     PVACB InitialVacbs[4];
00100     PVACB *Vacbs;
00101     PFILE_OBJECT FileObject;
00102     PVACB ActiveVacb;
00103     PVOID NeedToZero;
00104     ULONG ActivePage;
00105     ULONG NeedToZeroPage;
00106     ULONG ActiveVacbSpinLock;
00107     ULONG VacbActiveCount;
00108     ULONG DirtyPages;
00109     LIST_ENTRY SharedCacheMapLinks;
00110     ULONG Flags;
00111     ULONG Status;
00112     PMBCB Mbcb;
00113     PVOID Section;
00114     PKEVENT CreateEvent;
00115     PKEVENT WaitOnActiveCount;
00116     ULONG PagesToWrite;
00117     LONGLONG BeyondLastFlush;
00118     PCACHE_MANAGER_CALLBACKS Callbacks;
00119     PVOID LazyWriteContext;
00120     LIST_ENTRY PrivateList;
00121     PVOID LogHandle;
00122     PVOID FlushToLsnRoutine;
00123     ULONG DirtyPageThreshold;
00124     ULONG LazyWritePassCount;
00125     PCACHE_UNINITIALIZE_EVENT UninitializeEvent;
00126     PVACB NeedToZeroVacb;
00127     ULONG BcbSpinLock;
00128     PVOID Reserved;
00129     KEVENT Event;
00130     EX_PUSH_LOCK VacbPushLock;
00131     PRIVATE_CACHE_MAP PrivateCacheMap;
00132 } SHARED_CACHE_MAP, *PSHARED_CACHE_MAP;
00133 
00134 #endif /* _NTIFS_INCLUDED_  */
00135 #endif /* NTOS_MODE_USER    */
00136 #endif /* _CCTYPES_H        */
00137 

Generated on Sun May 27 2012 04:30:48 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.