pointerBitLockMaskPtr
fn
void * pointerBitLockMaskPtr(void * ptr, uint lockBit, bool set, size_t preserveMask, void * preservePtr = null)This mangles ptr as [glib.global.pointerBitLock] and [glib.global.pointerBitUnlock] do.
Parameters
ptr | the pointer to mask |
lockBit | the bit to set/clear. If set to G_MAXUINT, the lockbit is taken from preserve_ptr or ptr (depending on preserve_mask). |
set | whether to set (lock) the bit or unset (unlock). This has no effect, if lock_bit is set to G_MAXUINT. |
preserveMask | 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 | if preserve_mask is non-zero, the bits from this pointer are set in the result. |
Returns
the mangled pointer.