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
#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
STDCALL
FsRtlAddLargeMcbEntry (
@ -40,6 +40,18 @@ FsRtlBalanceReads (
);
BOOLEAN
STDCALL
FsRtlCheckLockForReadAccess (
DWORD Unknown0,
DWORD Unknown1
);
BOOLEAN
STDCALL
FsRtlCheckLockForWriteAccess (
DWORD Unknown0,
DWORD Unknown1
);
BOOLEAN
STDCALL
FsRtlCopyRead (
IN PFILE_OBJECT FileObject,
IN PLARGE_INTEGER FileOffset,
@ -93,12 +105,67 @@ STDCALL
FsRtlDoesNameContainWildCards (
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
STDCALL
FsRtlGetFileSize (
DWORD Unknown0,
DWORD Unknown1
);
NTSTATUS
STDCALL
FsRtlGetNextFileLock (
IN DWORD Unknown0,
IN OUT PVOID Unknown1
);
VOID
STDCALL
FsRtlGetNextLargeMcbEntry (
@ -121,6 +188,13 @@ FsRtlGetNextMcbEntry (
#define FsRtlExitFileSystem KeLeaveCriticalRegion
VOID
STDCALL
FsRtlInitializeFileLock (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2
);
VOID
STDCALL
FsRtlInitializeLargeMcb (
DWORD Unknown0,
DWORD Unknown1
@ -243,6 +317,29 @@ FsRtlPostStackOverflow (
DWORD Unknown1,
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
STDCALL
FsRtlRegisterUncProvider (
@ -297,6 +394,11 @@ FsRtlTruncateMcb (
);
VOID
STDCALL
FsRtlUninitializeFileLock (
IN OUT PVOID lpUnknown0
);
VOID
STDCALL
FsRtlUninitializeLargeMcb (
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
* PROJECT: ReactOS kernel
@ -29,6 +29,10 @@
#define NDEBUG
#include <internal/debug.h>
/* DATA *********************************************************************/
USHORT NtBuildNumber = KERNEL_VERSION_BUILD; /* EXPORTED */
/* FUNCTIONS ****************************************************************/
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
#
@ -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/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/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
;
@ -80,6 +80,8 @@ FsRtlAddMcbEntry@16
FsRtlAllocateResource@0
FsRtlAreNamesEqual@16
FsRtlBalanceReads@4
FsRtlCheckLockForReadAccess@8
FsRtlCheckLockForWriteAccess@8
FsRtlCopyRead@32
FsRtlCopyWrite@32
FsRtlDeregisterUncProvider@4
@ -87,9 +89,16 @@ FsRtlDissectDbcs@16
FsRtlDissectName@16
FsRtlDoesDbcsContainWildCards@4
FsRtlDoesNameContainWildCards@4
FsRtlFastCheckLockForRead@24
FsRtlFastCheckLockForWrite@24
FsRtlFastUnlockAll@16
FsRtlFastUnlockAllByKey@20
FsRtlFastUnlockSingle@32
FsRtlGetFileSize@8
FsRtlGetNextFileLock@8
FsRtlGetNextLargeMcbEntry@20
FsRtlGetNextMcbEntry@20
FsRtlInitializeFileLock@12
FsRtlInitializeLargeMcb@8
FsRtlInitializeMcb@8
FsRtlIsDbcsInExpression@8
@ -108,6 +117,8 @@ FsRtlNumberOfRunsInLargeMcb@4
FsRtlNumberOfRunsInMcb@4
FsRtlPostPagingFileStackOverflow@12
FsRtlPostStackOverflow@12
FsRtlPrivateLock@48
FsRtlProcessFileLock@12
FsRtlRegisterUncProvider@12
FsRtlRemoveLargeMcbEntry@20
FsRtlRemoveMcbEntry@12
@ -115,6 +126,7 @@ FsRtlSplitLargeMcb@20
FsRtlSyncVolumes@12
FsRtlTruncateLargeMcb@12
FsRtlTruncateMcb@8
FsRtlUninitializeFileLock@4
FsRtlUninitializeLargeMcb@4
FsRtlUninitializeMcb@4
IoAllocateController
@ -171,7 +183,7 @@ NtAdjustPrivilegesToken@24
NtAllocateLocallyUniqueId@4
NtAllocateUuids@12
NtAllocateVirtualMemory@24
;NtBuildNumber <--- variable?
NtBuildNumber DATA
NtClose@4
NtConnectPort@32
;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
;
@ -80,6 +80,8 @@ FsRtlAddMcbEntry=FsRtlAddMcbEntry@16
FsRtlAllocateResource=FsRtlAllocateResource@0
FsRtlAreNamesEqual=FsRtlAreNamesEqual@16
FsRtlBalanceReads=FsRtlBalanceReads@4
FsRtlCheckLockForReadAccess=FsRtlCheckLockForReadAccess@8
FsRtlCheckLockForWriteAccess=FsRtlCheckLockForWriteAccess@8
FsRtlCopyRead=FsRtlCopyRead@32
FsRtlCopyWrite=FsRtlCopyWrite@32
FsRtlDeregisterUncProvider=FsRtlDeregisterUncProvider@4
@ -87,9 +89,16 @@ FsRtlDissectDbcs=FsRtlDissectDbcs@16
FsRtlDissectName=FsRtlDissectName@16
FsRtlDoesDbcsContainWildCards=FsRtlDoesDbcsContainWildCards@4
FsRtlDoesNameContainWildCards=FsRtlDoesNameContainWildCards@4
FsRtlFastCheckLockForRead=FsRtlFastCheckLockForRead@24
FsRtlFastCheckLockForWrite=FsRtlFastCheckLockForWrite@24
FsRtlFastUnlockAll=FsRtlFastUnlockAll@16
FsRtlFastUnlockAllByKey=FsRtlFastUnlockAllByKey@20
FsRtlFastUnlockSingle=FsRtlFastUnlockSingle@32
FsRtlGetFileSize=FsRtlGetFileSize@8
FsRtlGetNextFileLock=FsRtlGetNextFileLock@8
FsRtlGetNextLargeMcbEntry=FsRtlGetNextLargeMcbEntry@20
FsRtlGetNextMcbEntry=FsRtlGetNextMcbEntry@20
FsRtlInitializeFileLock=FsRtlInitializeFileLock@12
FsRtlInitializeLargeMcb=FsRtlInitializeLargeMcb@8
FsRtlInitializeMcb=FsRtlInitializeMcb@8
FsRtlIsDbcsInExpression=FsRtlIsDbcsInExpression@8
@ -108,6 +117,8 @@ FsRtlNumberOfRunsInLargeMcb=FsRtlNumberOfRunsInLargeMcb@4
FsRtlNumberOfRunsInMcb=FsRtlNumberOfRunsInMcb@4
FsRtlPostPagingFileStackOverflow=FsRtlPostPagingFileStackOverflow@12
FsRtlPostStackOverflow=FsRtlPostStackOverflow@12
FsRtlPrivateLock=FsRtlPrivateLock@48
FsRtlProcessFileLock=FsRtlProcessFileLock@12
FsRtlRegisterUncProvider=FsRtlRegisterUncProvider@12
FsRtlRemoveLargeMcbEntry=FsRtlRemoveLargeMcbEntry@20
FsRtlRemoveMcbEntry=FsRtlRemoveMcbEntry@12
@ -115,6 +126,7 @@ FsRtlSplitLargeMcb=FsRtlSplitLargeMcb@20
FsRtlSyncVolumes=FsRtlSyncVolumes@12
FsRtlTruncateLargeMcb=FsRtlTruncateLargeMcb@12
FsRtlTruncateMcb=FsRtlTruncateMcb@8
FsRtlUninitializeFileLock=FsRtlUninitializeFileLock@4
FsRtlUninitializeLargeMcb=FsRtlUninitializeLargeMcb@4
FsRtlUninitializeMcb=FsRtlUninitializeMcb@4
IoAllocateController
@ -171,7 +183,7 @@ NtAdjustPrivilegesToken=NtAdjustPrivilegesToken@24
NtAllocateLocallyUniqueId=NtAllocateLocallyUniqueId@4
NtAllocateUuids=NtAllocateUuids@12
NtAllocateVirtualMemory=NtAllocateVirtualMemory@24
;NtBuildNumber <--- variable
NtBuildNumber DATA
NtClose=NtClose@4
NtConnectPort=NtConnectPort@32
;NtConnectPort=NtConnectPort@8