XMMS2
xmmsv_bitbuffer.h
Go to the documentation of this file.
1 /* XMMS2 - X Music Multiplexer System
2  * Copyright (C) 2003-2011 XMMS2 Team
3  *
4  * PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  */
16 
17 
18 #ifndef __XMMSV_BITBUFFER_H__
19 #define __XMMSV_BITBUFFER_H__
20 
21 #include "xmmsc/xmmsv_general.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 /**
28  * @defgroup BitbufferType Bitbuffer
29  * @ingroup ValueType
30  * @{
31  */
32 
33 /* Bitbuffer */
34 xmmsv_t *xmmsv_bitbuffer_new_ro (const unsigned char *v, int len);
36 int xmmsv_bitbuffer_get_bits (xmmsv_t *v, int bits, int *res);
37 int xmmsv_bitbuffer_get_data (xmmsv_t *v, unsigned char *b, int len);
38 int xmmsv_bitbuffer_put_bits (xmmsv_t *v, int bits, int d);
39 int xmmsv_bitbuffer_put_bits_at (xmmsv_t *v, int bits, int d, int offset);
40 int xmmsv_bitbuffer_put_data (xmmsv_t *v, const unsigned char *b, int len);
42 int xmmsv_bitbuffer_goto (xmmsv_t *v, int pos);
47 const unsigned char *xmmsv_bitbuffer_buffer (xmmsv_t *v);
48 
51 
52 /** @} */
53 
54 #ifdef __cplusplus
55 }
56 #endif
57 
58 #endif
xmmsv_t * xmmsv_bitbuffer_new_ro(const unsigned char *v, int len)
Definition: value.c:2499
struct xmmsv_St xmmsv_t
Definition: xmmsv_general.h:48
int xmmsv_bitbuffer_get_data(xmmsv_t *v, unsigned char *b, int len)
Definition: value.c:2553
int xmmsv_bitbuffer_pos(xmmsv_t *v)
Definition: value.c:2653
int xmmsv_bitbuffer_goto(xmmsv_t *v, int pos)
Definition: value.c:2643
const unsigned char * xmmsv_bitbuffer_buffer(xmmsv_t *v)
Definition: value.c:2677
int xmmsv_bitbuffer_put_bits(xmmsv_t *v, int bits, int d)
Definition: value.c:2567
int xmmsv_bitbuffer_put_bits_at(xmmsv_t *v, int bits, int d, int offset)
Definition: value.c:2610
int xmmsv_bitbuffer_deserialize_value(xmmsv_t *bb, xmmsv_t **val)
int xmmsv_bitbuffer_align(xmmsv_t *v)
Definition: value.c:2636
int xmmsv_bitbuffer_len(xmmsv_t *v)
Definition: value.c:2671
int xmmsv_bitbuffer_rewind(xmmsv_t *v)
Definition: value.c:2659
int xmmsv_bitbuffer_serialize_value(xmmsv_t *bb, xmmsv_t *v)
int xmmsv_bitbuffer_put_data(xmmsv_t *v, const unsigned char *b, int len)
Definition: value.c:2622
int xmmsv_bitbuffer_end(xmmsv_t *v)
Definition: value.c:2665
int xmmsv_bitbuffer_get_bits(xmmsv_t *v, int bits, int *res)
Definition: value.c:2524
xmmsv_t * xmmsv_bitbuffer_new(void)
Definition: value.c:2511