ReactOS 0.4.16-dev-289-g096a551
dbgbitmap.h File Reference
#include <ndk/rtlfuncs.h>
Include dependency graph for dbgbitmap.h:

Go to the source code of this file.

Classes

struct  _RTL_BITMAP_DBG
 

Macros

#define _RTL_BITMAP   _RTL_BITMAP_DBG
 
#define RTL_BITMAP   RTL_BITMAP_DBG
 
#define PRTL_BITMAP   PRTL_BITMAP_DBG
 
#define RtlInitializeBitMap   RtlInitializeBitMapDbg
 
#define RtlAreBitsClear   RtlAreBitsClearDbg
 
#define RtlAreBitsSet   RtlAreBitsSetDbg
 
#define RtlClearAllBits   RtlClearAllBitsDbg
 
#define RtlClearBit   RtlClearBitDbg
 
#define RtlClearBits   RtlClearBitsDbg
 
#define RtlFindClearBits   RtlFindClearBitsDbg
 
#define RtlFindClearBitsAndSet   RtlFindClearBitsAndSetDbg
 
#define RtlFindFirstRunClear   RtlFindFirstRunClearDbg
 
#define RtlFindClearRuns   RtlFindClearRunsDbg
 
#define RtlFindLastBackwardRunClear   RtlFindLastBackwardRunClearDbg
 
#define RtlFindLongestRunClear   RtlFindLongestRunClearDbg
 
#define RtlFindNextForwardRunClear   RtlFindNextForwardRunClearDbg
 
#define RtlFindNextForwardRunSet   RtlFindNextForwardRunSetDbg
 
#define RtlFindSetBits   RtlFindSetBitsDbg
 
#define RtlFindSetBitsAndClear   RtlFindSetBitsAndClearDbg
 
#define RtlNumberOfClearBits   RtlNumberOfClearBitsDbg
 
#define RtlNumberOfSetBits   RtlNumberOfSetBitsDbg
 
#define RtlSetBit   RtlSetBitDbg
 
#define RtlSetBits   RtlSetBitsDbg
 
#define RtlSetAllBits   RtlSetAllBitsDbg
 
#define RtlTestBit   RtlTestBitDbg
 
#define RtlCheckBit   RtlCheckBitDbg
 

Typedefs

typedef struct _RTL_BITMAP_DBG RTL_BITMAP_DBG
 
typedef struct _RTL_BITMAP_DBGPRTL_BITMAP_DBG
 

Functions

static ULONG fnv1a_hash (ULONG *data, size_t length)
 
static ULONG RtlComputeBitmapHashDbg (_In_ PRTL_BITMAP_DBG BitMapHeader)
 
static VOID RtlValidateBitmapDbg (_Inout_ PRTL_BITMAP_DBG BitMapHeader)
 
 _At_ (BitMapHeader->SizeOfBitMap, _Post_equal_to_(SizeOfBitMap)) _At_(BitMapHeader -> Buffer, _Post_equal_to_(BitMapBuffer)) static inline VOID RtlInitializeBitMapDbg(_Out_ PRTL_BITMAP_DBG BitMapHeader, _In_opt_ __drv_aliasesMem PULONG BitMapBuffer, _In_opt_ ULONG SizeOfBitMap)
 
static BOOLEAN RtlAreBitsClearDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG StartingIndex, _In_ ULONG Length)
 
static BOOLEAN RtlAreBitsSetDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG StartingIndex, _In_ ULONG Length)
 
static VOID RtlClearAllBitsDbg (_In_ PRTL_BITMAP_DBG BitMapHeader)
 
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)
 
static ULONG RtlFindClearBitsDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG NumberToFind, _In_ ULONG HintIndex)
 
static ULONG RtlFindClearBitsAndSetDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG NumberToFind, _In_ ULONG HintIndex)
 
static ULONG RtlFindFirstRunClearDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _Out_ PULONG StartingIndex)
 
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 ULONG RtlFindLastBackwardRunClearDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG FromIndex, _Out_ PULONG StartingRunIndex)
 
static ULONG RtlFindLongestRunClearDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _Out_ PULONG StartingIndex)
 
static ULONG RtlFindNextForwardRunClearDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG FromIndex, _Out_ PULONG StartingRunIndex)
 
static ULONG RtlFindNextForwardRunSetDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG FromIndex, _Out_ PULONG StartingRunIndex)
 
static ULONG RtlFindSetBitsDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG NumberToFind, _In_ ULONG HintIndex)
 
static ULONG RtlFindSetBitsAndClearDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_ ULONG NumberToFind, _In_ ULONG HintIndex)
 
static ULONG RtlNumberOfClearBitsDbg (_In_ PRTL_BITMAP_DBG BitMapHeader)
 
static ULONG RtlNumberOfSetBitsDbg (_In_ PRTL_BITMAP_DBG BitMapHeader)
 
static VOID RtlSetBitDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber)
 
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 RtlSetAllBitsDbg (_In_ PRTL_BITMAP_DBG BitMapHeader)
 
static _Must_inspect_result_ BOOLEAN RtlTestBitDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitNumber)
 
static _Must_inspect_result_ BOOLEAN RtlCheckBitDbg (_In_ PRTL_BITMAP_DBG BitMapHeader, _In_range_(<, BitMapHeader->SizeOfBitMap) ULONG BitPosition)
 

Macro Definition Documentation

◆ _RTL_BITMAP

Definition at line 322 of file dbgbitmap.h.

◆ PRTL_BITMAP

Definition at line 324 of file dbgbitmap.h.

◆ RTL_BITMAP

Definition at line 323 of file dbgbitmap.h.

◆ RtlAreBitsClear

#define RtlAreBitsClear   RtlAreBitsClearDbg

Definition at line 327 of file dbgbitmap.h.

◆ RtlAreBitsSet

#define RtlAreBitsSet   RtlAreBitsSetDbg

Definition at line 328 of file dbgbitmap.h.

◆ RtlCheckBit

#define RtlCheckBit   RtlCheckBitDbg

Definition at line 349 of file dbgbitmap.h.

◆ RtlClearAllBits

#define RtlClearAllBits   RtlClearAllBitsDbg

Definition at line 329 of file dbgbitmap.h.

◆ RtlClearBit

#define RtlClearBit   RtlClearBitDbg

Definition at line 330 of file dbgbitmap.h.

◆ RtlClearBits

#define RtlClearBits   RtlClearBitsDbg

Definition at line 331 of file dbgbitmap.h.

◆ RtlFindClearBits

#define RtlFindClearBits   RtlFindClearBitsDbg

Definition at line 332 of file dbgbitmap.h.

◆ RtlFindClearBitsAndSet

#define RtlFindClearBitsAndSet   RtlFindClearBitsAndSetDbg

Definition at line 333 of file dbgbitmap.h.

◆ RtlFindClearRuns

#define RtlFindClearRuns   RtlFindClearRunsDbg

Definition at line 335 of file dbgbitmap.h.

◆ RtlFindFirstRunClear

#define RtlFindFirstRunClear   RtlFindFirstRunClearDbg

Definition at line 334 of file dbgbitmap.h.

◆ RtlFindLastBackwardRunClear

#define RtlFindLastBackwardRunClear   RtlFindLastBackwardRunClearDbg

Definition at line 336 of file dbgbitmap.h.

◆ RtlFindLongestRunClear

#define RtlFindLongestRunClear   RtlFindLongestRunClearDbg

Definition at line 337 of file dbgbitmap.h.

◆ RtlFindNextForwardRunClear

#define RtlFindNextForwardRunClear   RtlFindNextForwardRunClearDbg

Definition at line 338 of file dbgbitmap.h.

◆ RtlFindNextForwardRunSet

#define RtlFindNextForwardRunSet   RtlFindNextForwardRunSetDbg

Definition at line 339 of file dbgbitmap.h.

◆ RtlFindSetBits

#define RtlFindSetBits   RtlFindSetBitsDbg

Definition at line 340 of file dbgbitmap.h.

◆ RtlFindSetBitsAndClear

#define RtlFindSetBitsAndClear   RtlFindSetBitsAndClearDbg

Definition at line 341 of file dbgbitmap.h.

◆ RtlInitializeBitMap

#define RtlInitializeBitMap   RtlInitializeBitMapDbg

Definition at line 326 of file dbgbitmap.h.

◆ RtlNumberOfClearBits

#define RtlNumberOfClearBits   RtlNumberOfClearBitsDbg

Definition at line 342 of file dbgbitmap.h.

◆ RtlNumberOfSetBits

#define RtlNumberOfSetBits   RtlNumberOfSetBitsDbg

Definition at line 343 of file dbgbitmap.h.

◆ RtlSetAllBits

#define RtlSetAllBits   RtlSetAllBitsDbg

Definition at line 346 of file dbgbitmap.h.

◆ RtlSetBit

#define RtlSetBit   RtlSetBitDbg

Definition at line 344 of file dbgbitmap.h.

◆ RtlSetBits

#define RtlSetBits   RtlSetBitsDbg

Definition at line 345 of file dbgbitmap.h.

◆ RtlTestBit

#define RtlTestBit   RtlTestBitDbg

Definition at line 347 of file dbgbitmap.h.

Typedef Documentation

◆ PRTL_BITMAP_DBG

◆ RTL_BITMAP_DBG

Function Documentation

◆ _At_()

_At_ ( BitMapHeader->  SizeOfBitMap,
_Post_equal_to_(SizeOfBitMap)   
) -> Buffer, _Post_equal_to_(BitMapBuffer)) static inline VOID RtlInitializeBitMapDbg( _Out_ PRTL_BITMAP_DBG BitMapHeader, _In_opt_ __drv_aliasesMem PULONG BitMapBuffer, _In_opt_ ULONG SizeOfBitMap)

Definition at line 59 of file dbgbitmap.h.

67{
68 RtlInitializeBitMap(&BitMapHeader->BitMap, BitMapBuffer, SizeOfBitMap);
69 BitMapHeader->NumberOfSetBits = RtlNumberOfSetBits(&BitMapHeader->BitMap);
70 BitMapHeader->BitmapHash = RtlComputeBitmapHashDbg(BitMapHeader);
71}
#define RtlInitializeBitMap
Definition: dbgbitmap.h:326
#define RtlNumberOfSetBits
Definition: dbgbitmap.h:343
static ULONG RtlComputeBitmapHashDbg(_In_ PRTL_BITMAP_DBG BitMapHeader)
Definition: dbgbitmap.h:41

◆ fnv1a_hash()

static ULONG fnv1a_hash ( ULONG data,
size_t  length 
)
inlinestatic

Definition at line 28 of file dbgbitmap.h.

29{
30 ULONG hash = 2166136261u; // FNV offset basis (a large prime number)
31 for (size_t i = 0; i < length; ++i)
32 {
33 hash ^= data[i];
34 hash *= 16777619u; // FNV prime
35 }
36 return hash;
37}
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
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
Definition: glfuncs.h:248
Definition: _hash_fun.h:40
uint32_t ULONG
Definition: typedefs.h:59

Referenced by RtlComputeBitmapHashDbg().

◆ RtlAreBitsClearDbg()

static BOOLEAN RtlAreBitsClearDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_ ULONG  StartingIndex,
_In_ ULONG  Length 
)
inlinestatic

Definition at line 75 of file dbgbitmap.h.

79{
80 RtlValidateBitmapDbg(BitMapHeader);
81 return RtlAreBitsClear(&BitMapHeader->BitMap, StartingIndex, Length);
82}
#define RtlAreBitsClear
Definition: dbgbitmap.h:327
static VOID RtlValidateBitmapDbg(_Inout_ PRTL_BITMAP_DBG BitMapHeader)
Definition: dbgbitmap.h:50
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONG StartingIndex
Definition: rtlfuncs.h:398

◆ RtlAreBitsSetDbg()

static BOOLEAN RtlAreBitsSetDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_ ULONG  StartingIndex,
_In_ ULONG  Length 
)
inlinestatic

Definition at line 86 of file dbgbitmap.h.

90{
91 RtlValidateBitmapDbg(BitMapHeader);
92 return RtlAreBitsSet(&BitMapHeader->BitMap, StartingIndex, Length);
93}
#define RtlAreBitsSet
Definition: dbgbitmap.h:328

◆ RtlCheckBitDbg()

static _Must_inspect_result_ BOOLEAN RtlCheckBitDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_range_(<, BitMapHeader->SizeOfBitMap) ULONG  BitPosition 
)
inlinestatic

Definition at line 314 of file dbgbitmap.h.

317{
318 RtlValidateBitmapDbg(BitMapHeader);
319 return RtlCheckBit(&BitMapHeader->BitMap, BitPosition);
320}
#define RtlCheckBit
Definition: dbgbitmap.h:349

◆ RtlClearAllBitsDbg()

static VOID RtlClearAllBitsDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader)
inlinestatic

Definition at line 97 of file dbgbitmap.h.

99{
100 RtlValidateBitmapDbg(BitMapHeader);
101 RtlClearAllBits(&BitMapHeader->BitMap);
102 BitMapHeader->NumberOfSetBits = 0;
103 BitMapHeader->BitmapHash = RtlComputeBitmapHashDbg(BitMapHeader);
104}
#define RtlClearAllBits
Definition: dbgbitmap.h:329

◆ RtlClearBitDbg()

static VOID RtlClearBitDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_range_(<, BitMapHeader->SizeOfBitMap) ULONG  BitNumber 
)
inlinestatic

Definition at line 108 of file dbgbitmap.h.

111{
112 RtlValidateBitmapDbg(BitMapHeader);
113 if (RtlCheckBit(&BitMapHeader->BitMap, BitNumber) == FALSE)
114 {
115 BitMapHeader->NumberOfSetBits--;
116 }
117 RtlClearBit(&BitMapHeader->BitMap, BitNumber);
118 BitMapHeader->BitmapHash = RtlComputeBitmapHashDbg(BitMapHeader);
119}
#define RtlClearBit
Definition: dbgbitmap.h:330
#define FALSE
Definition: types.h:117

◆ RtlClearBitsDbg()

static VOID RtlClearBitsDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_range_(0, BitMapHeader->SizeOfBitMap - NumberToClear) ULONG  StartingIndex,
_In_range_(0, BitMapHeader->SizeOfBitMap - StartingIndex) ULONG  NumberToClear 
)
inlinestatic

Definition at line 123 of file dbgbitmap.h.

127{
128 RtlValidateBitmapDbg(BitMapHeader);
129 RtlClearBits(&BitMapHeader->BitMap, StartingIndex, NumberToClear);
130 BitMapHeader->NumberOfSetBits = RtlNumberOfSetBits(&BitMapHeader->BitMap);
131 BitMapHeader->BitmapHash = RtlComputeBitmapHashDbg(BitMapHeader);
132}
#define RtlClearBits
Definition: dbgbitmap.h:331

◆ RtlComputeBitmapHashDbg()

static ULONG RtlComputeBitmapHashDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader)
inlinestatic

Definition at line 41 of file dbgbitmap.h.

43{
44 ULONG SizeInBytes = ALIGN_UP_BY(BitMapHeader->BitMap.SizeOfBitMap, 32) / 32;
45 return fnv1a_hash(BitMapHeader->BitMap.Buffer, SizeInBytes / sizeof(ULONG));
46}
#define ALIGN_UP_BY(size, align)
static ULONG fnv1a_hash(ULONG *data, size_t length)
Definition: dbgbitmap.h:28

Referenced by _At_(), RtlClearAllBitsDbg(), RtlClearBitDbg(), RtlClearBitsDbg(), RtlSetAllBitsDbg(), RtlSetBitDbg(), RtlSetBitsDbg(), and RtlValidateBitmapDbg().

◆ RtlFindClearBitsAndSetDbg()

static ULONG RtlFindClearBitsAndSetDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_ ULONG  NumberToFind,
_In_ ULONG  HintIndex 
)
inlinestatic

Definition at line 147 of file dbgbitmap.h.

151{
152 RtlValidateBitmapDbg(BitMapHeader);
153 return RtlFindClearBitsAndSet(&BitMapHeader->BitMap, NumberToFind, HintIndex);
154}
#define RtlFindClearBitsAndSet
Definition: dbgbitmap.h:333
_In_ ULONG NumberToFind
Definition: rtlfuncs.h:612
_In_ ULONG _In_ ULONG HintIndex
Definition: rtlfuncs.h:613

◆ RtlFindClearBitsDbg()

static ULONG RtlFindClearBitsDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_ ULONG  NumberToFind,
_In_ ULONG  HintIndex 
)
inlinestatic

Definition at line 136 of file dbgbitmap.h.

140{
141 RtlValidateBitmapDbg(BitMapHeader);
142 return RtlFindClearBits(&BitMapHeader->BitMap, NumberToFind, HintIndex);
143}
#define RtlFindClearBits
Definition: dbgbitmap.h:332

◆ RtlFindClearRunsDbg()

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 
)
inlinestatic

Definition at line 168 of file dbgbitmap.h.

173{
174 RtlValidateBitmapDbg(BitMapHeader);
175 return RtlFindClearRuns(&BitMapHeader->BitMap, RunArray, SizeOfRunArray, LocateLongestRuns);
176}
#define RtlFindClearRuns
Definition: dbgbitmap.h:335

◆ RtlFindFirstRunClearDbg()

static ULONG RtlFindFirstRunClearDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_Out_ PULONG  StartingIndex 
)
inlinestatic

Definition at line 158 of file dbgbitmap.h.

161{
162 RtlValidateBitmapDbg(BitMapHeader);
163 return RtlFindFirstRunClear(&BitMapHeader->BitMap, StartingIndex);
164}
#define RtlFindFirstRunClear
Definition: dbgbitmap.h:334

◆ RtlFindLastBackwardRunClearDbg()

static ULONG RtlFindLastBackwardRunClearDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_ ULONG  FromIndex,
_Out_ PULONG  StartingRunIndex 
)
inlinestatic

Definition at line 180 of file dbgbitmap.h.

184{
185 RtlValidateBitmapDbg(BitMapHeader);
186 return RtlFindLastBackwardRunClear(&BitMapHeader->BitMap, FromIndex, StartingRunIndex);
187}
#define RtlFindLastBackwardRunClear
Definition: dbgbitmap.h:336

◆ RtlFindLongestRunClearDbg()

static ULONG RtlFindLongestRunClearDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_Out_ PULONG  StartingIndex 
)
inlinestatic

Definition at line 191 of file dbgbitmap.h.

194{
195 RtlValidateBitmapDbg(BitMapHeader);
196 return RtlFindLongestRunClear(&BitMapHeader->BitMap, StartingIndex);
197}
#define RtlFindLongestRunClear
Definition: dbgbitmap.h:337

◆ RtlFindNextForwardRunClearDbg()

static ULONG RtlFindNextForwardRunClearDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_ ULONG  FromIndex,
_Out_ PULONG  StartingRunIndex 
)
inlinestatic

Definition at line 201 of file dbgbitmap.h.

205{
206 RtlValidateBitmapDbg(BitMapHeader);
207 return RtlFindNextForwardRunClear(&BitMapHeader->BitMap, FromIndex, StartingRunIndex);
208}
#define RtlFindNextForwardRunClear
Definition: dbgbitmap.h:338

◆ RtlFindNextForwardRunSetDbg()

static ULONG RtlFindNextForwardRunSetDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_ ULONG  FromIndex,
_Out_ PULONG  StartingRunIndex 
)
inlinestatic

Definition at line 212 of file dbgbitmap.h.

216{
217 RtlValidateBitmapDbg(BitMapHeader);
218 return RtlFindNextForwardRunSet(&BitMapHeader->BitMap, FromIndex, StartingRunIndex);
219}
#define RtlFindNextForwardRunSet
Definition: dbgbitmap.h:339

◆ RtlFindSetBitsAndClearDbg()

static ULONG RtlFindSetBitsAndClearDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_ ULONG  NumberToFind,
_In_ ULONG  HintIndex 
)
inlinestatic

Definition at line 234 of file dbgbitmap.h.

238{
239 RtlValidateBitmapDbg(BitMapHeader);
240 return RtlFindSetBitsAndClear(&BitMapHeader->BitMap, NumberToFind, HintIndex);
241}
#define RtlFindSetBitsAndClear
Definition: dbgbitmap.h:341

◆ RtlFindSetBitsDbg()

static ULONG RtlFindSetBitsDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_ ULONG  NumberToFind,
_In_ ULONG  HintIndex 
)
inlinestatic

Definition at line 223 of file dbgbitmap.h.

227{
228 RtlValidateBitmapDbg(BitMapHeader);
229 return RtlFindSetBits(&BitMapHeader->BitMap, NumberToFind, HintIndex);
230}
#define RtlFindSetBits
Definition: dbgbitmap.h:340

◆ RtlNumberOfClearBitsDbg()

static ULONG RtlNumberOfClearBitsDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader)
inlinestatic

Definition at line 245 of file dbgbitmap.h.

247{
248 RtlValidateBitmapDbg(BitMapHeader);
249 return RtlNumberOfClearBits(&BitMapHeader->BitMap);
250}
#define RtlNumberOfClearBits
Definition: dbgbitmap.h:342

◆ RtlNumberOfSetBitsDbg()

static ULONG RtlNumberOfSetBitsDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader)
inlinestatic

Definition at line 254 of file dbgbitmap.h.

256{
257 RtlValidateBitmapDbg(BitMapHeader);
258 return RtlNumberOfSetBits(&BitMapHeader->BitMap);
259}

◆ RtlSetAllBitsDbg()

static VOID RtlSetAllBitsDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader)
inlinestatic

Definition at line 291 of file dbgbitmap.h.

293{
294 RtlValidateBitmapDbg(BitMapHeader);
295 RtlSetAllBits(&BitMapHeader->BitMap);
296 BitMapHeader->NumberOfSetBits = BitMapHeader->BitMap.SizeOfBitMap;
297 BitMapHeader->BitmapHash = RtlComputeBitmapHashDbg(BitMapHeader);
298}
#define RtlSetAllBits
Definition: dbgbitmap.h:346

◆ RtlSetBitDbg()

static VOID RtlSetBitDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_range_(<, BitMapHeader->SizeOfBitMap) ULONG  BitNumber 
)
inlinestatic

Definition at line 263 of file dbgbitmap.h.

266{
267 RtlValidateBitmapDbg(BitMapHeader);
268 if (RtlCheckBit(&BitMapHeader->BitMap, BitNumber) == FALSE)
269 {
270 BitMapHeader->NumberOfSetBits++;
271 }
272 RtlSetBit(&BitMapHeader->BitMap, BitNumber);
273 BitMapHeader->BitmapHash = RtlComputeBitmapHashDbg(BitMapHeader);
274}
#define RtlSetBit
Definition: dbgbitmap.h:344

◆ RtlSetBitsDbg()

static VOID RtlSetBitsDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_range_(0, BitMapHeader->SizeOfBitMap - NumberToSet) ULONG  StartingIndex,
_In_range_(0, BitMapHeader->SizeOfBitMap - StartingIndex) ULONG  NumberToSet 
)
inlinestatic

Definition at line 278 of file dbgbitmap.h.

282{
283 RtlValidateBitmapDbg(BitMapHeader);
284 RtlSetBits(&BitMapHeader->BitMap, StartingIndex, NumberToSet);
285 BitMapHeader->NumberOfSetBits = RtlNumberOfSetBits(&BitMapHeader->BitMap);
286 BitMapHeader->BitmapHash = RtlComputeBitmapHashDbg(BitMapHeader);
287}
#define RtlSetBits
Definition: dbgbitmap.h:345

◆ RtlTestBitDbg()

static _Must_inspect_result_ BOOLEAN RtlTestBitDbg ( _In_ PRTL_BITMAP_DBG  BitMapHeader,
_In_range_(<, BitMapHeader->SizeOfBitMap) ULONG  BitNumber 
)
inlinestatic

Definition at line 303 of file dbgbitmap.h.

306{
307 RtlValidateBitmapDbg(BitMapHeader);
308 return RtlTestBit(&BitMapHeader->BitMap, BitNumber);
309}
#define RtlTestBit
Definition: dbgbitmap.h:347

◆ RtlValidateBitmapDbg()