File: bv.h

package info (click to toggle)
poc-streamer 0.4.2-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,000 kB
  • sloc: ansic: 8,782; makefile: 307; ruby: 152; perl: 135; yacc: 115; lex: 36; sh: 30
file content (25 lines) | stat: -rw-r--r-- 478 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*C
  (c) 2005 bl0rg.net
**/

#ifndef BV_H__
#define BV_H__

/*M
  \emph{Bit vector structure.}
**/
typedef struct bv_s {
  /*@dependent@*/ unsigned char *data;
  unsigned int  len;
  unsigned int  idx;
} bv_t;

/*C
**/

void bv_init(/*@out@*/ bv_t *bv, unsigned char *data, unsigned int len);
void bv_reset(/*@out@*/ bv_t *bv);
unsigned long bv_get_bits(bv_t *bv, unsigned int numbits);
int bv_put_bits(bv_t *bv, unsigned long bits, unsigned int numbits);

#endif /* BV_H__ */