Main Page   File List  

Bit Manipulation Functions


Files

file  ARCH-amd64/bitops_arch.h
 amd64 bit manipulation functions
file  ARCH-x86/bitops_arch.h
 x86 bit manipulation functions
file  bitops.h
 bit manipulation functions

Functions

void l4util_set_bit (int b, volatile l4_umword_t *dest)
 Set bit in memory.
void l4util_clear_bit (int b, volatile l4_umword_t *dest)
 Clear bit in memory.
void l4util_complement_bit (int b, volatile l4_umword_t *dest)
 Complement bit in memory.
int l4util_test_bit (int b, const volatile l4_umword_t *dest)
 Test bit (return value of bit).
int l4util_bts (int b, volatile l4_umword_t *dest)
 Bit test and set.
int l4util_btr (int b, volatile l4_umword_t *dest)
 Bit test and reset.
int l4util_btc (int b, volatile l4_umword_t *dest)
 Bit test and complement.
int l4util_bsr (l4_umword_t word)
 Bit scan reverse.
int l4util_bsf (l4_umword_t word)
 Bit scan forward.
int l4util_find_first_set_bit (const void *dest, l4_size_t size)
 Find the first set bit in a memory region.
int l4util_find_first_zero_bit (const void *dest, l4_size_t size)
 Find the first zero bit in a memory region.

Function Documentation

void l4util_set_bit ( int  b,
volatile l4_umword_t *  dest 
) [inline]

Set bit in memory.

Parameters:
b bit position
dest destination operand

Definition at line 74 of file ARCH-amd64/bitops_arch.h.

void l4util_clear_bit ( int  b,
volatile l4_umword_t *  dest 
) [inline]

Clear bit in memory.

Parameters:
b bit position
dest destination operand

Definition at line 114 of file ARCH-amd64/bitops_arch.h.

void l4util_complement_bit ( int  b,
volatile l4_umword_t *  dest 
) [inline]

Complement bit in memory.

Parameters:
b bit position
dest destination operand

Definition at line 122 of file ARCH-amd64/bitops_arch.h.

int l4util_test_bit ( int  b,
const volatile l4_umword_t *  dest 
) [inline]

Test bit (return value of bit).

Parameters:
b bit position
dest destination operand
Returns:
Value of bit b.

Definition at line 183 of file ARCH-amd64/bitops_arch.h.

int l4util_bts ( int  b,
volatile l4_umword_t *  dest 
) [inline]

Bit test and set.

Parameters:
b bit position
dest destination operand
Returns:
Old value of bit b.
Set the b bit of dest to 1 and return the old value.

Definition at line 192 of file ARCH-amd64/bitops_arch.h.

int l4util_btr ( int  b,
volatile l4_umword_t *  dest 
) [inline]

Bit test and reset.

Parameters:
b bit position
dest destination operand
Returns:
Old value of bit b.
Reset bit b and return old value.

Definition at line 215 of file ARCH-amd64/bitops_arch.h.

int l4util_btc ( int  b,
volatile l4_umword_t *  dest 
) [inline]

Bit test and complement.

Parameters:
b bit position
dest destination operand
Returns:
Old value of bit b.
Complement bit b and return old value.

Definition at line 238 of file ARCH-amd64/bitops_arch.h.

int l4util_bsr ( l4_umword_t  word  )  [inline]

Bit scan reverse.

Parameters:
word value (machine size)
Returns:
index of most significant set bit in word, -1 if no bit is set (word == 0)
"bit scan reverse", find most significant set bit in word (-> LOG2(word))

Definition at line 261 of file ARCH-amd64/bitops_arch.h.

int l4util_bsf ( l4_umword_t  word  )  [inline]

Bit scan forward.

Parameters:
word value (machine size)
Returns:
index of least significant bit set in word, -1 if no bit is set (word == 0)
"bit scan forward", find least significant bit set in word.

Definition at line 283 of file ARCH-amd64/bitops_arch.h.

int l4util_find_first_set_bit ( const void *  dest,
l4_size_t  size 
) [inline]

Find the first set bit in a memory region.

Parameters:
dest bitstring
size size of string in bits (must be a multiple of 32!)
Returns:
number of the first set bit, >= size if no bit is set

Definition at line 304 of file ARCH-amd64/bitops_arch.h.

int l4util_find_first_zero_bit ( const void *  dest,
l4_size_t  size 
) [inline]

Find the first zero bit in a memory region.

Parameters:
dest bitstring
size size of string in bits (must be a multiple of 32!)
Returns:
number of the first zero bit, >= size if no bit is set

Definition at line 331 of file ARCH-amd64/bitops_arch.h.


L4 Utilities, part of DROPS  © 2000-2003