45 return fnv1a_hash(BitMapHeader->BitMap.Buffer, SizeInBytes /
sizeof(
ULONG));
54 ASSERT(BitMapHeader->NumberOfSetBits == NumberOfSetBits);
56 ASSERT(BitMapHeader->BitmapHash == BitmapHash);
63RtlInitializeBitMapDbg(
102 BitMapHeader->NumberOfSetBits = 0;
115 BitMapHeader->NumberOfSetBits--;
175 return RtlFindClearRuns(&BitMapHeader->BitMap, RunArray, SizeOfRunArray, LocateLongestRuns);
270 BitMapHeader->NumberOfSetBits++;
272 RtlSetBit(&BitMapHeader->BitMap, BitNumber);
296 BitMapHeader->NumberOfSetBits = BitMapHeader->BitMap.SizeOfBitMap;
308 return RtlTestBit(&BitMapHeader->BitMap, BitNumber);
319 return RtlCheckBit(&BitMapHeader->BitMap, BitPosition);
322#define _RTL_BITMAP _RTL_BITMAP_DBG
323#define RTL_BITMAP RTL_BITMAP_DBG
324#define PRTL_BITMAP PRTL_BITMAP_DBG
326#define RtlInitializeBitMap RtlInitializeBitMapDbg
327#define RtlAreBitsClear RtlAreBitsClearDbg
328#define RtlAreBitsSet RtlAreBitsSetDbg
329#define RtlClearAllBits RtlClearAllBitsDbg
330#define RtlClearBit RtlClearBitDbg
331#define RtlClearBits RtlClearBitsDbg
332#define RtlFindClearBits RtlFindClearBitsDbg
333#define RtlFindClearBitsAndSet RtlFindClearBitsAndSetDbg
334#define RtlFindFirstRunClear RtlFindFirstRunClearDbg
335#define RtlFindClearRuns RtlFindClearRunsDbg
336#define RtlFindLastBackwardRunClear RtlFindLastBackwardRunClearDbg
337#define RtlFindLongestRunClear RtlFindLongestRunClearDbg
338#define RtlFindNextForwardRunClear RtlFindNextForwardRunClearDbg
339#define RtlFindNextForwardRunSet RtlFindNextForwardRunSetDbg
340#define RtlFindSetBits RtlFindSetBitsDbg
341#define RtlFindSetBitsAndClear RtlFindSetBitsAndClearDbg
342#define RtlNumberOfClearBits RtlNumberOfClearBitsDbg
343#define RtlNumberOfSetBits RtlNumberOfSetBitsDbg
344#define RtlSetBit RtlSetBitDbg
345#define RtlSetBits RtlSetBitsDbg
346#define RtlSetAllBits RtlSetAllBitsDbg
347#define RtlTestBit RtlTestBitDbg
349#define RtlCheckBit RtlCheckBitDbg
#define ALIGN_UP_BY(size, align)
static ULONG RtlFindSetBitsAndClearDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG NumberToFind, _In_ ULONG HintIndex)
static ULONG RtlNumberOfClearBitsDbg(_In_ PRTL_BITMAP_DBG BitMapHeader)
struct _RTL_BITMAP_DBG RTL_BITMAP_DBG
#define RtlInitializeBitMap
static ULONG RtlFindClearBitsAndSetDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG NumberToFind, _In_ ULONG HintIndex)
static VOID RtlClearBitDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber)
static VOID RtlClearBitsDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_range_(0, BitMapHeader->SizeOfBitMap - NumberToClear) ULONG StartingIndex, _In_range_(0, BitMapHeader->SizeOfBitMap - StartingIndex) ULONG NumberToClear)
#define RtlFindNextForwardRunClear
struct _RTL_BITMAP_DBG * PRTL_BITMAP_DBG
static ULONG RtlFindFirstRunClearDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _Out_ PULONG StartingIndex)
#define RtlFindLastBackwardRunClear
static ULONG RtlFindLongestRunClearDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _Out_ PULONG StartingIndex)
#define RtlFindClearBitsAndSet
static BOOLEAN RtlAreBitsSetDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG StartingIndex, _In_ ULONG Length)
static ULONG RtlFindClearBitsDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG NumberToFind, _In_ ULONG HintIndex)
#define RtlNumberOfSetBits
static _Must_inspect_result_ BOOLEAN RtlTestBitDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber)
#define RtlFindNextForwardRunSet
static ULONG RtlFindNextForwardRunClearDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG FromIndex, _Out_ PULONG StartingRunIndex)
static BOOLEAN RtlAreBitsClearDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG StartingIndex, _In_ ULONG Length)
static ULONG RtlFindSetBitsDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG NumberToFind, _In_ ULONG HintIndex)
static ULONG RtlFindClearRunsDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _Out_writes_to_(SizeOfRunArray, return) PRTL_BITMAP_RUN RunArray, _In_range_(>, 0) ULONG SizeOfRunArray, _In_ BOOLEAN LocateLongestRuns)
static VOID RtlSetBitsDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_range_(0, BitMapHeader->SizeOfBitMap - NumberToSet) ULONG StartingIndex, _In_range_(0, BitMapHeader->SizeOfBitMap - StartingIndex) ULONG NumberToSet)
static VOID RtlSetBitDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber)
#define RtlFindLongestRunClear
static ULONG fnv1a_hash(ULONG *data, size_t length)
static ULONG RtlComputeBitmapHashDbg(_In_ PRTL_BITMAP_DBG BitMapHeader)
#define RtlFindFirstRunClear
static ULONG RtlFindLastBackwardRunClearDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG FromIndex, _Out_ PULONG StartingRunIndex)
static _Must_inspect_result_ BOOLEAN RtlCheckBitDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitPosition)
#define RtlFindSetBitsAndClear
static VOID RtlSetAllBitsDbg(_In_ PRTL_BITMAP_DBG BitMapHeader)
#define RtlNumberOfClearBits
static ULONG RtlNumberOfSetBitsDbg(_In_ PRTL_BITMAP_DBG BitMapHeader)
static ULONG RtlFindNextForwardRunSetDbg(_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG FromIndex, _Out_ PULONG StartingRunIndex)
static VOID RtlClearAllBitsDbg(_In_ PRTL_BITMAP_DBG BitMapHeader)
static VOID RtlValidateBitmapDbg(_Inout_ PRTL_BITMAP_DBG BitMapHeader)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLsizei GLsizei * length
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define _Post_equal_to_(expr)
#define _At_(target, annos)
#define _Must_inspect_result_
#define _Out_writes_to_(size, count)
#define _In_range_(lb, ub)
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ ULONG _In_ ULONG HintIndex