pointerBitLockMaskPtr

void*
pointerBitLockMaskPtr
(
void* ptr
,
uint lockBit
,
bool set
,,
void* preservePtr = null
)

Parameters

ptr void*

the pointer to mask

lockBit uint

the bit to set/clear. If set to G_MAXUINT, the lockbit is taken from preserve_ptr or ptr (depending on preserve_mask).

set bool

whether to set (lock) the bit or unset (unlock). This has no effect, if lock_bit is set to G_MAXUINT.

preserveMask size_t

if non-zero, a bit-mask for preserve_ptr. The preserve_mask bits from preserve_ptr are set in the result. Note that the lock_bit bit will be always set according to set, regardless of preserve_mask and preserve_ptr (unless lock_bit is G_MAXUINT).

preservePtr void*

if preserve_mask is non-zero, the bits from this pointer are set in the result.

Return Value

Type: void*

the mangled pointer.