reactos/sdk/lib/rtl
Hermès Bélusca-Maïto 005f75bd61
[RTL] x64/ARM: Alias RtlpBreakWithStatusInstruction to DbgBreakPointWithStatus; x64: fix a bug.
RtlpBreakWithStatusInstruction is just a label for KD.

On machines that have register calling conventions (basically all except
x86), the `Status` parameter for `DbgBreakPointWithStatus` is stored in
the first argument register.

https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-dbgbreakpointwithstatus

On the x64 platform, `DbgBreakPointWithStatus` only uses the ECX register
and leaves EAX untouched. Verified on Windows.
2025-04-19 20:01:08 +02:00
..
amd64 [RTL] x64/ARM: Alias RtlpBreakWithStatusInstruction to DbgBreakPointWithStatus; x64: fix a bug. 2025-04-19 20:01:08 +02:00
arm [RTL] x64/ARM: Alias RtlpBreakWithStatusInstruction to DbgBreakPointWithStatus; x64: fix a bug. 2025-04-19 20:01:08 +02:00
i386 [NTOS][RTL] Remove unused deprecated ReactOS-only DbgBreakPointNoBugCheck() 2025-04-19 20:01:06 +02:00
access.c
acl.c [SDK:RTL] Fix the ACE revision check in RtlpAddKnownObjectAce 2023-08-22 17:54:18 +02:00
actctx.c [RTL] actctx.c: Restore wine tracing 2024-11-05 10:54:21 +02:00
appverifier.c
assert.c [RTL][KERNEL32][ROSAUTOTEST] Disable debug prompts during autotest 2024-09-16 10:10:55 +03: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 locale functions/tables 2025-03-25 09:55:17 +00:00
compress.c
condvar.c [KERNEL32_VISTA][SDK] Move SRW definitions to NDK (#6806) 2024-06-11 22:03:57 +02:00
crc32.c [DBGHELP][NDK][RTL] *RtlComputeCrc32(): Add 'const' to 2nd parameter (#6973) 2024-06-04 13:35:57 +02:00
critical.c [RTL] Change comment to indicate a hack 2025-03-25 16:23:39 +01:00
dbgbuffer.c
debug.c [RTL] Fix overflow case in vDbgPrintExWithPrefixInternal 2024-08-30 06:38:29 +03:00
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 [REACTOS] Refresh old URLs (#7632) 2025-01-28 13:36:45 +09:00
heap.h [RTL] Implement RtlGetProcessHeaps 2023-12-17 22:28:24 +01:00
heapdbg.c [REACTOS] Add missing line breaks at end of file 2024-10-06 10:47:11 +03:00
heappage.c [RTL] Notify verifier when freeing the process page heap 2025-03-25 16:23:39 +01:00
heapuser.c [RTL] Implement RtlGetProcessHeaps 2023-12-17 22:28:24 +01:00
image.c [NTDLL:LDR] Little fixes about SAL annotation and behavior (#5793) 2023-11-15 20:59:32 +01:00
interlck.c
largeint.c
locale.c [RTL] Implement locale functions/tables 2025-03-25 09:55:17 +00:00
luid.c
mem.c
memstream.c
message.c
network.c [RTL] ntdll: Implement RtlIpv6StringToAddress(Ex)[AW] 2024-11-02 21:57:28 +01:00
nls.c
path.c [RTL][NTDLL_APITEST] Fix buffer overflow in RtlDosSearchPath_Ustr (#7698) 2025-02-05 21:17:11 +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 [KERNEL32][ROSTESTS][SDK] Enable threadpooling 2025-01-26 23:30:59 -08:00
rtl_vista.h
rtlavl.h
rtlp.h
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/x64] Fix a GCC compiler warning 2024-03-19 07:42:35 +01:00
splaytree.c
srw.c
sysvol.c
thread.c
threadpool.c [KERNEL32][ROSTESTS][SDK] Enable threadpooling 2025-01-26 23:30:59 -08:00
time.c
timerqueue.c [KERNEL32][ROSTESTS][SDK] Enable threadpooling 2025-01-26 23:30:59 -08:00
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
vectoreh.c
version.c
wine_debug.c [RTL] Add minimal wine debug support functions 2024-11-05 10:54:21 +02:00
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.