reactos/reactos/lib/rtl
Thomas Bluemel ea5929db62 1. added irql checks to various rtl and security functions
2. RtlGetVersion needs to be implemented differently in ntoskrnl and ntdll, ntoskrnl's version must not access the PEB (which might not be present) while ntdlls gets most information from the PEB structure
3. can't use spinlocks to serialize access to the security descriptor cache since it calls sd rtl functions which require to run < apc level

svn path=/trunk/; revision=13712
2005-02-22 17:58:19 +00:00
..
i386 Remove debug output from user mode exceptions. Reported by hbirr. 2005-01-25 23:36:23 +00:00
acl.c 1. added irql checks to various rtl and security functions 2005-02-22 17:58:19 +00:00
bit.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
bitmap.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
bootdata.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
compress.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
dos8dot3.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
encode.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
env.c Fix hacks from last night and properly share the code 2005-01-19 01:11:43 +00:00
error.c - Implement RtlGetLastNtStatus, RtlGetLastWin32Error, RtlRestoreLastWin32Error, RtlSetLastWin32Error and RtlSetLastWin32ErrorAndNtStatusFromNtStatus. 2005-02-12 12:42:10 +00:00
exception.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
generictable.c - Implement RtlSetAttributesSecurityDescriptor, RtlInitializeGenericTableAvl, RtlNumberGenericTableElements and RtlNumberGenericTableElementsAvl. 2005-02-14 14:36:03 +00:00
heap.c Removed HEAP_NO_VALLOC from Heap Manager because the flag is redunant. Removed Version Differentation in epsapi because it's only meant to run on ROS, and we decide what to emulate. KJK agrees. 2004-12-31 20:05:16 +00:00
image.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
largeint.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
luid.c 1. added irql checks to various rtl and security functions 2005-02-22 17:58:19 +00:00
makefile 1. added irql checks to various rtl and security functions 2005-02-22 17:58:19 +00:00
mem.c Fix horribly wrong defintions of ULONG32 and ULONG, as well as elf support which depended on these wrong definitions. 2005-01-02 04:27:29 +00:00
network.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
nls.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
random.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
readme.txt forgot a letter... 2005-01-20 23:25:05 +00:00
registry.c get rid of the reactos-only RTL_REGISTRY_ENUM flag and added more debug messages to ease debugging failures 2005-01-23 20:58:28 +00:00
sd.c 1. added irql checks to various rtl and security functions 2005-02-22 17:58:19 +00:00
security.c 1. added irql checks to various rtl and security functions 2005-02-22 17:58:19 +00:00
sid.c 1. added irql checks to various rtl and security functions 2005-02-22 17:58:19 +00:00
splaytree.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
time.c RtlCutoverTimeToSystemTime(): The 4th argument determines whether the cutover time of the current year or the next cutover time is calculated. 2005-01-07 12:58:46 +00:00
timezone.c 1. added irql checks to various rtl and security functions 2005-02-22 17:58:19 +00:00
unicode.c Don't add a terminating null character in RtlCopyString, if the destination buffer isn't large enough. 2005-01-13 20:53:35 +00:00
unicodeprefix.c migrate substitution keywords to SVN 2005-01-06 13:58:04 +00:00
version.c 1. added irql checks to various rtl and security functions 2005-02-22 17:58:19 +00:00

RTL restrictions:

ExAllocatePool (and friends) must be used exclusively. RtlAllocateHeap (and friends) must NOT be used! ExAllocatePool (and friends) translate to RtlAllocateHeap (and friends) in ntdll\rtl\libsupp.c.

RtlEnterCriticalSection (and friends) must be used exclusively. ExAcquireFastMutex (and friends) must NOT be used! RtlEnterCriticalSection (and friends) translate to ExAcquireFastMutex (and friends) in ntoskrnl\rtl\libsupp.c. This means that RtlEnterCriticalSection (and friends) can NOT be used recursively in RTL. The reason for choosing RtlEnterCriticalSection (and friends) over ExAcquireFastMutex (and friends) is that the FAST_MUTEX struct is smaller than the RTL_CRITICAL_SECTION struct.