blob: f97dff4fdea9b87c0f0e7f74752779b76b5cc33d [file] [log] [blame]
Piotr Krysik70c25a12017-01-03 08:01:23 +01001#pragma once
2
3#include <osmocom/core/bits.h>
4
5void gsm0503_xcch_deinterleave(sbit_t *cB, const sbit_t *iB);
6void gsm0503_xcch_interleave(ubit_t *cB, ubit_t *iB);
7
8void gsm0503_tch_fr_deinterleave(sbit_t *cB, sbit_t *iB);
9void gsm0503_tch_fr_interleave(ubit_t *cB, ubit_t *iB);
10
11void gsm0503_tch_hr_deinterleave(sbit_t *cB, sbit_t *iB);
12void gsm0503_tch_hr_interleave(ubit_t *cB, ubit_t *iB);
13
14void gsm0503_mcs1_ul_deinterleave(sbit_t *hc, sbit_t *dc, const sbit_t *iB);
15void gsm0503_mcs1_ul_interleave(const ubit_t *hc,
16 const ubit_t *dc, ubit_t *iB);
17
18void gsm0503_mcs1_dl_deinterleave(sbit_t *u, sbit_t *hc,
19 sbit_t *dc, const sbit_t *iB);
20void gsm0503_mcs1_dl_interleave(const ubit_t *up, const ubit_t *hc,
21 const ubit_t *dc, ubit_t *iB);
22
23void gsm0503_mcs5_ul_deinterleave(sbit_t *hc, sbit_t *dc,
24 const sbit_t *hi, const sbit_t *di);
25void gsm0503_mcs5_ul_interleave(const ubit_t *hc, const ubit_t *dc,
26 ubit_t *hi, ubit_t *di);
27
28void gsm0503_mcs5_dl_deinterleave(sbit_t *hc, sbit_t *dc,
29 const sbit_t *hi, const sbit_t *di);
30void gsm0503_mcs5_dl_interleave(const ubit_t *hc, const ubit_t *dc,
31 ubit_t *hi, ubit_t *di);
32
33void gsm0503_mcs7_ul_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
34 const sbit_t *hi, const sbit_t *di);
35void gsm0503_mcs7_ul_interleave(const ubit_t *hc, const ubit_t *c1,
36 const ubit_t *c2, ubit_t *hi, ubit_t *di);
37
38void gsm0503_mcs7_dl_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
39 const sbit_t *hi, const sbit_t *di);
40void gsm0503_mcs7_dl_interleave(const ubit_t *hc, const ubit_t *c1,
41 const ubit_t *c2, ubit_t *hi, ubit_t *di);
42
43void gsm0503_mcs8_ul_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
44 const sbit_t *hi, const sbit_t *di);
45void gsm0503_mcs8_ul_interleave(const ubit_t *hc, const ubit_t *c1,
46 const ubit_t *c2, ubit_t *hi, ubit_t *di);
47
48void gsm0503_mcs8_dl_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
49 const sbit_t *hi, const sbit_t *di);
50void gsm0503_mcs8_dl_interleave(const ubit_t *hc, const ubit_t *c1,
51 const ubit_t *c2, ubit_t *hi, ubit_t *di);