Some __stdcall declarations in ntoskrnl/hal.
[reactos.git] / reactos / include / ddk / ntifs.h
1 #ifndef __INCLUDE_DDK_NTIFS_H
2 #define __INCLUDE_DDK_NTIFS_H
3
4 #if 0
5 typedef struct
6 {
7 BOOLEAN Replace;
8 HANDLE RootDir;
9 ULONG FileNameLength;
10 WCHAR FileName[1];
11 } FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION;
12 #endif
13
14 typedef struct _BCB
15 {
16 LIST_ENTRY CacheSegmentListHead;
17 PFILE_OBJECT FileObject;
18 KSPIN_LOCK BcbLock;
19 } BCB, *PBCB;
20
21 #define CACHE_SEGMENT_SIZE (0x1000)
22
23 struct _MEMORY_AREA;
24
25 typedef struct _CACHE_SEGMENT
26 {
27 PVOID BaseAddress;
28 struct _MEMORY_AREA* MemoryArea;
29 BOOLEAN Valid;
30 LIST_ENTRY ListEntry;
31 ULONG FileOffset;
32 KEVENT Lock;
33 ULONG ReferenceCount;
34 PBCB Bcb;
35 } CACHE_SEGMENT, *PCACHE_SEGMENT;
36
37 NTSTATUS
38 STDCALL
39 CcFlushCachePage (
40 PCACHE_SEGMENT CacheSeg
41 );
42 NTSTATUS
43 STDCALL
44 CcReleaseCachePage (
45 PBCB Bcb,
46 PCACHE_SEGMENT CacheSeg,
47 BOOLEAN Valid
48 );
49 NTSTATUS
50 STDCALL
51 CcRequestCachePage (
52 PBCB Bcb,
53 ULONG FileOffset,
54 PVOID * BaseAddress,
55 PBOOLEAN UptoDate,
56 PCACHE_SEGMENT * CacheSeg
57 );
58 NTSTATUS
59 STDCALL
60 CcInitializeFileCache (
61 PFILE_OBJECT FileObject,
62 PBCB * Bcb
63 );
64 NTSTATUS
65 STDCALL
66 CcReleaseFileCache (
67 PFILE_OBJECT FileObject,
68 PBCB Bcb
69 );
70
71 #include <ddk/cctypes.h>
72
73 #include <ddk/ccfuncs.h>
74
75 #include <ddk/fsfuncs.h>
76
77 #endif /* __INCLUDE_DDK_NTIFS_H */