mirror of
https://github.com/reactos/reactos.git
synced 2024-07-28 07:08:59 +00:00
Moved all definitions for internal structures and functions to cc.h.
svn path=/trunk/; revision=3968
This commit is contained in:
parent
ec67f794e9
commit
a0e6246535
|
@ -3,33 +3,13 @@
|
||||||
|
|
||||||
struct _BCB;
|
struct _BCB;
|
||||||
|
|
||||||
typedef struct _BCB* PBCB;
|
|
||||||
|
|
||||||
struct _MEMORY_AREA;
|
|
||||||
|
|
||||||
struct _CACHE_SEGMENT;
|
|
||||||
|
|
||||||
typedef struct _CACHE_SEGMENT* PCACHE_SEGMENT;
|
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
|
||||||
CcRosReleaseCacheSegment (struct _BCB* Bcb,
|
|
||||||
struct _CACHE_SEGMENT* CacheSeg,
|
|
||||||
BOOLEAN Valid,
|
|
||||||
BOOLEAN Dirty,
|
|
||||||
BOOLEAN Mapped);
|
|
||||||
NTSTATUS STDCALL
|
|
||||||
CcRosRequestCacheSegment (struct _BCB* Bcb,
|
|
||||||
ULONG FileOffset,
|
|
||||||
PVOID* BaseAddress,
|
|
||||||
PBOOLEAN UptoDate,
|
|
||||||
struct _CACHE_SEGMENT** CacheSeg);
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
CcRosInitializeFileCache (PFILE_OBJECT FileObject,
|
CcRosInitializeFileCache (PFILE_OBJECT FileObject,
|
||||||
struct _BCB** Bcb,
|
struct _BCB** Bcb,
|
||||||
ULONG CacheSegmentSize);
|
ULONG CacheSegmentSize);
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
CcRosReleaseFileCache (PFILE_OBJECT FileObject,
|
CcRosReleaseFileCache (PFILE_OBJECT FileObject,
|
||||||
struct _BCB* Bcb);
|
struct _BCB* Bcb);
|
||||||
|
|
||||||
#include <ddk/cctypes.h>
|
#include <ddk/cctypes.h>
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
#ifndef __INCLUDE_INTERNAL_CC_H
|
#ifndef __INCLUDE_INTERNAL_CC_H
|
||||||
#define __INCLUDE_INTERNAL_CC_H
|
#define __INCLUDE_INTERNAL_CC_H
|
||||||
/* $Id: cc.h,v 1.16 2002/09/08 10:23:21 chorns Exp $ */
|
/* $Id: cc.h,v 1.17 2003/01/11 15:21:09 hbirr Exp $ */
|
||||||
#include <ddk/ntifs.h>
|
#include <ddk/ntifs.h>
|
||||||
|
|
||||||
|
|
||||||
typedef struct _BCB
|
typedef struct _BCB
|
||||||
{
|
{
|
||||||
LIST_ENTRY BcbSegmentListHead;
|
LIST_ENTRY BcbSegmentListHead;
|
||||||
|
LIST_ENTRY BcbRemoveListEntry;
|
||||||
|
BOOLEAN RemoveOnClose;
|
||||||
|
ULONG TimeStamp;
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
ULONG CacheSegmentSize;
|
ULONG CacheSegmentSize;
|
||||||
LARGE_INTEGER AllocationSize;
|
LARGE_INTEGER AllocationSize;
|
||||||
LARGE_INTEGER FileSize;
|
LARGE_INTEGER FileSize;
|
||||||
KSPIN_LOCK BcbLock;
|
KSPIN_LOCK BcbLock;
|
||||||
ULONG RefCount;
|
ULONG RefCount;
|
||||||
} BCB;
|
} BCB, *PBCB;
|
||||||
|
|
||||||
typedef struct _CACHE_SEGMENT
|
typedef struct _CACHE_SEGMENT
|
||||||
{
|
{
|
||||||
|
@ -45,45 +49,83 @@ typedef struct _CACHE_SEGMENT
|
||||||
PBCB Bcb;
|
PBCB Bcb;
|
||||||
/* Pointer to the next cache segment in a chain. */
|
/* Pointer to the next cache segment in a chain. */
|
||||||
struct _CACHE_SEGMENT* NextInChain;
|
struct _CACHE_SEGMENT* NextInChain;
|
||||||
} CACHE_SEGMENT;
|
} CACHE_SEGMENT, *PCACHE_SEGMENT;
|
||||||
|
|
||||||
|
typedef struct _INTERNAL_BCB
|
||||||
|
{
|
||||||
|
PUBLIC_BCB PFCB;
|
||||||
|
PCACHE_SEGMENT CacheSegment;
|
||||||
|
BOOLEAN Dirty;
|
||||||
|
} INTERNAL_BCB, *PINTERNAL_BCB;
|
||||||
|
|
||||||
VOID STDCALL
|
VOID STDCALL
|
||||||
CcMdlReadCompleteDev (IN PMDL MdlChain,
|
CcMdlReadCompleteDev (IN PMDL MdlChain,
|
||||||
IN PDEVICE_OBJECT DeviceObject);
|
IN PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
CcRosGetCacheSegment(PBCB Bcb,
|
CcRosGetCacheSegment(PBCB Bcb,
|
||||||
ULONG FileOffset,
|
ULONG FileOffset,
|
||||||
PULONG BaseOffset,
|
PULONG BaseOffset,
|
||||||
PVOID* BaseAddress,
|
PVOID* BaseAddress,
|
||||||
PBOOLEAN UptoDate,
|
PBOOLEAN UptoDate,
|
||||||
PCACHE_SEGMENT* CacheSeg);
|
PCACHE_SEGMENT* CacheSeg);
|
||||||
VOID
|
VOID
|
||||||
CcInitView(VOID);
|
CcInitView(VOID);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
CcRosFreeCacheSegment(PBCB, PCACHE_SEGMENT);
|
||||||
|
|
||||||
NTSTATUS STDCALL CcRosFreeCacheSegment(PBCB, PCACHE_SEGMENT);
|
NTSTATUS
|
||||||
|
ReadCacheSegment(PCACHE_SEGMENT CacheSeg);
|
||||||
|
|
||||||
NTSTATUS ReadCacheSegment(PCACHE_SEGMENT CacheSeg);
|
NTSTATUS
|
||||||
|
WriteCacheSegment(PCACHE_SEGMENT CacheSeg);
|
||||||
NTSTATUS WriteCacheSegment(PCACHE_SEGMENT CacheSeg);
|
|
||||||
|
|
||||||
VOID CcInit(VOID);
|
VOID CcInit(VOID);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
CcRosUnmapCacheSegment(PBCB Bcb, ULONG FileOffset, BOOLEAN NowDirty);
|
CcRosUnmapCacheSegment(PBCB Bcb, ULONG FileOffset, BOOLEAN NowDirty);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
CcRosSuggestFreeCacheSegment(PBCB Bcb, ULONG FileOffset, BOOLEAN NowDirty);
|
CcRosSuggestFreeCacheSegment(PBCB Bcb, ULONG FileOffset, BOOLEAN NowDirty);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
CcRosGetCacheSegmentChain(PBCB Bcb,
|
CcRosGetCacheSegmentChain(PBCB Bcb,
|
||||||
ULONG FileOffset,
|
ULONG FileOffset,
|
||||||
ULONG Length,
|
ULONG Length,
|
||||||
PCACHE_SEGMENT* CacheSeg);
|
PCACHE_SEGMENT* CacheSeg);
|
||||||
VOID CcInitCacheZeroPage(VOID);
|
|
||||||
|
VOID
|
||||||
|
CcInitCacheZeroPage(VOID);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
CcRosMarkDirtyCacheSegment(PBCB Bcb, ULONG FileOffset);
|
CcRosMarkDirtyCacheSegment(PBCB Bcb, ULONG FileOffset);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
CcRosFlushDirtyPages(ULONG Target, PULONG Count);
|
CcRosFlushDirtyPages(ULONG Target, PULONG Count);
|
||||||
|
|
||||||
VOID CcRosDereferenceCache(PFILE_OBJECT FileObject);
|
VOID
|
||||||
VOID CcRosReferenceCache(PFILE_OBJECT FileObject);
|
CcRosDereferenceCache(PFILE_OBJECT FileObject);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
CcRosReferenceCache(PFILE_OBJECT FileObject);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
CcRosSetRemoveOnClose(PSECTION_OBJECT_POINTERS SectionObjectPointer);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
CcRosReleaseCacheSegment (BCB* Bcb,
|
||||||
|
CACHE_SEGMENT* CacheSeg,
|
||||||
|
BOOLEAN Valid,
|
||||||
|
BOOLEAN Dirty,
|
||||||
|
BOOLEAN Mapped);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
CcRosRequestCacheSegment (BCB* Bcb,
|
||||||
|
ULONG FileOffset,
|
||||||
|
PVOID* BaseAddress,
|
||||||
|
PBOOLEAN UptoDate,
|
||||||
|
CACHE_SEGMENT** CacheSeg);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue