Implemented vfs_volume_info_get() for proper df(1) entry.
[reactos.git] / include / ddk / cctypes.h
1 #ifndef __INCLUDE_DDK_CCTYPES_H
2 #define __INCLUDE_DDK_CCTYPES_H
3
4 #include <ddk/extypes.h>        /* for PERESOURCE */
5
6 typedef struct _CACHE_UNINITIALIZE_EVENT
7 {
8         struct _CACHE_UNINITIALIZE_EVENT        * Next;
9         KEVENT                                  Event;
10 } CACHE_UNINITIALIZE_EVENT, *PCACHE_UNINITIALIZE_EVENT;
11
12 typedef struct _CC_FILE_SIZES
13 {
14         LARGE_INTEGER   AllocationSize;
15         LARGE_INTEGER   FileSize;
16         LARGE_INTEGER   ValidDataLength;
17 } CC_FILE_SIZES, *PCC_FILE_SIZES;
18
19
20 typedef VOID STDCALL_FUNC
21 (*PCC_POST_DEFERRED_WRITE)(IN PVOID Context1,
22                            IN PVOID Context2);
23
24 typedef struct _PUBLIC_BCB
25 {
26     CSHORT          NodeTypeCode;
27     CSHORT          NodeByteSize;
28     ULONG           MappedLength;
29     LARGE_INTEGER   MappedFileOffset;
30 } PUBLIC_BCB, *PPUBLIC_BCB;
31
32 typedef VOID (*PDIRTY_PAGE_ROUTINE) (
33     IN PFILE_OBJECT     FileObject,
34     IN PLARGE_INTEGER   FileOffset,
35     IN ULONG            Length,
36     IN PLARGE_INTEGER   OldestLsn,
37     IN PLARGE_INTEGER   NewestLsn,
38     IN PVOID            Context1,
39     IN PVOID            Context2
40 );
41
42 typedef BOOLEAN
43 #ifndef LIBCAPTIVE
44                 STDCALL_FUNC
45 #else /* !LIBCAPTIVE */
46                 CAPTIVE_STDCALL
47 #endif /* LIBCAPTIVE */
48 (*PACQUIRE_FOR_LAZY_WRITE)(IN PVOID Context,
49                            IN BOOLEAN Wait);
50
51 typedef VOID
52 #ifndef LIBCAPTIVE
53                 STDCALL_FUNC
54 #else /* !LIBCAPTIVE */
55                 CAPTIVE_STDCALL
56 #endif /* LIBCAPTIVE */
57 (*PRELEASE_FROM_LAZY_WRITE)(IN PVOID Context);
58
59 typedef BOOLEAN
60 #ifndef LIBCAPTIVE
61                 STDCALL_FUNC
62 #else /* !LIBCAPTIVE */
63                 CAPTIVE_STDCALL
64 #endif /* LIBCAPTIVE */
65 (*PACQUIRE_FOR_READ_AHEAD)(IN PVOID Context,
66                            IN BOOLEAN Wait);
67
68 typedef VOID
69 #ifndef LIBCAPTIVE
70                 STDCALL_FUNC
71 #else /* !LIBCAPTIVE */
72                 CAPTIVE_STDCALL
73 #endif /* LIBCAPTIVE */
74 (*PRELEASE_FROM_READ_AHEAD)(IN PVOID Context);
75
76 typedef struct _CACHE_MANAGER_CALLBACKS
77 {
78         PACQUIRE_FOR_LAZY_WRITE         AcquireForLazyWrite;
79         PRELEASE_FROM_LAZY_WRITE        ReleaseFromLazyWrite;
80         PACQUIRE_FOR_READ_AHEAD         AcquireForReadAhead;
81         PRELEASE_FROM_READ_AHEAD        ReleaseFromReadAhead;
82 } CACHE_MANAGER_CALLBACKS, *PCACHE_MANAGER_CALLBACKS;
83
84 /* this is already defined in iotypes.h */
85 /*
86 typedef struct _SECTION_OBJECT_POINTERS
87 {
88         PVOID   DataSectionObject;
89         PVOID   SharedCacheMap;
90         PVOID   ImageSectionObject;
91 } SECTION_OBJECT_POINTERS, *PSECTION_OBJECT_POINTERS;
92 */
93
94 typedef VOID
95 #ifndef LIBCAPTIVE
96                 STDCALL_FUNC
97 #else /* !LIBCAPTIVE */
98                 CAPTIVE_STDCALL
99 #endif /* LIBCAPTIVE */
100 (*PFLUSH_TO_LSN)(IN PVOID LogHandle,
101                  IN LARGE_INTEGER Lsn);
102
103 typedef struct _REACTOS_COMMON_FCB_HEADER
104 {
105   CSHORT NodeTypeCode;
106   CSHORT NodeByteSize;
107   UCHAR Flags;
108   UCHAR IsFastIoPossible;
109   UCHAR Flags2; /* if VER_PRODUCTBUILD >= 1381 */
110   UCHAR Reserved;       /* if VER_PRODUCTBUILD >= 1381 */
111   PERESOURCE Resource;
112   PERESOURCE PagingIoResource;
113   LARGE_INTEGER AllocationSize;
114   LARGE_INTEGER FileSize;
115   LARGE_INTEGER ValidDataLength;
116 } REACTOS_COMMON_FCB_HEADER, *PREACTOS_COMMON_FCB_HEADER;
117
118 #endif /* __INCLUDE_DDK_CCTYPES_H */