ReactOS 0.4.15-dev-7942-gd23573b
cctypes.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 cctypes.h
8
9Abstract:
10
11 Type definitions for the Cache Controller.
12
13Author:
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//
41typedef struct _VACB
42{
44 struct _SHARED_CACHE_MAP *SharedCacheMap;
45 union
46 {
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
67typedef struct _PRIVATE_CACHE_MAP
68{
69 union
70 {
74 };
87
88typedef struct _BITMAP_RANGE
89{
97
98typedef struct _MBCB
99{
111
112#ifdef _NTIFS_INCLUDED_
113
114//
115// Shared Cache Map
116//
117typedef 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;
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//
167typedef struct _DEFERRED_WRITE
168{
180
181#endif /* NTOS_MODE_USER */
182#endif /* _CCTYPES_H */
183
unsigned char BOOLEAN
const struct winhelp_callbacks Callbacks
Definition: callback.c:161
#define NTSYSAPI
Definition: ntoskrnl.h:12
DWORD OpenCount
Definition: legacy.c:25
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
_Must_inspect_result_ _Out_ PLARGE_INTEGER FileSize
Definition: fsrtlfuncs.h:108
Status
Definition: gdiplustypes.h:25
_In_ UINT _Out_ PNDIS_HANDLE LogHandle
Definition: ndis.h:5382
struct _MBCB MBCB
struct _PRIVATE_CACHE_MAP_FLAGS PRIVATE_CACHE_MAP_FLAGS
struct _MBCB * PMBCB
struct _PRIVATE_CACHE_MAP * PPRIVATE_CACHE_MAP
struct _DEFERRED_WRITE * PDEFERRED_WRITE
struct _VACB VACB
struct _BITMAP_RANGE * PBITMAP_RANGE
struct _BITMAP_RANGE BITMAP_RANGE
ULONG NTSYSAPI CcFastMdlReadNotPossible
Definition: copysup.c:20
ULONG NTSYSAPI CcFastReadNotPossible
Definition: copysup.c:21
ULONG NTSYSAPI CcFastReadNoWait
Definition: copysup.c:23
ULONG NTSYSAPI CcFastReadWait
Definition: copysup.c:22
ULONG NTSYSAPI CcFastReadResourceMiss
Definition: copysup.c:24
struct _DEFERRED_WRITE DEFERRED_WRITE
struct _PRIVATE_CACHE_MAP PRIVATE_CACHE_MAP
struct _VACB * PVACB
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
ULONG FirstDirtyPage
Definition: cctypes.h:92
LIST_ENTRY Links
Definition: cctypes.h:90
ULONG DirtyPages
Definition: cctypes.h:94
LONGLONG BasePage
Definition: cctypes.h:91
PULONG Bitmap
Definition: cctypes.h:95
ULONG LastDirtyPage
Definition: cctypes.h:93
PCC_POST_DEFERRED_WRITE PostRoutine
Definition: cctypes.h:175
PKEVENT Event
Definition: cctypes.h:174
ULONG BytesToWrite
Definition: cctypes.h:172
BOOLEAN LimitModifiedPages
Definition: cctypes.h:178
PVOID Context1
Definition: cctypes.h:176
CSHORT NodeTypeCode
Definition: cctypes.h:169
PFILE_OBJECT FileObject
Definition: cctypes.h:171
PVOID Context2
Definition: cctypes.h:177
CSHORT NodeByteSize
Definition: cctypes.h:170
LIST_ENTRY DeferredWriteLinks
Definition: cctypes.h:173
Definition: typedefs.h:120
Definition: cctypes.h:99
CSHORT NodeTypeCode
Definition: cctypes.h:100
BITMAP_RANGE BitmapRange3
Definition: cctypes.h:109
LIST_ENTRY BitmapRanges
Definition: cctypes.h:105
CSHORT NodeIsInZone
Definition: cctypes.h:101
LONGLONG ResumeWritePage
Definition: cctypes.h:106
BITMAP_RANGE BitmapRange1
Definition: cctypes.h:107
ULONG PagesToWrite
Definition: cctypes.h:102
ULONG DirtyPages
Definition: cctypes.h:103
ULONG Reserved
Definition: cctypes.h:104
BITMAP_RANGE BitmapRange2
Definition: cctypes.h:108
PRIVATE_CACHE_MAP_FLAGS Flags
Definition: cctypes.h:72
LARGE_INTEGER BeyondLastByte1
Definition: cctypes.h:78
LARGE_INTEGER FileOffset2
Definition: cctypes.h:79
LARGE_INTEGER FileOffset1
Definition: cctypes.h:77
PFILE_OBJECT FileObject
Definition: cctypes.h:76
PVOID ReadAheadWorkItem
Definition: cctypes.h:85
ULONG ReadAheadLength[2]
Definition: cctypes.h:82
ULONG ReadAheadMask
Definition: cctypes.h:75
LARGE_INTEGER ReadAheadOffset[2]
Definition: cctypes.h:81
KSPIN_LOCK ReadAheadSpinLock
Definition: cctypes.h:83
CSHORT NodeTypeCode
Definition: cctypes.h:71
ULONG UlongFlags
Definition: cctypes.h:73
LARGE_INTEGER BeyondLastByte2
Definition: cctypes.h:80
LIST_ENTRY PrivateLinks
Definition: cctypes.h:84
Definition: cctypes.h:42
PVOID BaseAddress
Definition: cctypes.h:43
USHORT ActiveCount
Definition: cctypes.h:48
LARGE_INTEGER FileOffset
Definition: cctypes.h:47
LIST_ENTRY LruList
Definition: cctypes.h:50
struct _SHARED_CACHE_MAP * SharedCacheMap
Definition: cctypes.h:44
union _VACB::@2390 Overlay
uint32_t * PULONG
Definition: typedefs.h:59
int64_t LONGLONG
Definition: typedefs.h:68
uint32_t ULONG
Definition: typedefs.h:59
short CSHORT
Definition: umtypes.h:127
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
#define CreateEvent
Definition: winbase.h:3748
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
VOID(NTAPI * PCC_POST_DEFERRED_WRITE)(_In_ PVOID Context1, _In_ PVOID Context2)
Definition: cctypes.h:66
VOID(NTAPI * PFLUSH_TO_LSN)(_In_ PVOID LogHandle, _In_ LARGE_INTEGER Lsn)
Definition: cctypes.h:61
* PFILE_OBJECT
Definition: iotypes.h:1998