Author: sginsberg
Date: Fri Sep 12 10:09:17 2008
New Revision: 36166
URL:
http://svn.reactos.org/svn/reactos?rev=36166&view=rev
Log:
- Uncomment NTDLL exports which we implement, and add stubs for numerous routines
- Add missing prototypes to NDK
- Implement RtlInterlockedCompareExchange64 and RtlGetCurrentProcessorNumber
- Rename RtlpCurrentPeb to RtlGetCurrentPeb and export it from NTDLL
Added:
trunk/reactos/lib/rtl/actctx.c (with props)
trunk/reactos/lib/rtl/interlck.c (with props)
trunk/reactos/lib/rtl/slist.c (with props)
Modified:
trunk/reactos/dll/ntdll/def/ntdll_i386.def
trunk/reactos/dll/ntdll/ldr/utils.c
trunk/reactos/dll/ntdll/rtl/libsupp.c
trunk/reactos/include/ndk/ldrfuncs.h
trunk/reactos/include/ndk/rtlfuncs.h
trunk/reactos/lib/rtl/env.c
trunk/reactos/lib/rtl/error.c
trunk/reactos/lib/rtl/exception.c
trunk/reactos/lib/rtl/heap.c
trunk/reactos/lib/rtl/process.c
trunk/reactos/lib/rtl/rtl.rbuild
trunk/reactos/lib/rtl/security.c
trunk/reactos/lib/rtl/thread.c
trunk/reactos/lib/rtl/unicode.c
trunk/reactos/ntoskrnl/rtl/libsupp.c
Modified: trunk/reactos/dll/ntdll/def/ntdll_i386.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/def/ntdll_i386.d…
==============================================================================
--- trunk/reactos/dll/ntdll/def/ntdll_i386.def [iso-8859-1] (original)
+++ trunk/reactos/dll/ntdll/def/ntdll_i386.def [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -92,13 +92,13 @@
LdrFindEntryForAddress@8
;LdrEnumerateLoadedModules
;LdrFindCreateProcessManifest
-;LdrFindEntryForAddress
+LdrFindEntryForAddress@8
LdrFindResourceDirectory_U@16
;LdrFindResourceEx_U
LdrFindResource_U@16
LdrGetDllHandle@16
;LdrFlushAlternateResourceModules
-;LdrGetDllHandle
+LdrGetDllHandle@16
;LdrGetDllHandleEx
LdrGetProcedureAddress@16
;LdrHotPatchRoutine
@@ -106,7 +106,7 @@
LdrInitializeThunk@16
;LdrLoadAlternateResourceModule
LdrLoadDll@16
-;LdrLockLoaderLock
+LdrLockLoaderLock@12
;LdrOpenImageFileOptionsKey
LdrProcessRelocationBlock@16
LdrQueryImageFileExecutionOptions@24
@@ -117,9 +117,9 @@
;LdrSetDllManifestProber
LdrShutdownProcess@0
LdrShutdownThread@0
-;LdrUnloadAlternateResourceModule
+LdrUnloadAlternateResourceModule@4
LdrUnloadDll@4
-;LdrUnlockLoaderLock
+LdrUnlockLoaderLock@8
LdrVerifyImageMatchesChecksum@16
NlsAnsiCodePage DATA
NlsMbCodePageTag DATA
@@ -430,14 +430,14 @@
;RtlAbortRXact
RtlAbsoluteToSelfRelativeSD@12
RtlAcquirePebLock@0
-;RtlAcquirePrivilege
+RtlAcquirePrivilege@16
RtlAcquireResourceExclusive@8
RtlAcquireResourceShared@8
RtlAcquireSRWLockExclusive@4
RtlAcquireSRWLockShared@4
;RtlActivateActivationContext
;RtlActivateActivationContextEx
-;RtlActivateActivationContextUnsafeFast
+RtlActivateActivationContextUnsafeFast@8
RtlAddAccessAllowedAce@16
RtlAddAccessAllowedAceEx@20
RtlAddAccessAllowedObjectAce@28
@@ -453,13 +453,13 @@
RtlAddAuditAccessObjectAce@36
;RtlAddCompoundAce
RtlAddMandatoryAce@24
-;RtlAddRefActivationContext
+RtlAddRefActivationContext@4
;RtlAddRefMemoryStream
;RtlAddVectoredContinueHandler
RtlAddVectoredExceptionHandler@8
;RtlAddressInSectionTable
RtlAdjustPrivilege@16
-;RtlAllocateActivationContextStack
+RtlAllocateActivationContextStack@4
RtlAllocateAndInitializeSid@44
RtlAllocateHandle@8
RtlAllocateHeap@12
@@ -479,7 +479,7 @@
RtlAreBitsSet@12
RtlAssert@16
;RtlCancelTimer
-;RtlCaptureContext
+RtlCaptureContext@4
RtlCaptureStackBackTrace@16
;RtlCaptureStackContext
RtlCharToInteger@12
@@ -530,7 +530,7 @@
RtlCreateQueryDebugBuffer@8
RtlCreateRegistryKey@8
RtlCreateSecurityDescriptor@8
-;RtlCreateSystemVolumeInformationFolder
+RtlCreateSystemVolumeInformationFolder@4
RtlCreateTagHeap@16
RtlCreateTimer@28
RtlCreateTimerQueue@4
@@ -542,9 +542,10 @@
RtlCustomCPToUnicodeN@24
RtlCutoverTimeToSystemTime@16
RtlDeNormalizeProcessParams@4
-;RtlDeactivateActivationContext
+RtlDeactivateActivationContext@8
+RtlDeactivateActivationContextUnsafeFast@4
RtlDecodePointer=RtlEncodePointer@4
-;RtlDecodeSystemPointer
+RtlDecodeSystemPointer@4=RtlEncodeSystemPointer@4
RtlDecompressBuffer@24
RtlDecompressFragment@32
;RtlDefaultNpAcl
@@ -587,7 +588,7 @@
RtlEmptyAtomTable@8
;RtlEnableEarlyCriticalSectionEventCreation
RtlEncodePointer@4
-;RtlEncodeSystemPointer
+RtlEncodeSystemPointer@4
RtlEnlargedIntegerMultiply@8
RtlEnlargedUnsignedDivide@16
RtlEnlargedUnsignedMultiply@8
@@ -616,8 +617,8 @@
RtlFillMemoryUlong@12
;RtlFinalReleaseOutOfProcessMemoryStream
;RtlFindActivationContextSectionGuid
-;RtlFindActivationContextSectionString
-;RtlFindCharInUnicodeString
+RtlFindActivationContextSectionString@20
+RtlFindCharInUnicodeString@16
RtlFindClearBits@12
RtlFindClearBitsAndSet@12
RtlFindClearRuns@16
@@ -629,9 +630,9 @@
RtlFindNextForwardRunClear@12
RtlFindSetBits@12
RtlFindSetBitsAndClear@12
-;RtlFirstEntrySList
+RtlFirstEntrySList@4
RtlFirstFreeAce@8
-;RtlFlushSecureMemoryCache
+RtlFlushSecureMemoryCache@8
RtlFormatCurrentUserKeyPath@4
RtlFormatMessage@32
;RtlFormatMessageEx
@@ -647,14 +648,14 @@
RtlGUIDFromString@8
RtlGenerate8dot3Name@16
RtlGetAce@12
-;RtlGetActiveActivationContext
-;RtlGetCallersAddress
+RtlGetActiveActivationContext@4
+RtlGetCallersAddress@8
RtlGetCompressionWorkSpaceSize@12
RtlGetControlSecurityDescriptor@12
;RtlGetCriticalSectionRecursionCount
RtlGetCurrentDirectory_U@8
-;RtlGetCurrentPeb
-;RtlGetCurrentProcessorNumber
+RtlGetCurrentPeb@0
+RtlGetCurrentProcessorNumber@0
RtlGetDaclSecurityDescriptor@16
RtlGetElementGenericTable@8
RtlGetElementGenericTableAvl@8
@@ -689,7 +690,7 @@
RtlImageRvaToVa@16
RtlImpersonateSelf@4
RtlInitAnsiString@8
-;RtlInitAnsiStringEx
+RtlInitAnsiStringEx@8
RtlInitCodePageTable@8
;RtlInitMemoryStream
RtlInitNlsTables@16
@@ -708,7 +709,7 @@
RtlInitializeHandleTable@12
;RtlInitializeRXact
RtlInitializeResource@4
-;RtlInitializeSListHead
+RtlInitializeSListHead@4
RtlInitializeSid@12
RtlInitializeSRWLock@4
RtlInsertElementGenericTable@16
@@ -718,11 +719,11 @@
RtlInt64ToUnicodeString@16
RtlIntegerToChar@16
RtlIntegerToUnicodeString@12
-;RtlInterlockedCompareExchange64
-;RtlInterlockedFlushSList
-;RtlInterlockedPopEntrySList
-;RtlInterlockedPushEntrySList
-;RtlInterlockedPushListSList
+RtlInterlockedCompareExchange64@20
+RtlInterlockedFlushSList@4
+RtlInterlockedPopEntrySList@4
+RtlInterlockedPushEntrySList@8
+RtlInterlockedPushListSList@16
RtlIpv4AddressToStringA@8
RtlIpv4AddressToStringExA@16
RtlIpv4AddressToStringExW@16
@@ -779,8 +780,8 @@
;RtlMultiAppendUnicodeStringBuffer
RtlMultiByteToUnicodeN@20
RtlMultiByteToUnicodeSize@12
-;RtlMultipleAllocateHeap
-;RtlMultipleFreeHeap
+RtlMultipleAllocateHeap@20
+RtlMultipleFreeHeap@16
;RtlNewInstanceSecurityObject
;RtlNewSecurityGrantedAccess
RtlNewSecurityObject@24
@@ -789,7 +790,7 @@
RtlNormalizeProcessParams@4
RtlNtPathNameToDosPathName@16
RtlNtStatusToDosError@4
-;RtlNtStatusToDosErrorNoTeb
+RtlNtStatusToDosErrorNoTeb@4
RtlNumberGenericTableElements@4
RtlNumberGenericTableElementsAvl@4
RtlNumberOfClearBits@4
@@ -803,14 +804,14 @@
;RtlPopFrame
RtlPrefixString@12
RtlPrefixUnicodeString@12
-;RtlProtectHeap
+RtlProtectHeap@8
;RtlPushFrame
RtlQueryAtomInAtomTable@24
-;RtlQueryDepthSList
+RtlQueryDepthSList@4
RtlQueryEnvironmentVariable_U@12
-;RtlQueryHeapInformation
+RtlQueryHeapInformation@20
RtlQueryInformationAcl@16
-;RtlQueryInformationActivationContext
+RtlQueryInformationActivationContext@28
;RtlQueryInformationActiveActivationContext
;RtlQueryInterfaceMemoryStream
;RtlQueryProcessBackTraceInformation
@@ -832,17 +833,17 @@
;RtlReadOutOfProcessMemoryStream
RtlRealPredecessor@4
RtlRealSuccessor@4
-;RtlRegisterSecureMemoryCacheCallback
+RtlRegisterSecureMemoryCacheCallback@4
RtlRegisterWait@24
-;RtlReleaseActivationContext
+RtlReleaseActivationContext@4
;RtlReleaseMemoryStream
RtlReleasePebLock@0
-;RtlReleasePrivilege
+RtlReleasePrivilege@4
RtlReleaseRelativeName@4
RtlReleaseResource@4
RtlReleaseSRWLockExclusive@4
RtlReleaseSRWLockShared@4
-;RtlRemoteCall
+RtlRemoteCall@28
;RtlRemoveVectoredContinueHandler
RtlRemoveVectoredExceptionHandler@4
RtlResetRtlTranslations@4
@@ -866,7 +867,7 @@
;RtlSetEnvironmentStrings
RtlSetEnvironmentVariable@12
RtlSetGroupSecurityDescriptor@12
-;RtlSetHeapInformation
+RtlSetHeapInformation@16
RtlSetInformationAcl@16
;RtlSetIoCompletionCallback
RtlSetLastWin32Error@4
@@ -883,7 +884,7 @@
;RtlSetThreadPoolStartFunc
RtlSetTimeZoneInformation@4
;RtlSetTimer
-;RtlSetUnhandledExceptionFilter
+RtlSetUnhandledExceptionFilter@4
;RtlSetUnicodeCallouts
RtlSetUserFlagsHeap@16
RtlSetUserValueHeap@16
@@ -953,18 +954,18 @@
RtlValidateProcessHeaps@0
RtlValidateUnicodeString@8
RtlVerifyVersionInfo@16
-;RtlWalkFrameChain
-;RtlWalkHeap
+RtlWalkFrameChain@12
+RtlWalkHeap@8
;RtlWow64EnableFsRedirection
;RtlWow64EnableFsRedirectionEx
RtlWakeAllConditionVariable@4
RtlWakeConditionVariable@4
RtlWriteRegistryValue@24
;RtlWriteMemoryStream
-;RtlWriteRegistryValue
-;RtlZeroHeap
+RtlWriteRegistryValue@24
+RtlZeroHeap@8
RtlZeroMemory@8
-;RtlZombifyActivationContext
+RtlZombifyActivationContext@4
;RtlpApplyLengthFunction
RtlpEnsureBufferSize@12
;RtlpNotOwnerCriticalSection
@@ -1285,7 +1286,7 @@
__iscsymf
__toascii
_alldiv
-;_alldvrm
+_alldvrm
_allmul
_alloca_probe
_allrem
@@ -1293,7 +1294,7 @@
_allshr
_atoi64
_aulldiv
-;_aulldvrm
+_aulldvrm
_aullrem
_aullshr
_chkstk
Modified: trunk/reactos/dll/ntdll/ldr/utils.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/utils.c?rev=…
==============================================================================
--- trunk/reactos/dll/ntdll/ldr/utils.c [iso-8859-1] (original)
+++ trunk/reactos/dll/ntdll/ldr/utils.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -3239,4 +3239,29 @@
return (PIMAGE_BASE_RELOCATION)TypeOffset;
}
-/* EOF */
+NTSTATUS
+NTAPI
+LdrLockLoaderLock(IN ULONG Flags,
+ OUT PULONG Disposition OPTIONAL,
+ OUT PULONG Cookie OPTIONAL)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+LdrUnlockLoaderLock(IN ULONG Flags,
+ IN ULONG Cookie OPTIONAL)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+BOOLEAN
+NTAPI
+LdrUnloadAlternateResourceModule(IN PVOID BaseAddress)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
Modified: trunk/reactos/dll/ntdll/rtl/libsupp.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/rtl/libsupp.c?re…
==============================================================================
--- trunk/reactos/dll/ntdll/rtl/libsupp.c [iso-8859-1] (original)
+++ trunk/reactos/dll/ntdll/rtl/libsupp.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -63,9 +63,12 @@
return UserMode;
}
+/*
+ * @implemented
+ */
PPEB
NTAPI
-RtlpCurrentPeb(VOID)
+RtlGetCurrentPeb(VOID)
{
return NtCurrentPeb();
}
Modified: trunk/reactos/include/ndk/ldrfuncs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/ldrfuncs.h?rev…
==============================================================================
--- trunk/reactos/include/ndk/ldrfuncs.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/ldrfuncs.h [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -59,6 +59,7 @@
);
BOOLEAN
+NTAPI
LdrUnloadAlternateResourceModule(
IN PVOID BaseAddress
);
@@ -86,6 +87,7 @@
);
NTSTATUS
+NTAPI
LdrLockLoaderLock(
IN ULONG Flags,
OUT PULONG Disposition OPTIONAL,
Modified: trunk/reactos/include/ndk/rtlfuncs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/rtlfuncs.h?rev…
==============================================================================
--- trunk/reactos/include/ndk/rtlfuncs.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/rtlfuncs.h [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -408,6 +408,13 @@
);
NTSYSAPI
+ULONG
+NTAPI
+RtlNtStatusToDosErrorNoTeb(
+ IN NTSTATUS Status
+);
+
+NTSYSAPI
VOID
NTAPI
RtlSetLastWin32ErrorAndNtStatusFromNtStatus(
@@ -568,6 +575,14 @@
);
NTSYSAPI
+PVOID
+NTAPI
+RtlProtectHeap(
+ IN PVOID HeapHandle,
+ IN BOOLEAN Protect
+);
+
+NTSYSAPI
PWSTR
NTAPI
RtlQueryTagHeap(
@@ -647,6 +662,14 @@
PVOID P
);
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlWalkHeap(
+ IN HANDLE HeapHandle,
+ IN PVOID HeapEntry
+);
+
#define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap)
//
@@ -1884,6 +1907,13 @@
// Process Management Functions
//
NTSYSAPI
+PPEB
+NTAPI
+RtlGetCurrentPeb(
+ VOID
+);
+
+NTSYSAPI
VOID
NTAPI
RtlAcquirePebLock(VOID);
@@ -1973,12 +2003,32 @@
RtlReleasePebLock(VOID);
NTSYSAPI
+NTSTATUS
+NTAPI
+RtlRemoteCall(
+ IN HANDLE Process,
+ IN HANDLE Thread,
+ IN PVOID CallSite,
+ IN ULONG ArgumentCount,
+ IN PULONG Arguments,
+ IN BOOLEAN PassContext,
+ IN BOOLEAN AlreadySuspended
+);
+
+NTSYSAPI
VOID
NTAPI
RtlSetProcessIsCritical(
IN BOOLEAN NewValue,
OUT PBOOLEAN OldValue OPTIONAL,
IN BOOLEAN IsWinlogon
+);
+
+NTSYSAPI
+ULONG
+NTAPI
+RtlGetCurrentProcessorNumber(
+ VOID
);
#define NtCurrentPeb() (NtCurrentTeb()->ProcessEnvironmentBlock)
@@ -2771,6 +2821,15 @@
// Activation Context Functions
//
#ifdef NTOS_MODE_USER
+
+NTSYSAPI
+VOID
+NTAPI
+RtlAddRefActivationContext(
+ PVOID Context
+);
+
+
NTSYSAPI
NTSTATUS
NTAPI
@@ -2798,6 +2857,14 @@
NTAPI
RtlReleaseActivationContext(
IN PVOID *Context
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlDeactivateActivationContext(
+ DWORD dwFlags,
+ ULONG_PTR ulCookie
);
NTSYSAPI
@@ -2832,6 +2899,28 @@
IN PUNICODE_STRING SectionName,
IN PVOID Unknown2
);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlQueryInformationActivationContext(
+ DWORD dwFlags,
+ PVOID Context,
+ PVOID pvSubInstance,
+ ULONG ulInfoClass,
+ PVOID pvBuffer,
+ SIZE_T cbBuffer OPTIONAL,
+ SIZE_T *pcbWrittenOrRequired OPTIONAL
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlZombifyActivationContext(
+ PVOID Context
+);
+
+
#endif
//
Added: trunk/reactos/lib/rtl/actctx.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/actctx.c?rev=36166…
==============================================================================
--- trunk/reactos/lib/rtl/actctx.c (added)
+++ trunk/reactos/lib/rtl/actctx.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -1,0 +1,106 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS Runtime Library
+ * PURPOSE: Activation Context Support
+ * FILE: lib/rtl/actctx.c
+ * PROGRAMERS: Stefan Ginsberg (stefan__100__(a)hotmail.com)
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <rtl.h>
+
+#define NDEBUG
+#include <debug.h>
+
+/* FUNCTIONS ***************************************************************/
+
+VOID
+NTAPI
+RtlAddRefActivationContext(PVOID Context)
+{
+ UNIMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+RtlActivateActivationContextUnsafeFast(IN
PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame,
+ IN PVOID Context)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+RtlAllocateActivationContextStack(IN PVOID *Context)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+RtlGetActiveActivationContext(IN PVOID *Context)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+VOID
+NTAPI
+RtlReleaseActivationContext(IN PVOID *Context)
+{
+ UNIMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+RtlFindActivationContextSectionString(IN PVOID Unknown0,
+ IN PVOID Unknown1,
+ IN ULONG SectionType,
+ IN PUNICODE_STRING SectionName,
+ IN PVOID Unknown2)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+RtlQueryInformationActivationContext(DWORD dwFlags,
+ PVOID Context,
+ PVOID pvSubInstance,
+ ULONG ulInfoClass,
+ PVOID pvBuffer,
+ SIZE_T cbBuffer OPTIONAL,
+ SIZE_T *pcbWrittenOrRequired OPTIONAL)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+RtlZombifyActivationContext(PVOID Context)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+RtlDeactivateActivationContext(DWORD dwFlags,
+ ULONG_PTR ulCookie)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+RtlDeactivateActivationContextUnsafeFast(IN
PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
Propchange: trunk/reactos/lib/rtl/actctx.c
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/lib/rtl/env.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/env.c?rev=36166&am…
==============================================================================
--- trunk/reactos/lib/rtl/env.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/env.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -12,7 +12,6 @@
#define NDEBUG
#include <debug.h>
-PPEB NTAPI RtlpCurrentPeb(VOID);
/* FUNCTIONS *****************************************************************/
/*
@@ -508,7 +507,7 @@
if (Environment == NULL)
{
- PPEB Peb = RtlpCurrentPeb();
+ PPEB Peb = RtlGetCurrentPeb();
if (Peb) {
Environment = Peb->ProcessParameters->Environment;
SysEnvUsed = TRUE;
Modified: trunk/reactos/lib/rtl/error.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/error.c?rev=36166&…
==============================================================================
--- trunk/reactos/lib/rtl/error.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/error.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -870,7 +870,7 @@
*
* @implemented
*/
-DWORD NTAPI
+ULONG NTAPI
RtlNtStatusToDosErrorNoTeb(IN NTSTATUS Status)
{
PERROR_TABLE Table = (PERROR_TABLE)ErrorTable;
Modified: trunk/reactos/lib/rtl/exception.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/exception.c?rev=36…
==============================================================================
--- trunk/reactos/lib/rtl/exception.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/exception.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -169,4 +169,13 @@
return ERROR_CALL_NOT_IMPLEMENTED;
}
-/* EOF */
+/*
+ * @unimplemented
+ */
+PVOID
+NTAPI
+RtlSetUnhandledExceptionFilter(IN PVOID TopLevelExceptionFilter)
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
Modified: trunk/reactos/lib/rtl/heap.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/heap.c?rev=36166&a…
==============================================================================
--- trunk/reactos/lib/rtl/heap.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/heap.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -1869,4 +1869,66 @@
return 0;
}
-/* EOF */
+NTSTATUS
+NTAPI
+RtlWalkHeap(IN HANDLE HeapHandle,
+ IN PVOID HeapEntry)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+PVOID
+NTAPI
+RtlProtectHeap(IN PVOID HeapHandle,
+ IN BOOLEAN ReadOnly)
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
+
+DWORD
+NTAPI
+RtlSetHeapInformation(IN HANDLE HeapHandle OPTIONAL,
+ IN HEAP_INFORMATION_CLASS HeapInformationClass,
+ IN PVOID HeapInformation,
+ IN SIZE_T HeapInformationLength)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+DWORD
+NTAPI
+RtlQueryHeapInformation(HANDLE HeapHandle,
+ HEAP_INFORMATION_CLASS HeapInformationClass,
+ PVOID HeapInformation OPTIONAL,
+ SIZE_T HeapInformationLength OPTIONAL,
+ PSIZE_T ReturnLength OPTIONAL)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+DWORD
+NTAPI
+RtlMultipleAllocateHeap(IN PVOID HeapHandle,
+ IN DWORD Flags,
+ IN SIZE_T Size,
+ IN DWORD Count,
+ OUT PVOID *Array)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+DWORD
+NTAPI
+RtlMultipleFreeHeap(IN PVOID HeapHandle,
+ IN DWORD Flags,
+ IN DWORD Count,
+ OUT PVOID *Array)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
Added: trunk/reactos/lib/rtl/interlck.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/interlck.c?rev=361…
==============================================================================
--- trunk/reactos/lib/rtl/interlck.c (added)
+++ trunk/reactos/lib/rtl/interlck.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -1,0 +1,62 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS Runtime Library
+ * PURPOSE: RTL Interlocked Routines
+ * FILE: lib/rtl/interlck.c
+ * PROGRAMERS: Stefan Ginsberg (stefan__100__(a)hotmail.com)
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <rtl.h>
+
+#define NDEBUG
+#include <debug.h>
+
+/* FUNCTIONS ***************************************************************/
+
+PSLIST_ENTRY
+NTAPI
+RtlInterlockedPopEntrySList(IN PSLIST_HEADER ListHead)
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
+
+PSLIST_ENTRY
+NTAPI
+RtlInterlockedPushEntrySList(IN PSLIST_HEADER ListHead,
+ IN PSLIST_ENTRY ListEntry)
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
+
+PSLIST_ENTRY
+NTAPI
+RtlInterlockedFlushSList(IN PSLIST_HEADER ListHead)
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
+
+PSLIST_ENTRY
+NTAPI
+RtlInterlockedPushListSList(IN PSLIST_HEADER ListHead,
+ IN PSLIST_ENTRY List,
+ IN PSLIST_ENTRY ListEnd,
+ IN ULONG Count)
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
+
+LONGLONG
+NTAPI
+RtlInterlockedCompareExchange64(LONGLONG volatile *Destination,
+ LONGLONG Exchange,
+ LONGLONG Comparand)
+{
+ /* Just call the intrinsic */
+ return _InterlockedCompareExchange64(Destination, Exchange, Comparand);
+}
Propchange: trunk/reactos/lib/rtl/interlck.c
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/lib/rtl/process.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/process.c?rev=3616…
==============================================================================
--- trunk/reactos/lib/rtl/process.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/process.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -332,6 +332,17 @@
/*
* @unimplemented
*/
+PVOID
+NTAPI
+RtlEncodeSystemPointer(IN PVOID Pointer)
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
+
+/*
+ * @unimplemented
+ */
NTSYSAPI
VOID
NTAPI
@@ -343,4 +354,10 @@
//TODO
}
-/* EOF */
+ULONG
+NTAPI
+RtlGetCurrentProcessorNumber(VOID)
+{
+ /* Forward to kernel */
+ return NtGetCurrentProcessorNumber();
+}
Modified: trunk/reactos/lib/rtl/rtl.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/rtl.rbuild?rev=361…
==============================================================================
--- trunk/reactos/lib/rtl/rtl.rbuild [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/rtl.rbuild [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -43,6 +43,7 @@
<file>access.c</file>
<file>acl.c</file>
+ <file>actctx.c</file>
<file>atom.c</file>
<file>bitmap.c</file>
<file>bootdata.c</file>
@@ -61,6 +62,7 @@
<file>handle.c</file>
<file>heap.c</file>
<file>image.c</file>
+ <file>interlck.c</file>
<file>message.c</file>
<file>largeint.c</file>
<file>luid.c</file>
@@ -78,6 +80,7 @@
<file>resource.c</file>
<file>sd.c</file>
<file>security.c</file>
+ <file>slist.c</file>
<file>sid.c</file>
<file>sprintf.c</file>
<file>srw.c</file>
Modified: trunk/reactos/lib/rtl/security.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/security.c?rev=361…
==============================================================================
--- trunk/reactos/lib/rtl/security.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/security.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -81,6 +81,29 @@
return(Status);
}
+/*
+ * @unimplemented
+ */
+NTSTATUS
+NTAPI
+RtlAcquirePrivilege(IN PULONG Privilege,
+ IN ULONG NumPriv,
+ IN ULONG Flags,
+ OUT PVOID *ReturnedState)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+NTAPI
+RtlReleasePrivilege(IN PVOID ReturnedState)
+{
+ UNIMPLEMENTED;
+}
/*
* @implemented
@@ -224,4 +247,26 @@
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
-/* EOF */
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+NTAPI
+RtlRegisterSecureMemoryCacheCallback(IN PRTL_SECURE_MEMORY_CACHE_CALLBACK Callback)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+NTAPI
+RtlFlushSecureMemoryCache(IN PVOID MemoryCache,
+ IN OPTIONAL SIZE_T MemoryLength)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
Added: trunk/reactos/lib/rtl/slist.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/slist.c?rev=36166&…
==============================================================================
--- trunk/reactos/lib/rtl/slist.c (added)
+++ trunk/reactos/lib/rtl/slist.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -1,0 +1,39 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS Runtime Library
+ * PURPOSE: Slist Routines
+ * FILE: lib/rtl/slist.c
+ * PROGRAMERS: Stefan Ginsberg (stefan__100__(a)hotmail.com)
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <rtl.h>
+
+#define NDEBUG
+#include <debug.h>
+
+/* FUNCTIONS ***************************************************************/
+
+VOID
+NTAPI
+RtlInitializeSListHead(IN PSLIST_HEADER ListHead)
+{
+ UNIMPLEMENTED;
+}
+
+PSLIST_ENTRY
+NTAPI
+RtlFirstEntrySList(IN const SLIST_HEADER *ListHead)
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
+
+WORD
+NTAPI
+RtlQueryDepthSList(IN PSLIST_HEADER ListHead)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
Propchange: trunk/reactos/lib/rtl/slist.c
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/lib/rtl/thread.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/thread.c?rev=36166…
==============================================================================
--- trunk/reactos/lib/rtl/thread.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/thread.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -277,5 +277,16 @@
return NtCurrentTeb();
}
-
-/* EOF */
+NTSTATUS
+NTAPI
+RtlRemoteCall(IN HANDLE Process,
+ IN HANDLE Thread,
+ IN PVOID CallSite,
+ IN ULONG ArgumentCount,
+ IN PULONG Arguments,
+ IN BOOLEAN PassContext,
+ IN BOOLEAN AlreadySuspended)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
Modified: trunk/reactos/lib/rtl/unicode.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/unicode.c?rev=3616…
==============================================================================
--- trunk/reactos/lib/rtl/unicode.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/unicode.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -2233,4 +2233,13 @@
}
}
-/* EOF */
+NTSTATUS
+NTAPI
+RtlFindCharInUnicodeString(IN ULONG Flags,
+ IN PUNICODE_STRING SearchString,
+ IN PCUNICODE_STRING MatchString,
+ OUT PUSHORT Position)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
Modified: trunk/reactos/ntoskrnl/rtl/libsupp.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/rtl/libsupp.c?rev…
==============================================================================
--- trunk/reactos/ntoskrnl/rtl/libsupp.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/rtl/libsupp.c [iso-8859-1] Fri Sep 12 10:09:17 2008
@@ -118,7 +118,7 @@
PPEB
STDCALL
-RtlpCurrentPeb(VOID)
+RtlGetCurrentPeb(VOID)
{
return ((PEPROCESS)(KeGetCurrentThread()->ApcState.Process))->Peb;
}