From 73dff0f128b880bb0fdc6bf6447f667006ef4a7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Wed, 29 Mar 2017 16:36:13 +0000 Subject: [PATCH] [NDK][XDK]: Add some forgotten RTL bitmap functions. svn path=/trunk/; revision=74242 --- reactos/sdk/include/ndk/rtlfuncs.h | 30 ++++++++++++++++++++++++++++++ reactos/sdk/include/xdk/rtlfuncs.h | 12 ++++++------ 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/reactos/sdk/include/ndk/rtlfuncs.h b/reactos/sdk/include/ndk/rtlfuncs.h index e066b03a552..9f7f5e5897a 100644 --- a/reactos/sdk/include/ndk/rtlfuncs.h +++ b/reactos/sdk/include/ndk/rtlfuncs.h @@ -3227,6 +3227,14 @@ RtlClearAllBits( _In_ PRTL_BITMAP BitMapHeader ); +NTSYSAPI +VOID +NTAPI +RtlClearBit( + _In_ PRTL_BITMAP BitMapHeader, + _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber +); + NTSYSAPI VOID NTAPI @@ -3288,6 +3296,14 @@ RtlFindLeastSignificantBit( _In_ ULONGLONG Value ); +NTSYSAPI +ULONG +NTAPI +RtlFindLongestRunClear( + _In_ PRTL_BITMAP BitMapHeader, + _Out_ PULONG StartingIndex +); + NTSYSAPI CCHAR NTAPI @@ -3391,6 +3407,20 @@ RtlTestBit( _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber ); +#if defined(_M_AMD64) +_Must_inspect_result_ +FORCEINLINE +BOOLEAN +RtlCheckBit( + _In_ PRTL_BITMAP BitMapHeader, + _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitPosition) +{ + return BitTest64((LONG64 CONST*)BitMapHeader->Buffer, (LONG64)BitPosition); +} +#else +#define RtlCheckBit(BMH,BP) (((((PLONG)(BMH)->Buffer)[(BP)/32]) >> ((BP)%32)) & 0x1) +#endif /* defined(_M_AMD64) */ + // // Timer Functions // diff --git a/reactos/sdk/include/xdk/rtlfuncs.h b/reactos/sdk/include/xdk/rtlfuncs.h index 821a644f9f4..b86be14a3c0 100644 --- a/reactos/sdk/include/xdk/rtlfuncs.h +++ b/reactos/sdk/include/xdk/rtlfuncs.h @@ -948,6 +948,12 @@ RtlTimeToTimeFields( _In_ PLARGE_INTEGER Time, _Out_ PTIME_FIELDS TimeFields); +NTSYSAPI +USHORT +FASTCALL +RtlUshortByteSwap( + _In_ USHORT Source); + NTSYSAPI ULONG FASTCALL @@ -1019,12 +1025,6 @@ NTAPI RtlUpcaseUnicodeChar( _In_ WCHAR SourceCharacter); -NTSYSAPI -USHORT -FASTCALL -RtlUshortByteSwap( - _In_ USHORT Source); - _IRQL_requires_max_(APC_LEVEL) _Must_inspect_result_ NTSYSAPI