[NDK][XDK]: Add some forgotten RTL bitmap functions.
[reactos.git] / reactos / sdk / include / ndk / rtlfuncs.h
index e066b03..9f7f5e5 100644 (file)
@@ -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
 //