libosmocore  0.6.3
Osmocom core library
bitvec.h File Reference

Osmocom bit vector abstraction. More...

#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  bitvec
 structure describing a bit vector More...

Enumerations

enum  bit_value { ZERO = 0, ONE = 1, L = 2, H = 3 }
 A single GSM bit. More...

Functions

enum bit_value bitvec_get_bit_pos (const struct bitvec *bv, unsigned int bitnr)
 check if the bit is 0 or 1 for a given position inside a bitvec
enum bit_value bitvec_get_bit_pos_high (const struct bitvec *bv, unsigned int bitnr)
 check if the bit is L or H for a given position inside a bitvec
unsigned int bitvec_get_nth_set_bit (const struct bitvec *bv, unsigned int n)
 get the Nth set bit inside the bit vector
int bitvec_set_bit_pos (struct bitvec *bv, unsigned int bitnr, enum bit_value bit)
 set a bit at given position in a bit vector
int bitvec_set_bit (struct bitvec *bv, enum bit_value bit)
 set the next bit inside a bitvec
int bitvec_get_bit_high (struct bitvec *bv)
 get the next bit (low/high) inside a bitvec
int bitvec_set_bits (struct bitvec *bv, enum bit_value *bits, int count)
 set multiple bits (based on array of bitvals) at current pos
int bitvec_set_uint (struct bitvec *bv, unsigned int ui, int num_bits)
 set multiple bits (based on numeric value) at current pos
int bitvec_get_uint (struct bitvec *bv, int num_bits)
 get multiple bits (based on numeric value) from current pos
int bitvec_find_bit_pos (const struct bitvec *bv, unsigned int n, enum bit_value val)
 find first bit set in bit vector
int bitvec_spare_padding (struct bitvec *bv, unsigned int up_to_bit)
 pad all remaining bits up to num_bits

Detailed Description

Osmocom bit vector abstraction.