diff --git a/reactos/lib/ntdll/def/ntdll.def b/reactos/lib/ntdll/def/ntdll.def index 57266c10cbd..5906dcf43b9 100644 --- a/reactos/lib/ntdll/def/ntdll.def +++ b/reactos/lib/ntdll/def/ntdll.def @@ -1,4 +1,4 @@ -; $Id: ntdll.def,v 1.115 2004/02/02 22:37:21 ekohl Exp $ +; $Id: ntdll.def,v 1.116 2004/02/03 14:38:23 ekohl Exp $ ; ; ReactOS Operating System ; @@ -434,6 +434,7 @@ RtlFreeRangeList@4 RtlFreeSid@4 RtlFreeUnicodeString@4 RtlFreeUserThreadStack@8 +RtlGUIDFromString@8 RtlGenerate8dot3Name@16 RtlGetAce@12 RtlGetCallersAddress@4 @@ -579,6 +580,7 @@ RtlSetTimeZoneInformation@4 RtlSizeHeap@12 RtlSplay@4 ;RtlStartRXact +RtlStringFromGUID@8 RtlSubAuthorityCountSid@4 RtlSubAuthoritySid@8 RtlSubtreePredecessor@4 @@ -590,6 +592,8 @@ RtlTimeToSecondsSince1970@8 RtlTimeToSecondsSince1980@8 RtlTimeToTimeFields@8 RtlTryEnterCriticalSection@4 +@RtlUlongByteSwap@4 +@RtlUlonglongByteSwap@8 RtlUnicodeStringToAnsiSize@4 RtlUnicodeStringToAnsiString@12 RtlUnicodeStringToCountedOemString@12 @@ -614,6 +618,7 @@ RtlUpcaseUnicodeToOemN@20 RtlUpperChar@4 RtlUpperString@8 ;RtlUsageHeap +@RtlUshortByteSwap@4 RtlValidAcl@4 RtlValidSecurityDescriptor@4 RtlValidSid@4 @@ -1152,7 +1157,6 @@ RtlFindCharInUnicodeString@16 ;RtlFirstEntrySList ;RtlFlushSecureMemoryCache ;RtlFreeThreadActivationContextStack -RtlGUIDFromString@8 RtlGetActiveActivationContext@4 RtlGetCurrentPeb@0 ;RtlGetElementGenericTableAvl @@ -1235,7 +1239,6 @@ RtlSetLastWin32ErrorAndNtStatusFromNtStatus@4 ;RtlSetThreadPoolStartFunc ;RtlSetTimer ;RtlStatMemoryStream -RtlStringFromGUID@8 ;RtlTraceDatabaseAdd ;RtlTraceDatabaseCreate ;RtlTraceDatabaseDestroy @@ -1244,14 +1247,11 @@ RtlStringFromGUID@8 ;RtlTraceDatabaseLock ;RtlTraceDatabaseUnlock ;RtlTraceDatabaseValidate -@RtlUlongByteSwap@4 -@RtlUlonglongByteSwap@8 ;RtlUnhandledExceptionFilter ;RtlUnhandledExceptionFilter2 ;RtlUnlockBootStatusData ;RtlUnlockMemoryStreamRegion RtlUpdateTimer@16 -@RtlUshortByteSwap@4 RtlValidRelativeSecurityDescriptor@12 ;RtlValidateUnicodeString RtlVerifyVersionInfo@16 @@ -1352,117 +1352,6 @@ ZwWaitForKeyedEvent@16 _CIpow ;_CIsin ;_CIsqrt -;__eCommonExceptions -;__eEmulatorInit -;__eF2XM1 -;__eFABS -;__eFADD32 -;__eFADD64 -;__eFADDPreg -;__eFADDreg -;__eFADDtop -;__eFCHS -;__eFCOM -;__eFCOM32 -;__eFCOM64 -;__eFCOMP -;__eFCOMP32 -;__eFCOMP64 -;__eFCOMPP -;__eFCOS -;__eFDECSTP -;__eFDIV32 -;__eFDIV64 -;__eFDIVPreg -;__eFDIVR32 -;__eFDIVR64 -;__eFDIVRPreg -;__eFDIVRreg -;__eFDIVRtop -;__eFDIVreg -;__eFDIVtop -;__eFFREE -;__eFIADD16 -;__eFIADD32 -;__eFICOM16 -;__eFICOM32 -;__eFICOMP16 -;__eFICOMP32 -;__eFIDIV16 -;__eFIDIV32 -;__eFIDIVR16 -;__eFIDIVR32 -;__eFILD16 -;__eFILD32 -;__eFILD64 -;__eFIMUL16 -;__eFIMUL32 -;__eFINCSTP -;__eFINIT -;__eFIST16 -;__eFIST32 -;__eFISTP16 -;__eFISTP32 -;__eFISTP64 -;__eFISUB16 -;__eFISUB32 -;__eFISUBR16 -;__eFISUBR32 -;__eFLD1 -;__eFLD32 -;__eFLD64 -;__eFLD80 -;__eFLDCW -;__eFLDENV -;__eFLDL2E -;__eFLDLN2 -;__eFLDPI -;__eFLDZ -;__eFMUL32 -;__eFMUL64 -;__eFMULPreg -;__eFMULreg -;__eFMULtop -;__eFPATAN -;__eFPREM -;__eFPREM1 -;__eFPTAN -;__eFRNDINT -;__eFRSTOR -;__eFSAVE -;__eFSCALE -;__eFSIN -;__eFSQRT -;__eFST -;__eFST32 -;__eFST64 -;__eFSTCW -;__eFSTENV -;__eFSTP -;__eFSTP32 -;__eFSTP64 -;__eFSTP80 -;__eFSTSW -;__eFSUB32 -;__eFSUB64 -;__eFSUBPreg -;__eFSUBR32 -;__eFSUBR64 -;__eFSUBRPreg -;__eFSUBRreg -;__eFSUBRtop -;__eFSUBreg -;__eFSUBtop -;__eFTST -;__eFUCOM -;__eFUCOMP -;__eFUCOMPP -;__eFXAM -;__eFXCH -;__eFXTRACT -;__eFYL2X -;__eFYL2XP1 -;__eGetStatusWord ;_alldvrm ;_aulldvrm vDbgPrintEx diff --git a/reactos/lib/ntdll/def/ntdll.edf b/reactos/lib/ntdll/def/ntdll.edf index 620f8946529..8a458300b3f 100644 --- a/reactos/lib/ntdll/def/ntdll.edf +++ b/reactos/lib/ntdll/def/ntdll.edf @@ -1,4 +1,4 @@ -; $Id: ntdll.edf,v 1.105 2004/02/02 22:37:21 ekohl Exp $ +; $Id: ntdll.edf,v 1.106 2004/02/03 14:38:23 ekohl Exp $ ; ; ReactOS Operating System ; @@ -434,6 +434,7 @@ RtlFreeRangeList=RtlFreeRangeList@4 RtlFreeSid=RtlFreeSid@4 RtlFreeUnicodeString=RtlFreeUnicodeString@4 RtlFreeUserThreadStack=RtlFreeUserThreadStack@8 +RtlGUIDFromString=RtlGUIDFromString@8 RtlGenerate8dot3Name=RtlGenerate8dot3Name@16 RtlGetAce=RtlGetAce@12 RtlGetCallersAddress=RtlGetCallersAddress@4 @@ -478,6 +479,7 @@ RtlInitializeResource=RtlInitializeResource@4 ;RtlInitializeRXact RtlInitializeSid=RtlInitializeSid@12 RtlInsertElementGenericTable=RtlInsertElementGenericTable@16 +RtlInt64ToUnicodeString=RtlInt64ToUnicodeString@16 RtlIntegerToChar=RtlIntegerToChar@16 RtlIntegerToUnicodeString=RtlIntegerToUnicodeString@12 RtlInvertRangeList=RtlInvertRangeList@8 @@ -579,6 +581,7 @@ RtlSetTimeZoneInformation=RtlSetTimeZoneInformation@4 RtlSizeHeap=RtlSizeHeap@12 RtlSplay=RtlSplay@4 ;RtlStartRXact +RtlStringFromGUID=RtlStringFromGUID@8 RtlSubAuthorityCountSid=RtlSubAuthorityCountSid@4 RtlSubAuthoritySid=RtlSubAuthoritySid@8 RtlSubtreePredecessor=RtlSubtreePredecessor@4 @@ -590,6 +593,8 @@ RtlTimeToSecondsSince1970=RtlTimeToSecondsSince1970@8 RtlTimeToSecondsSince1980=RtlTimeToSecondsSince1980@8 RtlTimeToTimeFields=RtlTimeToTimeFields@8 RtlTryEnterCriticalSection=RtlTryEnterCriticalSection@4 +RtlUlongByteSwap=@RtlUlongByteSwap@4 +RtlUlonglongByteSwap=@RtlUlonglongByteSwap@8 RtlUnicodeStringToAnsiSize=RtlUnicodeStringToAnsiSize@4 RtlUnicodeStringToAnsiString=RtlUnicodeStringToAnsiString@12 RtlUnicodeStringToCountedOemString=RtlUnicodeStringToCountedOemString@12 @@ -614,6 +619,7 @@ RtlUpcaseUnicodeToOemN=RtlUpcaseUnicodeToOemN@20 RtlUpperChar=RtlUpperChar@4 RtlUpperString=RtlUpperString@8 ;RtlUsageHeap +RtlUshortByteSwap=@RtlUshortByteSwap@4 RtlValidAcl=RtlValidAcl@4 RtlValidSecurityDescriptor=RtlValidSecurityDescriptor@4 RtlValidSid=RtlValidSid@4 @@ -1152,7 +1158,6 @@ RtlFindCharInUnicodeString=RtlFindCharInUnicodeString@16 ;RtlFirstEntrySList ;RtlFlushSecureMemoryCache ;RtlFreeThreadActivationContextStack -RtlGUIDFromString=RtlGUIDFromString@8 RtlGetActiveActivationContext=RtlGetActiveActivationContext@4 RtlGetCurrentPeb=RtlGetCurrentPeb@0 ;RtlGetElementGenericTableAvl @@ -1172,7 +1177,6 @@ RtlInitUnicodeStringEx=RtlInitUnicodeStringEx@8 ;RtlInitializeGenericTableAvl RtlInitializeSListHead=RtlInitializeSListHead@4 ;RtlInsertElementGenericTableAvl -RtlInt64ToUnicodeString=RtlInt64ToUnicodeString@16 RtlInterlockedFlushSList=RtlInterlockedFlushSList@4 RtlInterlockedPopEntrySList=RtlInterlockedPopEntrySList@4 RtlInterlockedPushEntrySList=RtlInterlockedPushEntrySList@8 @@ -1235,7 +1239,6 @@ RtlSetLastWin32ErrorAndNtStatusFromNtStatus=RtlSetLastWin32ErrorAndNtStatusFromN ;RtlSetThreadPoolStartFunc ;RtlSetTimer ;RtlStatMemoryStream -RtlStringFromGUID=RtlStringFromGUID@8 ;RtlTraceDatabaseAdd ;RtlTraceDatabaseCreate ;RtlTraceDatabaseDestroy @@ -1244,14 +1247,11 @@ RtlStringFromGUID=RtlStringFromGUID@8 ;RtlTraceDatabaseLock ;RtlTraceDatabaseUnlock ;RtlTraceDatabaseValidate -RtlUlongByteSwap=@RtlUlongByteSwap@4 -RtlUlonglongByteSwap=@RtlUlonglongByteSwap@8 ;RtlUnhandledExceptionFilter ;RtlUnhandledExceptionFilter2 ;RtlUnlockBootStatusData ;RtlUnlockMemoryStreamRegion RtlUpdateTimer=RtlUpdateTimer@16 -RtlUshortByteSwap=@RtlUshortByteSwap@4 RtlValidRelativeSecurityDescriptor=RtlValidRelativeSecurityDescriptor@12 ;RtlValidateUnicodeString RtlVerifyVersionInfo=RtlVerifyVersionInfo@16 @@ -1352,117 +1352,6 @@ ZwWaitForKeyedEvent=ZwWaitForKeyedEvent@16 _CIpow ;_CIsin ;_CIsqrt -;__eCommonExceptions -;__eEmulatorInit -;__eF2XM1 -;__eFABS -;__eFADD32 -;__eFADD64 -;__eFADDPreg -;__eFADDreg -;__eFADDtop -;__eFCHS -;__eFCOM -;__eFCOM32 -;__eFCOM64 -;__eFCOMP -;__eFCOMP32 -;__eFCOMP64 -;__eFCOMPP -;__eFCOS -;__eFDECSTP -;__eFDIV32 -;__eFDIV64 -;__eFDIVPreg -;__eFDIVR32 -;__eFDIVR64 -;__eFDIVRPreg -;__eFDIVRreg -;__eFDIVRtop -;__eFDIVreg -;__eFDIVtop -;__eFFREE -;__eFIADD16 -;__eFIADD32 -;__eFICOM16 -;__eFICOM32 -;__eFICOMP16 -;__eFICOMP32 -;__eFIDIV16 -;__eFIDIV32 -;__eFIDIVR16 -;__eFIDIVR32 -;__eFILD16 -;__eFILD32 -;__eFILD64 -;__eFIMUL16 -;__eFIMUL32 -;__eFINCSTP -;__eFINIT -;__eFIST16 -;__eFIST32 -;__eFISTP16 -;__eFISTP32 -;__eFISTP64 -;__eFISUB16 -;__eFISUB32 -;__eFISUBR16 -;__eFISUBR32 -;__eFLD1 -;__eFLD32 -;__eFLD64 -;__eFLD80 -;__eFLDCW -;__eFLDENV -;__eFLDL2E -;__eFLDLN2 -;__eFLDPI -;__eFLDZ -;__eFMUL32 -;__eFMUL64 -;__eFMULPreg -;__eFMULreg -;__eFMULtop -;__eFPATAN -;__eFPREM -;__eFPREM1 -;__eFPTAN -;__eFRNDINT -;__eFRSTOR -;__eFSAVE -;__eFSCALE -;__eFSIN -;__eFSQRT -;__eFST -;__eFST32 -;__eFST64 -;__eFSTCW -;__eFSTENV -;__eFSTP -;__eFSTP32 -;__eFSTP64 -;__eFSTP80 -;__eFSTSW -;__eFSUB32 -;__eFSUB64 -;__eFSUBPreg -;__eFSUBR32 -;__eFSUBR64 -;__eFSUBRPreg -;__eFSUBRreg -;__eFSUBRtop -;__eFSUBreg -;__eFSUBtop -;__eFTST -;__eFUCOM -;__eFUCOMP -;__eFUCOMPP -;__eFXAM -;__eFXCH -;__eFXTRACT -;__eFYL2X -;__eFYL2XP1 -;__eGetStatusWord ;_alldvrm ;_aulldvrm vDbgPrintEx diff --git a/reactos/lib/ntdll/rtl/unicode.c b/reactos/lib/ntdll/rtl/unicode.c index 256d9f95184..42ae9d20682 100644 --- a/reactos/lib/ntdll/rtl/unicode.c +++ b/reactos/lib/ntdll/rtl/unicode.c @@ -1,4 +1,4 @@ -/* $Id: unicode.c,v 1.35 2004/02/02 19:04:11 hbirr Exp $ +/* $Id: unicode.c,v 1.36 2004/02/03 14:37:35 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -11,9 +11,9 @@ #include #include -//#include #include #include + #define NDEBUG #include @@ -21,8 +21,6 @@ extern PUSHORT NlsUnicodeUpcaseTable; extern PUSHORT NlsUnicodeLowercaseTable; -WCHAR STDCALL RtlDowncaseUnicodeChar(IN WCHAR Source); - /* FUNCTIONS *****************************************************************/ WCHAR STDCALL @@ -750,6 +748,16 @@ RtlFreeUnicodeString( UnicodeString->MaximumLength = 0; } +/* + * @unimplemented + */ +NTSTATUS STDCALL +RtlGUIDFromString (IN PUNICODE_STRING GuidString, + OUT GUID* Guid) +{ + return STATUS_NOT_IMPLEMENTED; +} + /* * @implemented @@ -829,6 +837,18 @@ RtlInitUnicodeString( } +/* + * @unimplemented + */ +NTSTATUS STDCALL +RtlInt64ToUnicodeString (IN ULONGLONG Value, + IN ULONG Base, + OUT PUNICODE_STRING String) +{ + return STATUS_NOT_IMPLEMENTED; +} + + /* * @implemented */ @@ -1195,6 +1215,46 @@ RtlPrefixUnicodeString( } +/* + * @implemented + */ +NTSTATUS STDCALL +RtlStringFromGUID (IN REFGUID Guid, + OUT PUNICODE_STRING GuidString) +{ + STATIC CONST PWCHAR Hex = L"0123456789ABCDEF"; + WCHAR Buffer[40]; + PWCHAR BufferPtr; + ULONG i; + + if (Guid == NULL) + { + return STATUS_INVALID_PARAMETER; + } + + swprintf (Buffer, + L"{%08lX-%04X-%04X-%02X%02X-", + Guid->Data1, + Guid->Data2, + Guid->Data3, + Guid->Data4[0], + Guid->Data4[1]); + BufferPtr = Buffer + 25; + + /* 6 hex bytes */ + for (i = 2; i < 8; i++) + { + *BufferPtr++ = Hex[Guid->Data4[i] >> 4]; + *BufferPtr++ = Hex[Guid->Data4[i] & 0xf]; + } + + *BufferPtr++ = L'}'; + *BufferPtr++ = L'\0'; + + return RtlCreateUnicodeString (GuidString, Buffer); +} + + /* * @implemented */ @@ -1838,45 +1898,4 @@ RtlxUnicodeStringToOemSize (IN PUNICODE_STRING UnicodeString) return RtlUnicodeStringToAnsiSize (UnicodeString); } -/* - * @implemented - */ -NTSTATUS -STDCALL -RtlStringFromGUID( - IN REFGUID Guid, - OUT PUNICODE_STRING GuidString - ) -{ - STATIC CONST PWCHAR Hex = L"0123456789ABCDEF"; - WCHAR Buffer[40]; - PWCHAR BufferPtr; - INT i; - - if( Guid == NULL ) - { - return STATUS_INVALID_PARAMETER; - } - - swprintf( Buffer, L"{%08lX-%04X-%04X-%02X%02X-", - Guid->Data1, - Guid->Data2, - Guid->Data3, - Guid->Data4[0], - Guid->Data4[1]); - BufferPtr = Buffer + 25; - - /* 6 hex bytes */ - for (i = 2; i < 8; i++) - { - *BufferPtr++ = Hex[Guid->Data4[i] >> 4]; - *BufferPtr++ = Hex[Guid->Data4[i] & 0xf]; - } - - *BufferPtr++ = '}'; - *BufferPtr++ = '\0'; - - return RtlCreateUnicodeString( GuidString, Buffer ); -} - /* EOF */ diff --git a/reactos/lib/ntdll/stubs/stubs.c b/reactos/lib/ntdll/stubs/stubs.c index c50bcb4869f..49925704775 100644 --- a/reactos/lib/ntdll/stubs/stubs.c +++ b/reactos/lib/ntdll/stubs/stubs.c @@ -203,14 +203,6 @@ RtlInitUnicodeStringEx(PUNICODE_STRING target,PCWSTR source) return(FALSE); } -/* - * @unimplemented - */ -NTSTATUS STDCALL RtlInt64ToUnicodeString(ULONGLONG value,ULONG base,UNICODE_STRING *str) -{ - return(FALSE); -} - /* * @unimplemented */ @@ -542,20 +534,6 @@ NtUnloadKeyEx( } -/* - * @unimplemented - */ -NTSTATUS -STDCALL -RtlGUIDFromString( - IN PUNICODE_STRING GuidString, - OUT GUID* Guid - ) -{ - return(FALSE); -} - - /* * @unimplemented */