ReactOS  0.4.14-dev-323-g6fe6a88
cctypes.h
Go to the documentation of this file.
1 /*++ NDK Version: 0098
2 
3 Copyright (c) Alex Ionescu. All rights reserved.
4 
5 Header Name:
6 
7  cctypes.h
8 
9 Abstract:
10 
11  Type definitions for the Cache Controller.
12 
13 Author:
14 
15  Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16 
17 --*/
18 
19 #ifndef _CCTYPES_H
20 #define _CCTYPES_H
21 
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26 
27 #ifndef NTOS_MODE_USER
28 
29 //
30 // Kernel Exported CcData
31 //
37 
38 //
39 // Virtual Address Control BLock
40 //
41 typedef struct _VACB
42 {
44  struct _SHARED_CACHE_MAP *SharedCacheMap;
45  union
46  {
49  } Overlay;
51 } VACB, *PVACB;
52 
53 //
54 // Private Cache Map Structure and Flags
55 //
57 {
63 
64 #define PRIVATE_CACHE_MAP_READ_AHEAD_ACTIVE (1 << 16)
65 #define PRIVATE_CACHE_MAP_READ_AHEAD_ENABLED (1 << 17)
66 
67 typedef struct _PRIVATE_CACHE_MAP
68 {
69  union
70  {
74  };
87 
88 typedef struct _BITMAP_RANGE
89 {
97 
98 typedef struct _MBCB
99 {
110 } MBCB, *PMBCB;
111 
112 #ifdef _NTIFS_INCLUDED_
113 
114 //
115 // Shared Cache Map
116 //
117 typedef struct _SHARED_CACHE_MAP
118 {
119  CSHORT NodeTypeCode;
120  CSHORT NodeByteSize;
123  LIST_ENTRY BcbList;
124  LARGE_INTEGER SectionSize;
125  LARGE_INTEGER ValidDataLength;
126  LARGE_INTEGER ValidDataGoal;
127  PVACB InitialVacbs[4];
128  PVACB *Vacbs;
130  PVACB ActiveVacb;
131  PVOID NeedToZero;
132  ULONG ActivePage;
133  ULONG NeedToZeroPage;
134  KSPIN_LOCK ActiveVacbSpinLock;
135  ULONG VacbActiveCount;
136  ULONG DirtyPages;
137  LIST_ENTRY SharedCacheMapLinks;
138  ULONG Flags;
139  LONG Status;
140  PMBCB Mbcb;
141  PVOID Section;
143  PKEVENT WaitOnActiveCount;
144  ULONG PagesToWrite;
145  LONGLONG BeyondLastFlush;
147  PVOID LazyWriteContext;
148  LIST_ENTRY PrivateList;
150  PFLUSH_TO_LSN FlushToLsnRoutine;
151  ULONG DirtyPageThreshold;
152  ULONG LazyWritePassCount;
153  PCACHE_UNINITIALIZE_EVENT UninitializeEvent;
154  PVACB NeedToZeroVacb;
155  KSPIN_LOCK BcbSpinLock;
156  PVOID Reserved;
157  KEVENT Event;
158  EX_PUSH_LOCK VacbPushLock;
159  PRIVATE_CACHE_MAP PrivateCacheMap;
160 } SHARED_CACHE_MAP, *PSHARED_CACHE_MAP;
161 
162 #endif /* _NTIFS_INCLUDED_ */
163 
164 //
165 // Deferred Write list entry
166 //
167 typedef struct _DEFERRED_WRITE
168 {
180 
181 #endif /* NTOS_MODE_USER */
182 #endif /* _CCTYPES_H */
183 
#define CreateEvent
Definition: winbase.h:3572
VOID(NTAPI * PFLUSH_TO_LSN)(_In_ PVOID LogHandle, _In_ LARGE_INTEGER Lsn)
Definition: cctypes.h:61
BOOLEAN LimitModifiedPages
Definition: cctypes.h:178
CSHORT NodeByteSize
Definition: cctypes.h:170
struct _DEFERRED_WRITE * PDEFERRED_WRITE
BITMAP_RANGE BitmapRange2
Definition: cctypes.h:108
struct _PRIVATE_CACHE_MAP_FLAGS PRIVATE_CACHE_MAP_FLAGS
ULONG LastDirtyPage
Definition: cctypes.h:93
LARGE_INTEGER BeyondLastByte2
Definition: cctypes.h:80
CSHORT NodeTypeCode
Definition: cctypes.h:169
LIST_ENTRY LruList
Definition: cctypes.h:50
BITMAP_RANGE BitmapRange1
Definition: cctypes.h:107
PVOID ReadAheadWorkItem
Definition: cctypes.h:85
CSHORT NodeTypeCode
Definition: cctypes.h:100
Definition: cctypes.h:98
ULONG NTSYSAPI CcFastMdlReadNotPossible
Definition: copysup.c:20
#define NTSYSAPI
Definition: ntoskrnl.h:14
ULONG ReadAheadMask
Definition: cctypes.h:75
CSHORT NodeIsInZone
Definition: cctypes.h:101
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
ULONG PagesToWrite
Definition: cctypes.h:102
VOID(NTAPI * PCC_POST_DEFERRED_WRITE)(_In_ PVOID Context1, _In_ PVOID Context2)
Definition: cctypes.h:66
long LONG
Definition: pedump.c:60
PVOID BaseAddress
Definition: cctypes.h:43
BITMAP_RANGE BitmapRange3
Definition: cctypes.h:109
LIST_ENTRY BitmapRanges
Definition: cctypes.h:105
_In_ PVOID _In_ ULONG Event
Definition: iotypes.h:435
ULONG DirtyPages
Definition: cctypes.h:103
LARGE_INTEGER BeyondLastByte1
Definition: cctypes.h:78
unsigned char BOOLEAN
ULONG NTSYSAPI CcFastReadNotPossible
Definition: copysup.c:21
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
struct _BITMAP_RANGE BITMAP_RANGE
_Inout_ PFILE_OBJECT FileObject
Definition: cdprocs.h:593
KSPIN_LOCK ReadAheadSpinLock
Definition: cctypes.h:83
int64_t LONGLONG
Definition: typedefs.h:66
ULONG NTSYSAPI CcFastReadNoWait
Definition: copysup.c:23
struct _MBCB * PMBCB
ULONG NTSYSAPI CcFastReadWait
Definition: copysup.c:22
const struct winhelp_callbacks Callbacks
Definition: callback.c:161
LIST_ENTRY DeferredWriteLinks
Definition: cctypes.h:173
LIST_ENTRY PrivateLinks
Definition: cctypes.h:84
struct _DEFERRED_WRITE DEFERRED_WRITE
struct _VACB * PVACB
ULONG Reserved
Definition: cctypes.h:104
ULONG FirstDirtyPage
Definition: cctypes.h:92
* PFILE_OBJECT
Definition: iotypes.h:1955
struct _PRIVATE_CACHE_MAP * PPRIVATE_CACHE_MAP
USHORT ActiveCount
Definition: cctypes.h:48
struct _MBCB MBCB
LARGE_INTEGER FileOffset1
Definition: cctypes.h:77
_Must_inspect_result_ _Out_ PLARGE_INTEGER FileSize
Definition: fsrtlfuncs.h:108
Definition: typedefs.h:117
PRIVATE_CACHE_MAP_FLAGS Flags
Definition: cctypes.h:72
LARGE_INTEGER FileOffset
Definition: cctypes.h:47
PFILE_OBJECT FileObject
Definition: cctypes.h:76
LONGLONG ResumeWritePage
Definition: cctypes.h:106
Status
Definition: gdiplustypes.h:24
PFILE_OBJECT FileObject
Definition: cctypes.h:171
struct _BITMAP_RANGE * PBITMAP_RANGE
PVOID Context1
Definition: cctypes.h:176
LIST_ENTRY Links
Definition: cctypes.h:90
union _VACB::@2295 Overlay
LARGE_INTEGER ReadAheadOffset[2]
Definition: cctypes.h:81
unsigned short USHORT
Definition: pedump.c:61
LONGLONG BasePage
Definition: cctypes.h:91
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
unsigned int * PULONG
Definition: retypes.h:1
PCC_POST_DEFERRED_WRITE PostRoutine
Definition: cctypes.h:175
DWORD OpenCount
Definition: legacy.c:25
struct _PRIVATE_CACHE_MAP PRIVATE_CACHE_MAP
PULONG Bitmap
Definition: cctypes.h:95
struct _VACB VACB
LARGE_INTEGER FileOffset2
Definition: cctypes.h:79
ULONG NTSYSAPI CcFastReadResourceMiss
Definition: copysup.c:24
unsigned int ULONG
Definition: retypes.h:1
ULONG BytesToWrite
Definition: cctypes.h:172
CSHORT NodeTypeCode
Definition: cctypes.h:71
_In_ UINT _Out_ PNDIS_HANDLE LogHandle
Definition: ndis.h:5381
ULONG DirtyPages
Definition: cctypes.h:94
ULONG UlongFlags
Definition: cctypes.h:73
short CSHORT
Definition: umtypes.h:127
PKEVENT Event
Definition: cctypes.h:174
struct _SHARED_CACHE_MAP * SharedCacheMap
Definition: cctypes.h:44
PVOID Context2
Definition: cctypes.h:177
Definition: cctypes.h:41
ULONG ReadAheadLength[2]
Definition: cctypes.h:82