reactos/sdk/lib/rtl
2018-01-20 09:48:07 +01:00
..
amd64 [RTL] Fix amd64 version of DebugService2 2018-01-01 12:09:38 +01:00
arm
i386 [RTL] Make RtlFillMemoryUlonglong public 2017-11-18 18:05:22 +01:00
powerpc
access.c
acl.c
actctx.c [RTL] Handle RtlReAllocateHeap failure in com_class_add_progid. CID 1223161 2018-01-20 09:48:07 +01:00
appverifier.c
assert.c
atom.c
avlsupp.c
avltable.c
bitmap.c
bitmap64.c
bootdata.c
byteswap.c
CMakeLists.txt
compress.c
crc32.c
critical.c
dbgbuffer.c
debug.c
dos8dot3.c
encode.c
env.c
error.c
exception.c
generictable.c
handle.c
heap.c
heap.h
heapdbg.c
heappage.c
heapuser.c
image.c
interlck.c
largeint.c
luid.c
mem.c
memstream.c [NTOS][NDK][RTL] A bunch of 'wrong size' fixes 2017-12-20 06:56:09 +01:00
message.c
network.c
nls.c
path.c
ppb.c
prefix.c
priv.c
process.c
propvar.c
random.c
rangelist.c
readme.txt
registry.c
res.c
resource.c
rtl.h
rtlavl.h
rtlp.h [NTOS][NDK][RTL] A bunch of 'wrong size' fixes 2017-12-20 06:56:09 +01:00
rxact.c
sd.c
security.c
sid.c
slist.c
splaytree.c
thread.c
time.c
timerqueue.c
timezone.c
trace.c
unicode.c
unicodeprefix.c
vectoreh.c
version.c
wait.c
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.