reactos/sdk/lib/rtl
Giannis Adamopoulos 8d3045622e [RTL] actctx.c: Use an alternative implicit activation context when an application is built for latest windows versions.
Instead of loading systemcompatible.manifest as the implicit activation context, load forwardcompatible.manifest
Add a new assembly containing all apisets called ReactOS.Apisets and make it a dependency to forwardcompatible.manifest
2018-04-09 01:28:43 +03:00
..
amd64 [REACTOS] Fix 64 bit build (#465) 2018-04-03 15:13:17 -06:00
arm
i386 [RTL] Make RtlFillMemoryUlonglong public 2017-11-18 18:05:22 +01:00
powerpc
access.c
acl.c
actctx.c [RTL] actctx.c: Use an alternative implicit activation context when an application is built for latest windows versions. 2018-04-09 01:28:43 +03:00
appverifier.c
assert.c
atom.c
avlsupp.c
avltable.c
bitmap.c
bitmap64.c
bootdata.c [RTL]: Document and flesh out Boot Status Data (BSD) API/Structures 2018-02-04 09:33:32 -08:00
byteswap.c
CMakeLists.txt [RTL]: Document and flesh out Boot Status Data (BSD) API/Structures 2018-02-04 09:33:32 -08:00
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 [REACTOS] Fix 64 bit build (#465) 2018-04-03 15:13:17 -06:00
rxact.c
sd.c
security.c
sid.c
slist.c
splaytree.c
sysvol.c [RTL]: Document and flesh out Boot Status Data (BSD) API/Structures 2018-02-04 09:33:32 -08:00
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.