aboutsummaryrefslogtreecommitdiffstats
path: root/src/egprs_rlc_compression.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/egprs_rlc_compression.h')
-rw-r--r--src/egprs_rlc_compression.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/egprs_rlc_compression.h b/src/egprs_rlc_compression.h
index 4b6646e..06c75a3 100644
--- a/src/egprs_rlc_compression.h
+++ b/src/egprs_rlc_compression.h
@@ -6,6 +6,7 @@
#define BITS_TO_BYTES(X) (((X) ? (X)/8 : 0) + 1)
#define MOD8(X) ((X) & (0x07))
+#define MOD64(X) ((X + 64) & 0x3F)
typedef struct egprs_compress_node{
struct egprs_compress_node *left;
@@ -13,6 +14,16 @@ typedef struct egprs_compress_node{
int run_length;
} egprs_compress_node;
+int decompress_crbb(int8_t compress_bmap_len, uint8_t clr_code_bit,
+ const uint8_t *orig_buf, bitvec *dest);
+int osmo_t4_compress(struct bitvec *bv);
+int compress_rbb(
+ struct bitvec *urbb_vec,/*!< input bitvector to compress */
+ struct bitvec *crbb_vec, /*!< Compressed bitmap len */
+ uint8_t *uclen_crbb, /*!< Uncompressed bitmap len in CRBB */
+ uint8_t max_bits /*!< Maximum remaining bits */
+ );
+
/* Singleton to manage the EGPRS compression algorithm. */
class egprs_compress
{