FsRtl:Memory Control Block updates (from ntifs.h by B.Branten)

svn path=/trunk/; revision=4554
This commit is contained in:
Emanuele Aliberti 2003-04-19 17:17:10 +00:00
parent ee030d79d9
commit e47c7dd876
3 changed files with 103 additions and 141 deletions

View file

@ -1,6 +1,6 @@
#ifndef __INCLUDE_DDK_FSFUNCS_H #ifndef __INCLUDE_DDK_FSFUNCS_H
#define __INCLUDE_DDK_FSFUNCS_H #define __INCLUDE_DDK_FSFUNCS_H
/* $Id: fsfuncs.h,v 1.17 2002/11/07 02:44:49 robd Exp $ */ /* $Id: fsfuncs.h,v 1.18 2003/04/19 17:17:10 ea Exp $ */
#define FlagOn(x,f) ((x) & (f)) #define FlagOn(x,f) ((x) & (f))
VOID VOID
@ -24,13 +24,11 @@ FsRtlAddLargeMcbEntry(IN PLARGE_MCB Mcb,
IN LONGLONG Lbn, IN LONGLONG Lbn,
IN LONGLONG SectorCount); IN LONGLONG SectorCount);
VOID STDCALL BOOLEAN STDCALL
FsRtlAddMcbEntry( FsRtlAddMcbEntry (IN PMCB Mcb,
DWORD Unknown0, IN VBN Vbn,
DWORD Unknown1, IN LBN Lbn,
DWORD Unknown2, IN ULONG SectorCount);
DWORD Unknown3
);
VOID STDCALL VOID STDCALL
FsRtlAddToTunnelCache ( FsRtlAddToTunnelCache (
@ -250,15 +248,12 @@ FsRtlGetNextLargeMcbEntry(IN PLARGE_MCB Mcb,
OUT PLONGLONG Lbn, OUT PLONGLONG Lbn,
OUT PLONGLONG SectorCount); OUT PLONGLONG SectorCount);
VOID BOOLEAN STDCALL
STDCALL FsRtlGetNextMcbEntry (IN PMCB Mcb,
FsRtlGetNextMcbEntry ( IN ULONG RunIndex,
DWORD Unknown0, OUT PVBN Vbn,
DWORD Unknown1, OUT PLBN Lbn,
DWORD Unknown2, OUT PULONG SectorCount);
DWORD Unknown3,
DWORD Unknown4
);
#define FsRtlEnterFileSystem KeEnterCriticalRegion #define FsRtlEnterFileSystem KeEnterCriticalRegion
#define FsRtlExitFileSystem KeLeaveCriticalRegion #define FsRtlExitFileSystem KeLeaveCriticalRegion
VOID VOID
@ -273,12 +268,9 @@ VOID STDCALL
FsRtlInitializeLargeMcb(IN PLARGE_MCB Mcb, FsRtlInitializeLargeMcb(IN PLARGE_MCB Mcb,
IN POOL_TYPE PoolType); IN POOL_TYPE PoolType);
VOID VOID STDCALL
STDCALL FsRtlInitializeMcb (IN PMCB Mcb,
FsRtlInitializeMcb ( IN POOL_TYPE PoolType);
DWORD Unknown0,
DWORD Unknown1
);
VOID STDCALL VOID STDCALL
FsRtlInitializeOplock(IN OUT POPLOCK Oplock); FsRtlInitializeOplock(IN OUT POPLOCK Oplock);
@ -347,22 +339,17 @@ FsRtlLookupLastLargeMcbEntry(IN PLARGE_MCB Mcb,
OUT PLONGLONG Vbn, OUT PLONGLONG Vbn,
OUT PLONGLONG Lbn); OUT PLONGLONG Lbn);
VOID BOOLEAN STDCALL
STDCALL FsRtlLookupLastMcbEntry (IN PMCB Mcb,
FsRtlLookupLastMcbEntry ( OUT PVBN Vbn,
DWORD Unknown0, OUT PLBN Lbn);
DWORD Unknown1, BOOLEAN STDCALL
DWORD Unknown2 FsRtlLookupMcbEntry (IN PMCB Mcb,
); IN VBN Vbn,
VOID OUT PLBN Lbn,
STDCALL OUT PULONG SectorCount OPTIONAL,
FsRtlLookupMcbEntry ( OUT PULONG Index);
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4
);
BOOLEAN BOOLEAN
STDCALL STDCALL
FsRtlMdlRead ( FsRtlMdlRead (
@ -522,11 +509,9 @@ FsRtlNormalizeNtstatus(IN NTSTATUS NtStatusToNormalize,
ULONG STDCALL ULONG STDCALL
FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb); FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb);
VOID ULONG STDCALL
STDCALL FsRtlNumberOfRunsInMcb (IN PMCB Mcb);
FsRtlNumberOfRunsInMcb (
DWORD Unknown0
);
VOID VOID
STDCALL STDCALL
FsRtlPostPagingFileStackOverflow ( FsRtlPostPagingFileStackOverflow (
@ -575,13 +560,10 @@ FsRtlRemoveLargeMcbEntry(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn, IN LONGLONG Vbn,
IN LONGLONG SectorCount); IN LONGLONG SectorCount);
VOID VOID STDCALL
STDCALL FsRtlRemoveMcbEntry (IN PMCB Mcb,
FsRtlRemoveMcbEntry ( IN VBN Vbn,
DWORD Unknown0, IN ULONG SectorCount);
DWORD Unknown1,
DWORD Unknown2
);
BOOLEAN STDCALL BOOLEAN STDCALL
FsRtlSplitLargeMcb(IN PLARGE_MCB Mcb, FsRtlSplitLargeMcb(IN PLARGE_MCB Mcb,
@ -600,26 +582,18 @@ VOID STDCALL
FsRtlTruncateLargeMcb(IN PLARGE_MCB Mcb, FsRtlTruncateLargeMcb(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn); IN LONGLONG Vbn);
VOID VOID STDCALL
STDCALL FsRtlTruncateMcb (IN PMCB Mcb,
FsRtlTruncateMcb ( IN VBN Vbn);
DWORD Unknown0,
DWORD Unknown1 VOID STDCALL
); FsRtlUninitializeFileLock (IN PFILE_LOCK FileLock);
VOID
STDCALL
FsRtlUninitializeFileLock (
IN PFILE_LOCK FileLock
);
VOID STDCALL VOID STDCALL
FsRtlUninitializeLargeMcb(IN PLARGE_MCB Mcb); FsRtlUninitializeLargeMcb(IN PLARGE_MCB Mcb);
VOID VOID STDCALL
STDCALL FsRtlUninitializeMcb (IN PMCB Mcb);
FsRtlUninitializeMcb (
DWORD Unknown0
);
VOID STDCALL VOID STDCALL
FsRtlUninitializeOplock(IN POPLOCK Oplock); FsRtlUninitializeOplock(IN POPLOCK Oplock);

View file

@ -1,9 +1,15 @@
#ifndef __INCLUDE_DDK_FSTYPES_H #ifndef __INCLUDE_DDK_FSTYPES_H
#define __INCLUDE_DDK_FSTYPES_H #define __INCLUDE_DDK_FSTYPES_H
/* $Id: fstypes.h,v 1.9 2003/01/25 18:53:27 hbirr Exp $ */ /* $Id: fstypes.h,v 1.10 2003/04/19 17:17:10 ea Exp $ */
#define FSRTL_TAG TAG('F','S','r','t') #define FSRTL_TAG TAG('F','S','r','t')
typedef ULONG LBN;
typedef LBN *PLBN;
typedef ULONG VBN;
typedef VBN *PVBN;
typedef struct _FILE_LOCK_INFO { typedef struct _FILE_LOCK_INFO {
LARGE_INTEGER StartingByte; LARGE_INTEGER StartingByte;
LARGE_INTEGER Length; LARGE_INTEGER Length;
@ -80,6 +86,9 @@ typedef struct _LARGE_MCB
PVOID Mapping; PVOID Mapping;
} LARGE_MCB, *PLARGE_MCB; } LARGE_MCB, *PLARGE_MCB;
typedef struct _MCB {
LARGE_MCB LargeMcb;
} MCB, *PMCB;
typedef VOID typedef VOID
(*POPLOCK_WAIT_COMPLETE_ROUTINE)(PVOID Context, (*POPLOCK_WAIT_COMPLETE_ROUTINE)(PVOID Context,

View file

@ -1,4 +1,4 @@
/* $Id: mcb.c,v 1.5 2002/09/08 10:23:20 chorns Exp $ /* $Id: mcb.c,v 1.6 2003/04/19 17:16:51 ea Exp $
* *
* reactos/ntoskrnl/fs/mcb.c * reactos/ntoskrnl/fs/mcb.c
* *
@ -30,16 +30,14 @@ FsRtlAddLargeMcbEntry(IN PLARGE_MCB Mcb,
} }
VOID BOOLEAN STDCALL
STDCALL FsRtlAddMcbEntry (IN PMCB Mcb,
FsRtlAddMcbEntry ( IN VBN Vbn,
DWORD Unknown0, IN LBN Lbn,
DWORD Unknown1, IN ULONG SectorCount)
DWORD Unknown2,
DWORD Unknown3
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
return(FALSE);
} }
@ -55,17 +53,15 @@ FsRtlGetNextLargeMcbEntry(IN PLARGE_MCB Mcb,
} }
VOID BOOLEAN STDCALL
STDCALL FsRtlGetNextMcbEntry (IN PMCB Mcb,
FsRtlGetNextMcbEntry ( IN ULONG RunIndex,
DWORD Unknown0, OUT PVBN Vbn,
DWORD Unknown1, OUT PLBN Lbn,
DWORD Unknown2, OUT PULONG SectorCount)
DWORD Unknown3,
DWORD Unknown4
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
return(FALSE);
} }
@ -74,18 +70,16 @@ FsRtlInitializeLargeMcb(IN PLARGE_MCB Mcb,
IN POOL_TYPE PoolType) IN POOL_TYPE PoolType)
{ {
UNIMPLEMENTED UNIMPLEMENTED
Mcb->PoolType = PoolType; Mcb->PoolType = PoolType;
} }
VOID VOID STDCALL
STDCALL FsRtlInitializeMcb (IN PMCB Mcb,
FsRtlInitializeMcb ( IN POOL_TYPE PoolType)
DWORD Unknown0,
DWORD Unknown1
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
Mcb->LargeMcb.PoolType = PoolType;
} }
@ -113,29 +107,25 @@ FsRtlLookupLastLargeMcbEntry(IN PLARGE_MCB Mcb,
} }
VOID BOOLEAN STDCALL
STDCALL FsRtlLookupLastMcbEntry (IN PMCB Mcb,
FsRtlLookupLastMcbEntry ( OUT PVBN Vbn,
DWORD Unknown0, OUT PLBN Lbn)
DWORD Unknown1,
DWORD Unknown2
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
return(FALSE);
} }
VOID BOOLEAN STDCALL
STDCALL FsRtlLookupMcbEntry (IN PMCB Mcb,
FsRtlLookupMcbEntry ( IN VBN Vbn,
DWORD Unknown0, OUT PLBN Lbn,
DWORD Unknown1, OUT PULONG SectorCount OPTIONAL,
DWORD Unknown2, OUT PULONG Index)
DWORD Unknown3,
DWORD Unknown4
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
return(FALSE);
} }
@ -147,13 +137,11 @@ FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb)
} }
VOID ULONG STDCALL
STDCALL FsRtlNumberOfRunsInMcb (IN PMCB Mcb)
FsRtlNumberOfRunsInMcb (
DWORD Unknown0
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
return(0);
} }
@ -166,15 +154,12 @@ FsRtlRemoveLargeMcbEntry(IN PLARGE_MCB Mcb,
} }
VOID VOID STDCALL
STDCALL FsRtlRemoveMcbEntry (IN PMCB Mcb,
FsRtlRemoveMcbEntry ( IN VBN Vbn,
DWORD Unknown0, IN ULONG SectorCount)
DWORD Unknown1,
DWORD Unknown2
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
} }
@ -196,14 +181,11 @@ FsRtlTruncateLargeMcb(IN PLARGE_MCB Mcb,
} }
VOID VOID STDCALL
STDCALL FsRtlTruncateMcb (IN PMCB Mcb,
FsRtlTruncateMcb ( IN VBN Vbn)
DWORD Unknown0,
DWORD Unknown1
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
} }
@ -214,13 +196,10 @@ FsRtlUninitializeLargeMcb(IN PLARGE_MCB Mcb)
} }
VOID VOID STDCALL
STDCALL FsRtlUninitializeMcb (IN PMCB Mcb)
FsRtlUninitializeMcb (
DWORD Unknown0
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
} }