reactos/sdk/lib/rtl
Timo Kreuzer df053d4e43 [RTL] Improve usage of absolte vs self-relative security descriptors
- RtlpQuerySecurityDescriptor: Change argument type of first parameter from PISECURITY_DESCRIPTOR to PSECURITY_DESCRIPTOR, since it handles both absolute and self-relative SDs.
- RtlMakeSelfRelativeSD: rename first parameter from AbsoluteSD to SecurityDescriptor, since it handles both absolute and self-relative SDs.
- SepGetGroupFromDescriptor/SepGetOwnerFromDescriptor/SepGetDaclFromDescriptor/SepGetSaclFromDescriptor: Change parameter type from PVOID to PSECURITY_DESCRIPTOR for clarity.
2023-09-26 18:01:45 +03:00
..
amd64 [RTL] Implement RtlUnwind 2022-11-24 21:17:58 +02:00
arm
i386
access.c
acl.c [SDK:RTL] Fix the ACE revision check in RtlpAddKnownObjectAce 2023-08-22 17:54:18 +02:00
actctx.c
appverifier.c
assert.c [KERNEL32][NTOS:PS][RTL] Cleanup some DbgPrompt() calls. 2023-01-06 14:44:49 +01:00
atom.c Fix typo "managment" -> "management" in our codebase... 2023-06-04 21:39:56 +02:00
avlsupp.c
avltable.c
bitmap.c
bitmap64.c
bootdata.c
byteswap.c
CMakeLists.txt [RTL] Implement dynamic function tables for x64 2022-06-25 21:45:47 +02:00
compress.c
condvar.c
crc32.c
critical.c [RTL] Satisfy the RtlpTimeoutDisable condition when waiting for critical sections (#4089) 2023-09-21 13:33:28 +02:00
dbgbuffer.c
debug.c
dos8dot3.c
encode.c
env.c
error.c
exception.c
generictable.c
handle.c [REACTOS] Fix typos in comments (#5591) 2023-08-22 16:20:29 +03:00
heap.c
heap.h
heapdbg.c
heappage.c [RTL] Use RtlApplicationVerifierStop for DPH 2022-11-01 21:26:05 +01:00
heapuser.c
image.c
interlck.c
largeint.c
luid.c
mem.c
memstream.c
message.c
network.c
nls.c [SDK:RTL] Minimal formatting for NLS functions + Remove inadequate assert in RtlUpcaseUnicodeToOemN(). 2022-04-07 03:19:06 +02:00
path.c [SDK:RTL] Consistently use the Allocate/FreeStringMemory helpers when allocating/freeing string buffers. 2022-03-25 18:54:21 +01:00
ppb.c
prefix.c
priv.c [NTDLL] Fix some vista exports 2023-08-11 19:00:42 +03:00
process.c
propvar.c
random.c
rangelist.c
readme.txt
registry.c [SDK:RTL] RtlpCallQueryRegistryRoutine(): Correctly set SpareData and SpareLength (#5466) 2023-09-20 18:06:06 +02:00
res.c
resource.c
rtl.h [BOOT][SDK:RTL] Compile a reduced RTL library for FreeLdr / NT bootloader... 2022-04-07 03:19:09 +02:00
rtl_vista.h [SDK:RTL] Don't copy-paste rtl.h into rtl_vista.h; just include it instead. 2022-03-25 18:54:20 +01:00
rtlavl.h
rtlp.h [BOOT][SDK:RTL] Compile a reduced RTL library for FreeLdr / NT bootloader... 2022-04-07 03:19:09 +02:00
runonce.c [KERNEL32][RTL] Implement One-Time initialization API and improve RTL support (#5046) 2023-09-06 15:40:53 -07:00
rxact.c
sd.c [RTL] Improve usage of absolte vs self-relative security descriptors 2023-09-26 18:01:45 +03:00
security.c [RTL] RtlDefaultNpAcl(): Don't hardcode SidBuffer size, but deduce it through FIELD_OFFSETs. 2022-11-03 02:50:21 +01:00
sid.c
slist.c [RTL] Implement x64 version of RtlInterlockedPushListSList 2022-11-24 21:17:58 +02:00
splaytree.c
srw.c
sysvol.c
thread.c
time.c
timerqueue.c
timezone.c
trace.c
unicode.c [RTL][NTDLL] Implement and export RtlCompareUnicodeStrings 2023-08-19 23:52:21 +03:00
unicodeprefix.c [NDK] Fix description for PIO_APC_ROUTINE. 2022-11-26 02:38:52 +01:00
utf8.c [RTL][NTOS_VISTA] Move the RTL UTF8 functions to the main RTL library, to be linked in the rtl_vista target instead. 2022-04-03 20:41:11 +02:00
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.