HyperDbg Debugger
Loading...
Searching...
No Matches
Bitwise.c File Reference

Functions for bit-level operations. More...

#include "pch.h"

Functions

INT TestBit (INT BitNumber, ULONG *Addr)
 Check whether the bit is set or not.
VOID ClearBit (INT BitNumber, ULONG *Addr)
 unset the bit
VOID SetBit (INT BitNumber, ULONG *Addr)
 set the bit

Detailed Description

Functions for bit-level operations.

Author
Sina Karvandi (sina@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)
Version
0.2
Date
2023-04-27

Function Documentation

◆ ClearBit()

VOID ClearBit ( INT BitNumber,
ULONG * Addr )

unset the bit

Parameters
BitNumber
Addr
35{
36 BITMAP_ENTRY(BitNumber, Addr) &= ~(1UL << BITMAP_SHIFT(BitNumber));
37}
#define BITMAP_ENTRY(_nr, _bmap)
Definition Common.h:48
#define BITMAP_SHIFT(_nr)
Definition Common.h:49

◆ SetBit()

VOID SetBit ( INT BitNumber,
ULONG * Addr )

set the bit

Parameters
BitNumber
Addr
47{
48 BITMAP_ENTRY(BitNumber, Addr) |= (1UL << BITMAP_SHIFT(BitNumber));
49}

◆ TestBit()

INT TestBit ( INT BitNumber,
ULONG * Addr )

Check whether the bit is set or not.

Parameters
BitNumber
Addr
Returns
INT
23{
24 return (BITMAP_ENTRY(BitNumber, Addr) >> BITMAP_SHIFT(BitNumber)) & 1;
25}