From 8f1ea8477c26811c0e79886b19977baef8ee9e24 Mon Sep 17 00:00:00 2001 From: Emanuele Aliberti Date: Fri, 25 Feb 2000 23:27:51 +0000 Subject: [PATCH] FsRtl stubs for DBCS names handling. svn path=/trunk/; revision=1009 --- reactos/include/ddk/fsfuncs.h | 44 +++++++++++- reactos/include/ddk/ntifs.h | 2 + reactos/ntoskrnl/fs/dbcsname.c | 126 +++++++++++++++++++++++++++++++++ reactos/ntoskrnl/fs/name.c | 4 +- reactos/ntoskrnl/makefile_rex | 4 +- reactos/ntoskrnl/ntoskrnl.def | 14 +++- reactos/ntoskrnl/ntoskrnl.edf | 12 +++- 7 files changed, 198 insertions(+), 8 deletions(-) create mode 100644 reactos/ntoskrnl/fs/dbcsname.c diff --git a/reactos/include/ddk/fsfuncs.h b/reactos/include/ddk/fsfuncs.h index 6661fa7ff77..1600e35e82b 100644 --- a/reactos/include/ddk/fsfuncs.h +++ b/reactos/include/ddk/fsfuncs.h @@ -1,6 +1,6 @@ #ifndef __INCLUDE_DDK_FSFUNCS_H #define __INCLUDE_DDK_FSFUNCS_H -/* $Id: fsfuncs.h,v 1.4 2000/02/24 23:27:52 ea Exp $ */ +/* $Id: fsfuncs.h,v 1.5 2000/02/25 23:27:50 ea Exp $ */ VOID STDCALL FsRtlAddLargeMcbEntry ( @@ -69,6 +69,14 @@ FsRtlDeregisterUncProvider ( ); VOID STDCALL +FsRtlDissectDbcs ( + DWORD Unknown0, + DWORD Unknown1, + DWORD Unknown2, + DWORD Unknown3 + ); +VOID +STDCALL FsRtlDissectName ( DWORD Unknown0, DWORD Unknown1, @@ -77,6 +85,11 @@ FsRtlDissectName ( ); BOOLEAN STDCALL +FsRtlDoesDbcsContainWildCards ( + IN DWORD Unknown0 + ); +BOOLEAN +STDCALL FsRtlDoesNameContainWildCards ( IN PUNICODE_STRING Name ); @@ -120,6 +133,30 @@ FsRtlInitializeMcb ( ); BOOLEAN STDCALL +FsRtlIsDbcsInExpression ( + DWORD Unknown0, + DWORD Unknown1 + ); +BOOLEAN +STDCALL +FsRtlIsFatDbcsLegal ( + DWORD Unknown0, + DWORD Unknown1, + DWORD Unknown2, + DWORD Unknown3, + DWORD Unknown4 + ); +BOOLEAN +STDCALL +FsRtlIsHpfsDbcsLegal ( + DWORD Unknown0, + DWORD Unknown1, + DWORD Unknown2, + DWORD Unknown3, + DWORD Unknown4 + ); +BOOLEAN +STDCALL FsRtlIsNameInExpression ( IN PUNICODE_STRING Expression, IN PUNICODE_STRING Name, @@ -136,6 +173,11 @@ STDCALL FsRtlIsTotalDeviceFailure ( NTSTATUS NtStatus ); +#define FsRtlIsUnicodeCharacterWild(C) ( \ + (((C) >= 0x40) ? \ + FALSE : \ + FlagOn((*FsRtlLegalAnsiCharacterArray)[(C)], FSRTL_WILD_CHARACTER )) \ + ) VOID STDCALL FsRtlLookupLargeMcbEntry ( diff --git a/reactos/include/ddk/ntifs.h b/reactos/include/ddk/ntifs.h index 3892787c3c0..9e25e71a1ef 100644 --- a/reactos/include/ddk/ntifs.h +++ b/reactos/include/ddk/ntifs.h @@ -52,4 +52,6 @@ NTSTATUS CcReleaseFileCache(PFILE_OBJECT FileObject, #include +#include + #endif /* __INCLUDE_DDK_NTIFS_H */ diff --git a/reactos/ntoskrnl/fs/dbcsname.c b/reactos/ntoskrnl/fs/dbcsname.c new file mode 100644 index 00000000000..d2e529eb78f --- /dev/null +++ b/reactos/ntoskrnl/fs/dbcsname.c @@ -0,0 +1,126 @@ +/* $Id: dbcsname.c,v 1.1 2000/02/25 23:27:51 ea Exp $ + * + * reactos/ntoskrnl/fs/dbcsname.c + * + */ +#include +#include + + +/********************************************************************** + * NAME EXPORTED + * FsRtlDissectDbcs@16 + * + * DESCRIPTION + * + * ARGUMENTS + * + * RETURN VALUE + * + */ +VOID +STDCALL +FsRtlDissectDbcs ( + DWORD Unknown0, + DWORD Unknown1, + DWORD Unknown2, + DWORD Unknown3 + ) +{ +} + + +/********************************************************************** + * NAME EXPORTED + * FsRtlDoesDbcsContainWildCards@4 + * + * DESCRIPTION + * + * ARGUMENTS + * + * RETURN VALUE + * + */ +BOOLEAN +STDCALL +FsRtlDoesDbcsContainWildCards ( + DWORD Unknown0 + ) +{ + return FALSE; +} + + +/********************************************************************** + * NAME EXPORTED + * FsRtlIsDbcsInExpression@8 + * + * DESCRIPTION + * + * ARGUMENTS + * + * RETURN VALUE + * + */ +BOOLEAN +STDCALL +FsRtlIsDbcsInExpression ( + DWORD Unknown0, + DWORD Unknown1 + ) +{ + return FALSE; +} + + +/********************************************************************** + * NAME EXPORTED + * FsRtlIsFatDbcsLegal@20 + * + * DESCRIPTION + * + * ARGUMENTS + * + * RETURN VALUE + * + */ +BOOLEAN +STDCALL +FsRtlIsFatDbcsLegal ( + DWORD Unknown0, + DWORD Unknown1, + DWORD Unknown2, + DWORD Unknown3, + DWORD Unknown4 + ) +{ + return FALSE; +} + + +/********************************************************************** + * NAME EXPORTED + * FsRtlIsHpfsDbcsLegal@20 + * + * DESCRIPTION + * + * ARGUMENTS + * + * RETURN VALUE + * + */ +BOOLEAN +STDCALL +FsRtlIsHpfsDbcsLegal ( + DWORD Unknown0, + DWORD Unknown1, + DWORD Unknown2, + DWORD Unknown3, + DWORD Unknown4 + ) +{ + return FALSE; +} + + +/* EOF */ diff --git a/reactos/ntoskrnl/fs/name.c b/reactos/ntoskrnl/fs/name.c index e3c6c7d4604..4832a70a730 100644 --- a/reactos/ntoskrnl/fs/name.c +++ b/reactos/ntoskrnl/fs/name.c @@ -1,4 +1,4 @@ -/* $Id: name.c,v 1.1 2000/02/24 23:25:16 ea Exp $ +/* $Id: name.c,v 1.2 2000/02/25 23:27:51 ea Exp $ * * reactos/ntoskrnl/fs/name.c * @@ -7,7 +7,7 @@ /* DATA */ -PUCHAR * FsRtlLegalAnsiCharacterArray; +PUCHAR * FsRtlLegalAnsiCharacterArray = NULL; /********************************************************************** diff --git a/reactos/ntoskrnl/makefile_rex b/reactos/ntoskrnl/makefile_rex index 44f3a2b504f..258c8f41899 100644 --- a/reactos/ntoskrnl/makefile_rex +++ b/reactos/ntoskrnl/makefile_rex @@ -1,4 +1,4 @@ -# $Id: makefile_rex,v 1.52 2000/02/24 23:31:27 ea Exp $ +# $Id: makefile_rex,v 1.53 2000/02/25 23:27:50 ea Exp $ # # ReactOS Operating System # @@ -56,7 +56,7 @@ 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/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 SE_OBJECTS = se/semgr.o se/acl.o se/sid.o se/sd.o se/token.o se/luid.o \ se/priv.o diff --git a/reactos/ntoskrnl/ntoskrnl.def b/reactos/ntoskrnl/ntoskrnl.def index a74e77fec43..ab778dfcf0a 100644 --- a/reactos/ntoskrnl/ntoskrnl.def +++ b/reactos/ntoskrnl/ntoskrnl.def @@ -1,4 +1,4 @@ -; $Id: ntoskrnl.def,v 1.43 2000/02/21 22:39:46 ekohl Exp $ +; $Id: ntoskrnl.def,v 1.44 2000/02/25 23:27:50 ea Exp $ ; ; reactos/ntoskrnl/ntoskrnl.def ; @@ -78,17 +78,27 @@ ExTryToAcquireResourceExclusiveLite FsRtlAddLargeMcbEntry@28 FsRtlAddMcbEntry@16 FsRtlAllocateResource@0 +FsRtlAreNamesEqual@16 FsRtlBalanceReads@4 FsRtlCopyRead@32 FsRtlCopyWrite@32 FsRtlDeregisterUncProvider@4 +FsRtlDissectDbcs@16 +FsRtlDissectName@16 +FsRtlDoesDbcsContainWildCards@4 +FsRtlDoesNameContainWildCards@4 FsRtlGetFileSize@8 FsRtlGetNextLargeMcbEntry@20 FsRtlGetNextMcbEntry@20 FsRtlInitializeLargeMcb@8 FsRtlInitializeMcb@8 +FsRtlIsDbcsInExpression@8 +FsRtlIsFatDbcsLegal@20 +FsRtlIsHpfsDbcsLegal@20 +FsRtlIsNameInExpression@16 FsRtlIsNtstatusExpected@4 FsRtlIsTotalDeviceFailure@4 +FsRtlLegalAnsiCharacterArray DATA FsRtlLookupLargeMcbEntry@32 FsRtlLookupLastLargeMcbEntry@12 FsRtlLookupLastMcbEntry@12 @@ -555,4 +565,4 @@ WRITE_PORT_ULONG WRITE_PORT_USHORT InsertTailList RemoveEntryList -_KeServiceDescriptorTable DATA \ No newline at end of file +_KeServiceDescriptorTable DATA diff --git a/reactos/ntoskrnl/ntoskrnl.edf b/reactos/ntoskrnl/ntoskrnl.edf index 6f2f4d0e1c6..8e872ebb5f0 100644 --- a/reactos/ntoskrnl/ntoskrnl.edf +++ b/reactos/ntoskrnl/ntoskrnl.edf @@ -1,4 +1,4 @@ -; $Id: ntoskrnl.edf,v 1.30 2000/02/21 22:39:46 ekohl Exp $ +; $Id: ntoskrnl.edf,v 1.31 2000/02/25 23:27:51 ea Exp $ ; ; reactos/ntoskrnl/ntoskrnl.def ; @@ -78,17 +78,27 @@ ExTryToAcquireResourceExclusiveLite FsRtlAddLargeMcbEntry=FsRtlAddLargeMcbEntry@28 FsRtlAddMcbEntry=FsRtlAddMcbEntry@16 FsRtlAllocateResource=FsRtlAllocateResource@0 +FsRtlAreNamesEqual=FsRtlAreNamesEqual@16 FsRtlBalanceReads=FsRtlBalanceReads@4 FsRtlCopyRead=FsRtlCopyRead@32 FsRtlCopyWrite=FsRtlCopyWrite@32 FsRtlDeregisterUncProvider=FsRtlDeregisterUncProvider@4 +FsRtlDissectDbcs=FsRtlDissectDbcs@16 +FsRtlDissectName=FsRtlDissectName@16 +FsRtlDoesDbcsContainWildCards=FsRtlDoesDbcsContainWildCards@4 +FsRtlDoesNameContainWildCards=FsRtlDoesNameContainWildCards@4 FsRtlGetFileSize=FsRtlGetFileSize@8 FsRtlGetNextLargeMcbEntry=FsRtlGetNextLargeMcbEntry@20 FsRtlGetNextMcbEntry=FsRtlGetNextMcbEntry@20 FsRtlInitializeLargeMcb=FsRtlInitializeLargeMcb@8 FsRtlInitializeMcb=FsRtlInitializeMcb@8 +FsRtlIsDbcsInExpression=FsRtlIsDbcsInExpression@8 +FsRtlIsFatDbcsLegal=FsRtlIsFatDbcsLegal@20 +FsRtlIsHpfsDbcsLegal=FsRtlIsHpfsDbcsLegal@20 +FsRtlIsNameInExpression=FsRtlIsNameInExpression@16 FsRtlIsNtstatusExpected=FsRtlIsNtstatusExpected@4 FsRtlIsTotalDeviceFailure=FsRtlIsTotalDeviceFailure@4 +FsRtlLegalAnsiCharacterArray DATA FsRtlLookupLargeMcbEntry=FsRtlLookupLargeMcbEntry@32 FsRtlLookupLastLargeMcbEntry=FsRtlLookupLastLargeMcbEntry@12 FsRtlLookupLastMcbEntry=FsRtlLookupLastMcbEntry@12 -- 2.17.1