[XDK][DDK] Take the gcc path for __assert_annotation{A,W} and __CREATE_NTOS_DATA_IMPO...
[reactos.git] / sdk / include / xdk / cctypes.h
1 $if (_NTIFS_)
2 /* Common Cache Types */
3
4 #define VACB_MAPPING_GRANULARITY (0x40000)
5 #define VACB_OFFSET_SHIFT (18)
6
7 typedef struct _PUBLIC_BCB {
8 CSHORT NodeTypeCode;
9 CSHORT NodeByteSize;
10 ULONG MappedLength;
11 LARGE_INTEGER MappedFileOffset;
12 } PUBLIC_BCB, *PPUBLIC_BCB;
13
14 typedef struct _CC_FILE_SIZES {
15 LARGE_INTEGER AllocationSize;
16 LARGE_INTEGER FileSize;
17 LARGE_INTEGER ValidDataLength;
18 } CC_FILE_SIZES, *PCC_FILE_SIZES;
19
20 typedef BOOLEAN
21 (NTAPI *PACQUIRE_FOR_LAZY_WRITE) (
22 _In_ PVOID Context,
23 _In_ BOOLEAN Wait);
24
25 typedef VOID
26 (NTAPI *PRELEASE_FROM_LAZY_WRITE) (
27 _In_ PVOID Context);
28
29 typedef BOOLEAN
30 (NTAPI *PACQUIRE_FOR_READ_AHEAD) (
31 _In_ PVOID Context,
32 _In_ BOOLEAN Wait);
33
34 typedef VOID
35 (NTAPI *PRELEASE_FROM_READ_AHEAD) (
36 _In_ PVOID Context);
37
38 typedef struct _CACHE_MANAGER_CALLBACKS {
39 PACQUIRE_FOR_LAZY_WRITE AcquireForLazyWrite;
40 PRELEASE_FROM_LAZY_WRITE ReleaseFromLazyWrite;
41 PACQUIRE_FOR_READ_AHEAD AcquireForReadAhead;
42 PRELEASE_FROM_READ_AHEAD ReleaseFromReadAhead;
43 } CACHE_MANAGER_CALLBACKS, *PCACHE_MANAGER_CALLBACKS;
44
45 typedef struct _CACHE_UNINITIALIZE_EVENT {
46 struct _CACHE_UNINITIALIZE_EVENT *Next;
47 KEVENT Event;
48 } CACHE_UNINITIALIZE_EVENT, *PCACHE_UNINITIALIZE_EVENT;
49
50 typedef VOID
51 (NTAPI *PDIRTY_PAGE_ROUTINE) (
52 _In_ PFILE_OBJECT FileObject,
53 _In_ PLARGE_INTEGER FileOffset,
54 _In_ ULONG Length,
55 _In_ PLARGE_INTEGER OldestLsn,
56 _In_ PLARGE_INTEGER NewestLsn,
57 _In_ PVOID Context1,
58 _In_ PVOID Context2);
59
60 typedef VOID
61 (NTAPI *PFLUSH_TO_LSN) (
62 _In_ PVOID LogHandle,
63 _In_ LARGE_INTEGER Lsn);
64
65 typedef VOID
66 (NTAPI *PCC_POST_DEFERRED_WRITE) (
67 _In_ PVOID Context1,
68 _In_ PVOID Context2);
69
70 #define UNINITIALIZE_CACHE_MAPS (1)
71 #define DO_NOT_RETRY_PURGE (2)
72 #define DO_NOT_PURGE_DIRTY_PAGES (0x4)
73
74 #define CC_FLUSH_AND_PURGE_NO_PURGE (0x1)
75 $endif (_NTIFS_)