update for HEAD-2003091401
[reactos.git] / include / ddk / cctypes.h
1 #ifndef __INCLUDE_DDK_CCTYPES_H
2 #define __INCLUDE_DDK_CCTYPES_H
3
4 typedef struct _CACHE_UNINITIALIZE_EVENT
5 {
6         struct _CACHE_UNINITIALIZE_EVENT        * Next;
7         KEVENT                                  Event;
8 } CACHE_UNINITIALIZE_EVENT, *PCACHE_UNINITIALIZE_EVENT;
9
10 typedef struct _CC_FILE_SIZES
11 {
12         LARGE_INTEGER   AllocationSize;
13         LARGE_INTEGER   FileSize;
14         LARGE_INTEGER   ValidDataLength;
15 } CC_FILE_SIZES, *PCC_FILE_SIZES;
16
17
18 typedef VOID STDCALL_FUNC
19 (*PCC_POST_DEFERRED_WRITE)(IN PVOID Context1,
20                            IN PVOID Context2);
21
22 typedef struct _PUBLIC_BCB
23 {
24     CSHORT          NodeTypeCode;
25     CSHORT          NodeByteSize;
26     ULONG           MappedLength;
27     LARGE_INTEGER   MappedFileOffset;
28 } PUBLIC_BCB, *PPUBLIC_BCB;
29
30 typedef VOID (*PDIRTY_PAGE_ROUTINE) (
31     IN PFILE_OBJECT     FileObject,
32     IN PLARGE_INTEGER   FileOffset,
33     IN ULONG            Length,
34     IN PLARGE_INTEGER   OldestLsn,
35     IN PLARGE_INTEGER   NewestLsn,
36     IN PVOID            Context1,
37     IN PVOID            Context2
38 );
39
40 typedef BOOLEAN STDCALL_FUNC
41 (*PACQUIRE_FOR_LAZY_WRITE)(IN PVOID Context,
42                            IN BOOLEAN Wait);
43
44 typedef VOID STDCALL_FUNC
45 (*PRELEASE_FROM_LAZY_WRITE)(IN PVOID Context);
46
47 typedef BOOLEAN STDCALL_FUNC
48 (*PACQUIRE_FOR_READ_AHEAD)(IN PVOID Context,
49                            IN BOOLEAN Wait);
50
51 typedef VOID STDCALL_FUNC
52 (*PRELEASE_FROM_READ_AHEAD)(IN PVOID Context);
53
54 typedef struct _CACHE_MANAGER_CALLBACKS
55 {
56         PACQUIRE_FOR_LAZY_WRITE         AcquireForLazyWrite;
57         PRELEASE_FROM_LAZY_WRITE        ReleaseFromLazyWrite;
58         PACQUIRE_FOR_READ_AHEAD         AcquireForReadAhead;
59         PRELEASE_FROM_READ_AHEAD        ReleaseFromReadAhead;
60 } CACHE_MANAGER_CALLBACKS, *PCACHE_MANAGER_CALLBACKS;
61
62 /* this is already defined in iotypes.h */
63 /*
64 typedef struct _SECTION_OBJECT_POINTERS
65 {
66         PVOID   DataSectionObject;
67         PVOID   SharedCacheMap;
68         PVOID   ImageSectionObject;
69 } SECTION_OBJECT_POINTERS, *PSECTION_OBJECT_POINTERS;
70 */
71
72 typedef VOID STDCALL_FUNC
73 (*PFLUSH_TO_LSN)(IN PVOID LogHandle,
74                  IN LARGE_INTEGER Lsn);
75
76 typedef struct _FSRTL_COMMON_FCB_HEADER {
77     CSHORT          NodeTypeCode;
78     CSHORT          NodeByteSize;
79     UCHAR           Flags;
80     UCHAR           IsFastIoPossible;
81     UCHAR           Flags2;
82     UCHAR           Reserved;
83     PERESOURCE      Resource;
84     PERESOURCE      PagingIoResource;
85     LARGE_INTEGER   AllocationSize;
86     LARGE_INTEGER   FileSize;
87     LARGE_INTEGER   ValidDataLength;
88 } FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;
89
90 #endif /* __INCLUDE_DDK_CCTYPES_H */