reactos/lib/rtl
Timo Kreuzer e0c972bf4e [FREELDR] Define _BLDR_ for WDK header compatibility
[HAL] Define _NTHALDLL_ for WDK header compatibility, get rif of DECLSPEC_IMPORT header hack
[NDK/RTL] Fix some Rtl prototypes (PCHAR -> PCCH)
[NDK] Fix ZwOpenEvent prototype
[NTIFS] Fix definition of NTKERNELAPI, move some types, fix PRTL_ALLOCATE_STRING_ROUTINE, PRTL_REALLOCATE_STRING_ROUTINE, PRTL_FREE_STRING_ROUTINE, define CTL_CODE, DEVICE_TYPE_FROM_CTL_CODE, FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS, FILE_WRITE_ACCESS identical to wdm.h, remove duplicate RtlGenerate8dot3Name, remove ZwOpenEvent
[NTPOAPI] Guard some types with #ifndef _PO_DDK_
[WDM] Create reactos compatible definition of NTKERNELAPI, add KDPC_WATCHDOG_INFORMATION, BATTERY_REPORTING_SCALE, fix ALIGN_UP_POINTER_BY, guard some types with #ifndef _PO_DDK_, update POWER_INFORMATION_LEVEL, make some FILE_DEVICE_ definitions identical to ntifs.h, fix HalAllocateCommonBuffer

svn path=/branches/header-work/; revision=46050
2010-03-10 04:16:52 +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 [FREELDR] Define _BLDR_ for WDK header compatibility 2010-03-10 04:16:52 +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.