OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bitvector.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  bit_vector_
 

Macros

#define BV_BAD_BITNUM   0xffffffff /* Illegal bit number */
 

Typedefs

typedef uint32_t bv_bitnum_t
 
typedef struct bit_vector_ bit_vector
 
typedef boolean(* bv_callback )(void *context, bv_bitnum_t bit_number, boolean new_bit_value, boolean old_bit_value)
 

Enumerations

enum  bv_callback_option { BV_CALL_CHANGE, BV_CALL_SET }
 

Functions

void bv_clean (bit_vector *bv)
 
int bv_set_bit (bit_vector *bv, bv_bitnum_t bit_number)
 
boolean bv_clear_bit (bit_vector *bv, bv_bitnum_t bit_number)
 
boolean bv_bit_is_set (bit_vector *bv, bv_bitnum_t bit_number)
 
void bv_init_vector (bit_vector *bv, boolean fast_vects)
 
int bv_and_vectors (bit_vector *first, bit_vector *second, bit_vector *result, bv_callback callback, void *context, bv_callback_option cb_opt)
 
int bv_or_vectors (bit_vector *first, bit_vector *second, bit_vector *result, bv_callback callback, void *context, bv_callback_option cb_opt)
 
int bv_xor_vectors (bit_vector *first, bit_vector *second, bit_vector *result, bv_callback callback, void *context, bv_callback_option cb_opt)
 
int bv_clear_vectors (bit_vector *first, bit_vector *second, bit_vector *result, bv_callback callback, void *context, bv_callback_option cb_opt)
 
int bv_copy_vector (bit_vector *src, bit_vector *dest, bv_callback callback, void *context, bv_callback_option cb_opt)
 
int bv_walk_vector (bit_vector *vect, bv_callback callback, void *context)
 
bv_bitnum_t bv_first_set_bit (bit_vector *bv)
 
boolean bv_empty (bit_vector *bv)
 
bv_bitnum_t bv_first_clear_bit (bit_vector *bv)
 
bv_bitnum_t bv_find_clear_bit (bit_vector *bv)
 
void bv_clear_all_bits (bit_vector *bv, bv_callback callback, void *context, bv_callback_option cb_opt)
 

Macro Definition Documentation

#define BV_BAD_BITNUM   0xffffffff /* Illegal bit number */

Definition at line 374 of file bitvector.h.

Typedef Documentation

typedef struct bit_vector_ bit_vector
typedef uint32_t bv_bitnum_t

Definition at line 373 of file bitvector.h.

typedef boolean(* bv_callback)(void *context, bv_bitnum_t bit_number, boolean new_bit_value, boolean old_bit_value)

Definition at line 395 of file bitvector.h.

Enumeration Type Documentation

Enumerator
BV_CALL_CHANGE 
BV_CALL_SET 

Definition at line 403 of file bitvector.h.

Function Documentation

int bv_and_vectors ( bit_vector first,
bit_vector second,
bit_vector result,
bv_callback  callback,
void *  context,
bv_callback_option  cb_opt 
)
boolean bv_bit_is_set ( bit_vector bv,
bv_bitnum_t  bit_number 
)
void bv_clean ( bit_vector bv)
void bv_clear_all_bits ( bit_vector bv,
bv_callback  callback,
void *  context,
bv_callback_option  cb_opt 
)
boolean bv_clear_bit ( bit_vector bv,
bv_bitnum_t  bit_number 
)
int bv_clear_vectors ( bit_vector first,
bit_vector second,
bit_vector result,
bv_callback  callback,
void *  context,
bv_callback_option  cb_opt 
)
int bv_copy_vector ( bit_vector src,
bit_vector dest,
bv_callback  callback,
void *  context,
bv_callback_option  cb_opt 
)
boolean bv_empty ( bit_vector bv)
bv_bitnum_t bv_find_clear_bit ( bit_vector bv)
bv_bitnum_t bv_first_clear_bit ( bit_vector bv)
bv_bitnum_t bv_first_set_bit ( bit_vector bv)
void bv_init_vector ( bit_vector bv,
boolean  fast_vects 
)
int bv_or_vectors ( bit_vector first,
bit_vector second,
bit_vector result,
bv_callback  callback,
void *  context,
bv_callback_option  cb_opt 
)
int bv_set_bit ( bit_vector bv,
bv_bitnum_t  bit_number 
)
int bv_walk_vector ( bit_vector vect,
bv_callback  callback,
void *  context 
)
int bv_xor_vectors ( bit_vector first,
bit_vector second,
bit_vector result,
bv_callback  callback,
void *  context,
bv_callback_option  cb_opt 
)