reactos/lib/rtl
Amine Khaldi a00acb2a1b Sync with trunk head
svn path=/branches/header-work/; revision=46021
2010-03-09 00:19:55 +00:00
..
amd64 Create a branch for header work. 2010-02-26 22:57:55 +00:00
arm Create a branch for header work. 2010-02-26 22:57:55 +00:00
austin Create a branch for header work. 2010-02-26 22:57:55 +00:00
i386 Create a branch for header work. 2010-02-26 22:57:55 +00:00
powerpc Create a branch for header work. 2010-02-26 22:57:55 +00:00
access.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
acl.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
actctx.c Sync with trunk head 2010-03-09 00:19:55 +00:00
assert.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
atom.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
bitmap.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
bootdata.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
compress.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
condvar.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
crc32.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
critical.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
dbgbuffer.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
debug.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
dos8dot3.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
encode.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
env.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
error.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
exception.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
generictable.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
handle.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
heap.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
image.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
interlck.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
largeint.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
luid.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
mem.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
memgen.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
message.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
network.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
nls.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
path.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
ppb.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
process.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
propvar.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
qsort.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
random.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
rangelist.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
readme.txt Create a branch for header work. 2010-02-26 22:57:55 +00:00
registry.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
res.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
resource.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
rtl.h Create a branch for header work. 2010-02-26 22:57:55 +00:00
rtl.rbuild Create a branch for header work. 2010-02-26 22:57:55 +00:00
rtlp.h Create a branch for header work. 2010-02-26 22:57:55 +00:00
sd.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
security.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
sid.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
slist.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
splaytree.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
sprintf.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
srw.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
swprintf.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
thread.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
time.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
timerqueue.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
timezone.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
unicode.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
unicodeprefix.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
vectoreh.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
version.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
wait.c Create a branch for header work. 2010-02-26 22:57:55 +00:00
workitem.c Create a branch for header work. 2010-02-26 22:57:55 +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.