Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygencctypes.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
1.7.6.1
|