bitOffset
this->bitOffset = 0;
void SetSize(uint64 bitSize, uint64 bitOffset)
this->size = (bitOffset + bitSize + 7) / 8;
this->bitOffset = bitOffset;
uint64 bitOffset, uint64 bitSize);
uint64 bitOffset; // bit offset (to the most
HIDReportItem::HIDReportItem(HIDReport *report, uint32 bitOffset,
fByteOffset(bitOffset / 8),
fShift(bitOffset % 8),
uint32 bitOffset, uint8 bitLength,
piece.bitOffset = registers[reg].BitSize() - piece.bitSize
- piece.bitOffset;
piece.bitOffset = piece.size * 8 - piece.bitSize
- piece.bitOffset;
uint64 bitOffset = 0;
bitOffset = value.ToUInt64();
B_PRIu64 "/%" B_PRIu64 "\n", byteSize, bitOffset, bitSize);
if (bitOffset + bitSize > byteSize * 8)
if (!bitFieldLocation->SetTo(*location, bitOffset, bitSize))
if (bitOffset + bitSize > totalBitSize) {
if (bitOffset >= totalBitSize)
bitSize = totalBitSize - bitOffset;
uint64 bitsToSkip = bitOffset;
piece.bitOffset += bitsToSkip;
uint64 bitsToSkip = totalBitSize - bitOffset - bitSize;
uint64 excessMSBs = bitOffset / 8;
uint64 excessLSBs = size - (bitOffset + bitSize + 7) / 8;
piece.bitOffset += piece.bitSize - bitSize;
bitOffset -= excessMSBs * 8;
" bits\n", piece.size, piece.bitSize, piece.bitOffset);
bitOffset -= excessMSBs * 8;
ValueLocation::SetTo(const ValueLocation& other, uint64 bitOffset,
const uint8* data = (const uint8*)_data + bitOffset / 8;
bitOffset %= 8;
BitReader reader(data, bitSize, bitOffset);
uint32 bitOffset;
BitReader(const uint8* data, uint64 bitSize, uint32 bitOffset)
bitOffset(bitOffset)
if (bitOffset == 0)
return (byte << bitOffset) | (*data >> (8 - bitOffset));
bitOffset += count;
if (bitOffset <= 8) {
if (bitOffset == 8) {
bitOffset = 0;
return (byte >> (8 - bitOffset)) & ((1 << count) - 1);
bitOffset -= 8;
return ((byte << bitOffset) | (*data >> (8 - bitOffset)))
BitBuffer::AddBits(const void* _data, uint64 bitSize, uint32 bitOffset)
uint32 bitOffset = 0);
uint8 bitOffset = piece.bitOffset;
valueBuffer.AddBits(pieceBuffer, bitSize, bitOffset);
bitOffset = registerValue.Size() * 8 - bitOffset - bitSize;
valueBuffer.AddBits(registerValue.Bytes(), bitSize, bitOffset);
uint32 bitOffset = partialBitmapBlock % 32;
if (bitOffset != 0)
bits[offset] = ~(((uint32)1 << bitOffset) - 1);
uint32 bitOffset = base % 32;
if (bitOffset > 0) {
uint32 mask = ~(((uint32)1 << bitOffset) - 1);
while ((*bits & ((uint32)1 << bitOffset)) != 0) {
bitOffset++;
base += 32 - bitOffset;
bitOffset = 0;
bitOffset = 0;
while ((*bits & ((uint32)1 << bitOffset)) != 0) {
bitOffset++;
kBlocksPerBitmapBlock - (bitsEnd - bits), bitOffset, *bits);
uint32 endOffset = std::min(bitOffset + remaining, (uint32)32);
for (; bitOffset < endOffset; bitOffset++) {
if ((*bits & ((uint32)1 << bitOffset)) != 0) {
*bits |= (uint32)1 << bitOffset;
bitOffset = 0;
uint32 bitOffset = base % 32;
if (bitOffset > 0) {
uint32 endOffset = std::min(bitOffset + remaining, (uint32)32);
uint32 mask = ~(((uint32)1 << bitOffset) - 1);
remaining -= endOffset - bitOffset;