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 Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
assert.c [RTL][KERNEL32][ROSAUTOTEST] Disable debug prompts during autotest 2024-09-16 10:10:55 +03:00
atom.c
avlsupp.c
avltable.c
bitmap.c
bitmap64.c
bootdata.c [RTL]: Document and flesh out Boot Status Data (BSD) API/Structures 2018-02-04 09:33:32 -08:00
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
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 Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
prefix.c
priv.c
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
sid.c
slist.c [RTL/x64] Fix a GCC compiler warning 2024-03-19 07:42:35 +01:00
splaytree.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
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
unicodeprefix.c
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.