reactos/sdk/lib/rtl
2021-07-03 12:56:48 +02:00
..
amd64 [RTL/x64] Properly handle UNW_FLAG_CHAININFO 2021-07-03 12:56:48 +02:00
arm
i386 [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
powerpc [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
access.c
acl.c [SDK:RTL] RtlValidAcl(): Improve ACL error messages (#2833) 2020-06-05 00:20:20 +03:00
actctx.c [RTL] Check and cascade down RtlGUIDFromString value 2021-06-28 10:20:57 +02:00
appverifier.c
assert.c
atom.c
avlsupp.c
avltable.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
bitmap.c
bitmap64.c
bootdata.c
byteswap.c
CMakeLists.txt [SDK] Add GCC overrides for SAL annotations 2021-06-28 10:20:57 +02:00
compress.c
condvar.c [KERNEL32_VISTA][NTDLL_VISTA][RTL_VISTA] Move Vista Rtl functions from kernel32_vista and ntdll_vista to rtl_vista (#3149) 2020-09-12 15:04:02 +02:00
crc32.c
critical.c [SDK:RTL] Statically initialize RtlCriticalSectionList 2021-03-03 14:10:47 +01:00
dbgbuffer.c
debug.c
dos8dot3.c [RTL] Properly truncate 8dot3 names when using a MultiByte OEM code page 2021-05-19 22:50:29 +02:00
encode.c
env.c
error.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
exception.c [RTL][KERNEL32] Move the STUB printing code to a place where it's actually called 2021-05-22 16:33:19 +02:00
generictable.c
handle.c
heap.c [RTL] Improve performance by introducing a hint array for free entries 2021-03-16 13:23:21 +01:00
heap.h [RTL] Improve performance by introducing a hint array for free entries 2021-03-16 13:23:21 +01:00
heapdbg.c
heappage.c
heapuser.c
image.c [RTL] Fix RtlImageDirectoryEntryToData to support both 32 and 64 bit images 2020-12-06 16:37:57 +01:00
interlck.c
largeint.c
luid.c
mem.c
memstream.c
message.c
network.c
nls.c [RTL] Properly implement RtlUnicodeToOemN 2021-05-19 22:50:29 +02:00
path.c [RTL] Implement RtlGetLengthWithoutLastFullDorOrNtPathElement 2021-05-08 19:24:23 +02:00
ppb.c
prefix.c
priv.c [RTL] In RtlReleasePrivilege, raise exception if restoring old privileges fails 2021-06-28 10:20:57 +02:00
process.c [NTOS:PS] On x64 don't fail in NtSetInformationProcess with ProcessUserModeIOPL information class, instead just don't do anything. 2020-09-20 23:08:17 +02:00
propvar.c
random.c
rangelist.c [RTL] Allow RtlGetNextRange to be called on a finished iterator. CORE-6372 2020-08-16 16:18:29 +02:00
readme.txt
registry.c
res.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
resource.c
rtl.h
rtl_vista.h [KERNEL32_VISTA][NTDLL_VISTA][RTL_VISTA] Move Vista Rtl functions from kernel32_vista and ntdll_vista to rtl_vista (#3149) 2020-09-12 15:04:02 +02:00
rtlavl.h [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
rtlp.h
runonce.c [KERNEL32_VISTA][NTDLL_VISTA][RTL_VISTA] Move Vista Rtl functions from kernel32_vista and ntdll_vista to rtl_vista (#3149) 2020-09-12 15:04:02 +02:00
rxact.c
sd.c
security.c
sid.c
slist.c
splaytree.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
srw.c [RTL] Fix a typo & remove useless cast 2021-02-01 09:09:19 +01:00
sysvol.c [RTL] When taking system volume ownership, assert that we succeeded to restore privileges 2021-06-28 10:20:57 +02:00
thread.c
time.c
timerqueue.c
timezone.c
trace.c [RTL] Implement LdrpRecordUnloadEvent 2020-04-26 14:35:51 +02:00
unicode.c [RTL] SAL-annotate RtlUnicodeStringToCountedOemString 2021-05-19 22:50:29 +02:00
unicodeprefix.c
vectoreh.c
version.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
wait.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
workitem.c

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.