mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +00:00
![]() [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 |
||
---|---|---|
.. | ||
amd64 | ||
arm | ||
austin | ||
i386 | ||
powerpc | ||
access.c | ||
acl.c | ||
actctx.c | ||
assert.c | ||
atom.c | ||
bitmap.c | ||
bootdata.c | ||
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 | ||
rtl.rbuild | ||
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.