reactos/lib/rtl
Sir Richard 02b1c8a4e2 [CMAKE]: Add wmc to host tools, and export it as native-wmc.
[CMAKE]: Add a makelist to build the mc->headers as one target.
[CMAKE]: Fix the IDL rule to build all IDLs as one target.
[CMAKE]: Build a whole lot more libraries.

svn path=/branches/cmake-bringup/; revision=48267
2010-07-25 23:05:32 +00:00
..
amd64
arm
i386
powerpc
access.c
acl.c
actctx.c
assert.c
atom.c
avlsupp.c
avltable.c
bitmap.c
bootdata.c
CMakeLists.txt [CMAKE]: Add wmc to host tools, and export it as native-wmc. 2010-07-25 23:05:32 +00:00
compress.c
condvar.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
image.c
interlck.c
largeint.c
luid.c
mem.c
memgen.c
message.c
network.c
nls.c
path.c
ppb.c
process.c
propvar.c
qsort.c
random.c
rangelist.c
readme.txt
registry.c
res.c
resource.c
rtl.h
rtlavl.h
rtlp.h
sd.c
security.c
sid.c
slist.c
splaytree.c
sprintf.c
srw.c
swprintf.c
thread.c
time.c
timerqueue.c
timezone.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.