More routines for performing atomic bitwise AND/OR/XOR operations
All checks were successful
ci/woodpecker/push/build Pipeline was successful

This commit is contained in:
2023-02-12 23:11:23 +01:00
förälder 5a86d61b78
incheckning 9e5fb84412
2 ändrade filer med 312 tillägg och 0 borttagningar

Visa fil

@@ -14,6 +14,26 @@
#include <xttypes.h>
XTFASTCALL
CHAR
RtlAtomicAnd8(IN VOLATILE PCHAR Address,
IN CHAR Mask);
XTFASTCALL
SHORT
RtlAtomicAnd16(IN VOLATILE PSHORT Address,
IN SHORT Mask);
XTFASTCALL
LONG
RtlAtomicAnd32(IN VOLATILE PLONG Address,
IN LONG Mask);
XTFASTCALL
LONGLONG
RtlAtomicAnd64(IN VOLATILE PLONGLONG Address,
IN LONGLONG Mask);
XTFASTCALL
CHAR
RtlAtomicCompareExchange8(IN VOLATILE PCHAR Address,
@@ -121,6 +141,46 @@ XTFASTCALL
LONGLONG
RtlAtomicIncrement64(IN VOLATILE PLONGLONG Address);
XTFASTCALL
CHAR
RtlAtomicOr8(IN VOLATILE PCHAR Address,
IN CHAR Mask);
XTFASTCALL
SHORT
RtlAtomicOr16(IN VOLATILE PSHORT Address,
IN SHORT Mask);
XTFASTCALL
LONG
RtlAtomicOr32(IN VOLATILE PLONG Address,
IN LONG Mask);
XTFASTCALL
LONGLONG
RtlAtomicOr64(IN VOLATILE PLONGLONG Address,
IN LONGLONG Mask);
XTFASTCALL
CHAR
RtlAtomicXor8(IN VOLATILE PCHAR Address,
IN CHAR Mask);
XTFASTCALL
SHORT
RtlAtomicXor16(IN VOLATILE PSHORT Address,
IN SHORT Mask);
XTFASTCALL
LONG
RtlAtomicXor32(IN VOLATILE PLONG Address,
IN LONG Mask);
XTFASTCALL
LONGLONG
RtlAtomicXor64(IN VOLATILE PLONGLONG Address,
IN LONGLONG Mask);
XTAPI
SIZE_T
RtlCompareMemory(IN PCVOID LeftBuffer,