File locking NTOSKRNL.FsRtl stubs.

svn path=/trunk/; revision=1012
This commit is contained in:
Emanuele Aliberti 2000-02-26 16:22:27 +00:00
parent ad382b39b3
commit 4b80eae220
6 changed files with 462 additions and 8 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.5 2000/02/25 23:27:50 ea Exp $ */ /* $Id: fsfuncs.h,v 1.6 2000/02/26 16:21:34 ea Exp $ */
VOID VOID
STDCALL STDCALL
FsRtlAddLargeMcbEntry ( FsRtlAddLargeMcbEntry (
@ -40,6 +40,18 @@ FsRtlBalanceReads (
); );
BOOLEAN BOOLEAN
STDCALL STDCALL
FsRtlCheckLockForReadAccess (
DWORD Unknown0,
DWORD Unknown1
);
BOOLEAN
STDCALL
FsRtlCheckLockForWriteAccess (
DWORD Unknown0,
DWORD Unknown1
);
BOOLEAN
STDCALL
FsRtlCopyRead ( FsRtlCopyRead (
IN PFILE_OBJECT FileObject, IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset, IN PLARGE_INTEGER FileOffset,
@ -93,12 +105,67 @@ STDCALL
FsRtlDoesNameContainWildCards ( FsRtlDoesNameContainWildCards (
IN PUNICODE_STRING Name IN PUNICODE_STRING Name
); );
BOOLEAN
STDCALL
FsRtlFastCheckLockForRead (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4,
DWORD Unknown5
);
BOOLEAN
STDCALL
FsRtlFastCheckLockForWrite (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4,
DWORD Unknown5
);
NTSTATUS
STDCALL
FsRtlFastUnlockAll (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3
);
NTSTATUS
STDCALL
FsRtlFastUnlockAllByKey (
IN DWORD Unknown0,
IN DWORD Unknown1,
IN DWORD Unknown2,
IN DWORD Unknown3,
IN DWORD Key
);
NTSTATUS
STDCALL
FsRtlFastUnlockSingle (
IN DWORD Unknown0,
IN DWORD Unknown1,
IN DWORD Unknown2,
IN DWORD Unknown3,
IN DWORD Unknown4,
IN DWORD Unknown5,
IN DWORD Unknown6,
IN DWORD Unknown7
);
DWORD DWORD
STDCALL STDCALL
FsRtlGetFileSize ( FsRtlGetFileSize (
DWORD Unknown0, DWORD Unknown0,
DWORD Unknown1 DWORD Unknown1
); );
NTSTATUS
STDCALL
FsRtlGetNextFileLock (
IN DWORD Unknown0,
IN OUT PVOID Unknown1
);
VOID VOID
STDCALL STDCALL
FsRtlGetNextLargeMcbEntry ( FsRtlGetNextLargeMcbEntry (
@ -121,6 +188,13 @@ FsRtlGetNextMcbEntry (
#define FsRtlExitFileSystem KeLeaveCriticalRegion #define FsRtlExitFileSystem KeLeaveCriticalRegion
VOID VOID
STDCALL STDCALL
FsRtlInitializeFileLock (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2
);
VOID
STDCALL
FsRtlInitializeLargeMcb ( FsRtlInitializeLargeMcb (
DWORD Unknown0, DWORD Unknown0,
DWORD Unknown1 DWORD Unknown1
@ -243,6 +317,29 @@ FsRtlPostStackOverflow (
DWORD Unknown1, DWORD Unknown1,
DWORD Unknown2 DWORD Unknown2
); );
BOOLEAN
STDCALL
FsRtlPrivateLock (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4,
DWORD Unknown5,
DWORD Unknown6,
DWORD Unknown7,
DWORD Unknown8,
DWORD Unknown9,
DWORD Unknown10,
DWORD Unknown11
);
NTSTATUS
STDCALL
FsRtlProcessFileLock (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2
);
DWORD DWORD
STDCALL STDCALL
FsRtlRegisterUncProvider ( FsRtlRegisterUncProvider (
@ -297,6 +394,11 @@ FsRtlTruncateMcb (
); );
VOID VOID
STDCALL STDCALL
FsRtlUninitializeFileLock (
IN OUT PVOID lpUnknown0
);
VOID
STDCALL
FsRtlUninitializeLargeMcb ( FsRtlUninitializeLargeMcb (
DWORD Unknown0 DWORD Unknown0
); );

View file

@ -0,0 +1,323 @@
/* $Id: filelock.c,v 1.1 2000/02/26 16:22:27 ea Exp $
*
* reactos/ntoskrnl/fs/filelock.c
*
*/
#include <ntos.h>
#include <ddk/ntifs.h>
/**********************************************************************
* NAME EXPORTED
* FsRtlCheckLockForReadAccess@8
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
BOOLEAN
STDCALL
FsRtlCheckLockForReadAccess (
DWORD Unknown0,
DWORD Unknown1
)
{
return FALSE;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlCheckLockForWriteAccess@8
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
BOOLEAN
STDCALL
FsRtlCheckLockForWriteAccess (
DWORD Unknown0,
DWORD Unknown1
)
{
return FALSE;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlFastCheckLockForRead@24
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
BOOLEAN
STDCALL
FsRtlFastCheckLockForRead (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4,
DWORD Unknown5
)
{
return FALSE;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlFastCheckLockForWrite@24
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
BOOLEAN
STDCALL
FsRtlFastCheckLockForWrite (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4,
DWORD Unknown5
)
{
return FALSE;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlFastUnlockAll@16
* FsRtlFastUnlockAllByKey@20
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
static
NTSTATUS
STDCALL
_FsRtlFastUnlockAllByKey (
IN DWORD Unknown0,
IN DWORD Unknown1,
IN DWORD Unknown2,
IN DWORD Unknown3,
IN BOOLEAN UseKey, /* FIXME: guess */
IN DWORD Key /* FIXME: guess */
)
{
/* FIXME: */
return (STATUS_RANGE_NOT_LOCKED);
}
NTSTATUS
STDCALL
FsRtlFastUnlockAll (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3
)
{
return _FsRtlFastUnlockAllByKey (
Unknown0,
Unknown1,
Unknown2,
Unknown3,
FALSE, /* DO NOT USE KEY? */
0
);
}
NTSTATUS
STDCALL
FsRtlFastUnlockAllByKey (
IN DWORD Unknown0,
IN DWORD Unknown1,
IN DWORD Unknown2,
IN DWORD Unknown3,
IN DWORD Key
)
{
return _FsRtlFastUnlockAllByKey (
Unknown0,
Unknown1,
Unknown2,
Unknown3,
TRUE, /* USE KEY? */
Key
);
}
/**********************************************************************
* NAME EXPORTED
* FsRtlFastUnlockSingle@32
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
NTSTATUS
STDCALL
FsRtlFastUnlockSingle (
IN DWORD Unknown0,
IN DWORD Unknown1,
IN DWORD Unknown2,
IN DWORD Unknown3,
IN DWORD Unknown4,
IN DWORD Unknown5,
IN DWORD Unknown6,
IN DWORD Unknown7
)
{
return (STATUS_RANGE_NOT_LOCKED);
}
/**********************************************************************
* NAME EXPORTED
* FsRtlGetNextFileLock@8
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
NTSTATUS
STDCALL
FsRtlGetNextFileLock (
IN DWORD Unknown0,
IN OUT PVOID Unknown1
)
{
return (STATUS_NOT_IMPLEMENTED);
}
/**********************************************************************
* NAME EXPORTED
* FsRtlInitializeFileLock@12
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
VOID
STDCALL
FsRtlInitializeFileLock (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2
)
{
}
/**********************************************************************
* NAME EXPORTED
* FsRtlPrivateLock@48
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
BOOLEAN
STDCALL
FsRtlPrivateLock (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4,
DWORD Unknown5,
DWORD Unknown6,
DWORD Unknown7,
DWORD Unknown8,
DWORD Unknown9,
DWORD Unknown10,
DWORD Unknown11
)
{
return FALSE;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlProcessFileLock@12
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
NTSTATUS
STDCALL
FsRtlProcessFileLock (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2
)
{
return (STATUS_NOT_IMPLEMENTED);
}
/**********************************************************************
* NAME EXPORTED
* FsRtlUninitializeFileLock@4
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
*/
VOID
STDCALL
FsRtlUninitializeFileLock (
IN OUT PVOID lpUnknown0
)
{
}
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: main.c,v 1.34 2000/01/17 21:01:16 ekohl Exp $ /* $Id: main.c,v 1.35 2000/02/26 16:22:27 ea Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -29,6 +29,10 @@
#define NDEBUG #define NDEBUG
#include <internal/debug.h> #include <internal/debug.h>
/* DATA *********************************************************************/
USHORT NtBuildNumber = KERNEL_VERSION_BUILD; /* EXPORTED */
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
void set_breakpoint(unsigned int i, unsigned int addr, unsigned int type, void set_breakpoint(unsigned int i, unsigned int addr, unsigned int type,

View file

@ -1,4 +1,4 @@
# $Id: makefile_rex,v 1.53 2000/02/25 23:27:50 ea Exp $ # $Id: makefile_rex,v 1.54 2000/02/26 16:22:27 ea Exp $
# #
# ReactOS Operating System # ReactOS Operating System
# #
@ -56,7 +56,8 @@ EX_OBJECTS = ex/work.o ex/fmutex.o ex/resource.o ex/time.o ex/interlck.o \
ex/callback.o ex/napi.o ex/power.o ex/sysinfo.o ex/locale.o \ ex/callback.o ex/napi.o ex/power.o ex/sysinfo.o ex/locale.o \
ex/stamp.o ex/init.o ex/stamp.o ex/init.o
FS_OBJECTS = fs/dbcsname.o fs/name.o fs/mcb.o fs/unc.o fs/util.o FS_OBJECTS = fs/dbcsname.o fs/name.o fs/mcb.o fs/unc.o fs/util.o \
fs/filelock.o
SE_OBJECTS = se/semgr.o se/acl.o se/sid.o se/sd.o se/token.o se/luid.o \ SE_OBJECTS = se/semgr.o se/acl.o se/sid.o se/sd.o se/token.o se/luid.o \
se/priv.o se/priv.o

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.def,v 1.44 2000/02/25 23:27:50 ea Exp $ ; $Id: ntoskrnl.def,v 1.45 2000/02/26 16:22:27 ea Exp $
; ;
; reactos/ntoskrnl/ntoskrnl.def ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -80,6 +80,8 @@ FsRtlAddMcbEntry@16
FsRtlAllocateResource@0 FsRtlAllocateResource@0
FsRtlAreNamesEqual@16 FsRtlAreNamesEqual@16
FsRtlBalanceReads@4 FsRtlBalanceReads@4
FsRtlCheckLockForReadAccess@8
FsRtlCheckLockForWriteAccess@8
FsRtlCopyRead@32 FsRtlCopyRead@32
FsRtlCopyWrite@32 FsRtlCopyWrite@32
FsRtlDeregisterUncProvider@4 FsRtlDeregisterUncProvider@4
@ -87,9 +89,16 @@ FsRtlDissectDbcs@16
FsRtlDissectName@16 FsRtlDissectName@16
FsRtlDoesDbcsContainWildCards@4 FsRtlDoesDbcsContainWildCards@4
FsRtlDoesNameContainWildCards@4 FsRtlDoesNameContainWildCards@4
FsRtlFastCheckLockForRead@24
FsRtlFastCheckLockForWrite@24
FsRtlFastUnlockAll@16
FsRtlFastUnlockAllByKey@20
FsRtlFastUnlockSingle@32
FsRtlGetFileSize@8 FsRtlGetFileSize@8
FsRtlGetNextFileLock@8
FsRtlGetNextLargeMcbEntry@20 FsRtlGetNextLargeMcbEntry@20
FsRtlGetNextMcbEntry@20 FsRtlGetNextMcbEntry@20
FsRtlInitializeFileLock@12
FsRtlInitializeLargeMcb@8 FsRtlInitializeLargeMcb@8
FsRtlInitializeMcb@8 FsRtlInitializeMcb@8
FsRtlIsDbcsInExpression@8 FsRtlIsDbcsInExpression@8
@ -108,6 +117,8 @@ FsRtlNumberOfRunsInLargeMcb@4
FsRtlNumberOfRunsInMcb@4 FsRtlNumberOfRunsInMcb@4
FsRtlPostPagingFileStackOverflow@12 FsRtlPostPagingFileStackOverflow@12
FsRtlPostStackOverflow@12 FsRtlPostStackOverflow@12
FsRtlPrivateLock@48
FsRtlProcessFileLock@12
FsRtlRegisterUncProvider@12 FsRtlRegisterUncProvider@12
FsRtlRemoveLargeMcbEntry@20 FsRtlRemoveLargeMcbEntry@20
FsRtlRemoveMcbEntry@12 FsRtlRemoveMcbEntry@12
@ -115,6 +126,7 @@ FsRtlSplitLargeMcb@20
FsRtlSyncVolumes@12 FsRtlSyncVolumes@12
FsRtlTruncateLargeMcb@12 FsRtlTruncateLargeMcb@12
FsRtlTruncateMcb@8 FsRtlTruncateMcb@8
FsRtlUninitializeFileLock@4
FsRtlUninitializeLargeMcb@4 FsRtlUninitializeLargeMcb@4
FsRtlUninitializeMcb@4 FsRtlUninitializeMcb@4
IoAllocateController IoAllocateController
@ -171,7 +183,7 @@ NtAdjustPrivilegesToken@24
NtAllocateLocallyUniqueId@4 NtAllocateLocallyUniqueId@4
NtAllocateUuids@12 NtAllocateUuids@12
NtAllocateVirtualMemory@24 NtAllocateVirtualMemory@24
;NtBuildNumber <--- variable? NtBuildNumber DATA
NtClose@4 NtClose@4
NtConnectPort@32 NtConnectPort@32
;NtConnectPort@8 ;NtConnectPort@8

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.edf,v 1.31 2000/02/25 23:27:51 ea Exp $ ; $Id: ntoskrnl.edf,v 1.32 2000/02/26 16:22:27 ea Exp $
; ;
; reactos/ntoskrnl/ntoskrnl.def ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -80,6 +80,8 @@ FsRtlAddMcbEntry=FsRtlAddMcbEntry@16
FsRtlAllocateResource=FsRtlAllocateResource@0 FsRtlAllocateResource=FsRtlAllocateResource@0
FsRtlAreNamesEqual=FsRtlAreNamesEqual@16 FsRtlAreNamesEqual=FsRtlAreNamesEqual@16
FsRtlBalanceReads=FsRtlBalanceReads@4 FsRtlBalanceReads=FsRtlBalanceReads@4
FsRtlCheckLockForReadAccess=FsRtlCheckLockForReadAccess@8
FsRtlCheckLockForWriteAccess=FsRtlCheckLockForWriteAccess@8
FsRtlCopyRead=FsRtlCopyRead@32 FsRtlCopyRead=FsRtlCopyRead@32
FsRtlCopyWrite=FsRtlCopyWrite@32 FsRtlCopyWrite=FsRtlCopyWrite@32
FsRtlDeregisterUncProvider=FsRtlDeregisterUncProvider@4 FsRtlDeregisterUncProvider=FsRtlDeregisterUncProvider@4
@ -87,9 +89,16 @@ FsRtlDissectDbcs=FsRtlDissectDbcs@16
FsRtlDissectName=FsRtlDissectName@16 FsRtlDissectName=FsRtlDissectName@16
FsRtlDoesDbcsContainWildCards=FsRtlDoesDbcsContainWildCards@4 FsRtlDoesDbcsContainWildCards=FsRtlDoesDbcsContainWildCards@4
FsRtlDoesNameContainWildCards=FsRtlDoesNameContainWildCards@4 FsRtlDoesNameContainWildCards=FsRtlDoesNameContainWildCards@4
FsRtlFastCheckLockForRead=FsRtlFastCheckLockForRead@24
FsRtlFastCheckLockForWrite=FsRtlFastCheckLockForWrite@24
FsRtlFastUnlockAll=FsRtlFastUnlockAll@16
FsRtlFastUnlockAllByKey=FsRtlFastUnlockAllByKey@20
FsRtlFastUnlockSingle=FsRtlFastUnlockSingle@32
FsRtlGetFileSize=FsRtlGetFileSize@8 FsRtlGetFileSize=FsRtlGetFileSize@8
FsRtlGetNextFileLock=FsRtlGetNextFileLock@8
FsRtlGetNextLargeMcbEntry=FsRtlGetNextLargeMcbEntry@20 FsRtlGetNextLargeMcbEntry=FsRtlGetNextLargeMcbEntry@20
FsRtlGetNextMcbEntry=FsRtlGetNextMcbEntry@20 FsRtlGetNextMcbEntry=FsRtlGetNextMcbEntry@20
FsRtlInitializeFileLock=FsRtlInitializeFileLock@12
FsRtlInitializeLargeMcb=FsRtlInitializeLargeMcb@8 FsRtlInitializeLargeMcb=FsRtlInitializeLargeMcb@8
FsRtlInitializeMcb=FsRtlInitializeMcb@8 FsRtlInitializeMcb=FsRtlInitializeMcb@8
FsRtlIsDbcsInExpression=FsRtlIsDbcsInExpression@8 FsRtlIsDbcsInExpression=FsRtlIsDbcsInExpression@8
@ -108,6 +117,8 @@ FsRtlNumberOfRunsInLargeMcb=FsRtlNumberOfRunsInLargeMcb@4
FsRtlNumberOfRunsInMcb=FsRtlNumberOfRunsInMcb@4 FsRtlNumberOfRunsInMcb=FsRtlNumberOfRunsInMcb@4
FsRtlPostPagingFileStackOverflow=FsRtlPostPagingFileStackOverflow@12 FsRtlPostPagingFileStackOverflow=FsRtlPostPagingFileStackOverflow@12
FsRtlPostStackOverflow=FsRtlPostStackOverflow@12 FsRtlPostStackOverflow=FsRtlPostStackOverflow@12
FsRtlPrivateLock=FsRtlPrivateLock@48
FsRtlProcessFileLock=FsRtlProcessFileLock@12
FsRtlRegisterUncProvider=FsRtlRegisterUncProvider@12 FsRtlRegisterUncProvider=FsRtlRegisterUncProvider@12
FsRtlRemoveLargeMcbEntry=FsRtlRemoveLargeMcbEntry@20 FsRtlRemoveLargeMcbEntry=FsRtlRemoveLargeMcbEntry@20
FsRtlRemoveMcbEntry=FsRtlRemoveMcbEntry@12 FsRtlRemoveMcbEntry=FsRtlRemoveMcbEntry@12
@ -115,6 +126,7 @@ FsRtlSplitLargeMcb=FsRtlSplitLargeMcb@20
FsRtlSyncVolumes=FsRtlSyncVolumes@12 FsRtlSyncVolumes=FsRtlSyncVolumes@12
FsRtlTruncateLargeMcb=FsRtlTruncateLargeMcb@12 FsRtlTruncateLargeMcb=FsRtlTruncateLargeMcb@12
FsRtlTruncateMcb=FsRtlTruncateMcb@8 FsRtlTruncateMcb=FsRtlTruncateMcb@8
FsRtlUninitializeFileLock=FsRtlUninitializeFileLock@4
FsRtlUninitializeLargeMcb=FsRtlUninitializeLargeMcb@4 FsRtlUninitializeLargeMcb=FsRtlUninitializeLargeMcb@4
FsRtlUninitializeMcb=FsRtlUninitializeMcb@4 FsRtlUninitializeMcb=FsRtlUninitializeMcb@4
IoAllocateController IoAllocateController
@ -171,7 +183,7 @@ NtAdjustPrivilegesToken=NtAdjustPrivilegesToken@24
NtAllocateLocallyUniqueId=NtAllocateLocallyUniqueId@4 NtAllocateLocallyUniqueId=NtAllocateLocallyUniqueId@4
NtAllocateUuids=NtAllocateUuids@12 NtAllocateUuids=NtAllocateUuids@12
NtAllocateVirtualMemory=NtAllocateVirtualMemory@24 NtAllocateVirtualMemory=NtAllocateVirtualMemory@24
;NtBuildNumber <--- variable NtBuildNumber DATA
NtClose=NtClose@4 NtClose=NtClose@4
NtConnectPort=NtConnectPort@32 NtConnectPort=NtConnectPort@32
;NtConnectPort=NtConnectPort@8 ;NtConnectPort=NtConnectPort@8