blob: e1c62a6ad5a0b9a8d41d190db099f9a7fccec0f9 [file] [log] [blame]
Piotr Krysik70c25a12017-01-03 08:01:23 +01001/*
2 * gsm0503.h
3 *
4 * Copyright (C) 2016 sysmocom s.f.m.c. GmbH
5 *
6 * All Rights Reserved
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 */
22
23#pragma once
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29
30#include <stdint.h>
31
32#include <osmocom/core/conv.h>
33
34/*! \file gsm0503.h
35 * Osmocom convolutional encoder/decoder for xCCH channels, see 3GPP TS 05.03
36 */
37
38/*! \brief structure describing convolutional code xCCH
39 *
40 * Non-recursive code, flushed, not punctured code.
41 */
42extern const struct osmo_conv_code gsm0503_xcch;
43
44/*! \brief structure describing convolutional code RACH
45 */
46extern const struct osmo_conv_code gsm0503_rach;
47
48/*! \brief structure describing convolutional code SCH
49 */
50extern const struct osmo_conv_code gsm0503_sch;
51
52/*! \brief structures describing convolutional codes CS2/3
53 */
54extern const struct osmo_conv_code gsm0503_cs2;
55extern const struct osmo_conv_code gsm0503_cs3;
56
57/*! \brief structure describing convolutional code TCH/FR
58 */
59extern const struct osmo_conv_code gsm0503_tch_fr;
60
61/*! \brief structure describing convolutional code TCH/HR
62 */
63extern const struct osmo_conv_code gsm0503_tch_hr;
64
65/*! \brief structure describing convolutional code TCH/AFS 12.2
66 */
67extern const struct osmo_conv_code gsm0503_tch_afs_12_2;
68
69/*! \brief structure describing convolutional code TCH/AFS 10.2
70 */
71extern const struct osmo_conv_code gsm0503_tch_afs_10_2;
72
73/*! \brief structure describing convolutional code TCH/AFS 7.95
74 */
75extern const struct osmo_conv_code gsm0503_tch_afs_7_95;
76
77/*! \brief structure describing convolutional code TCH/AFS 7.4
78 */
79extern const struct osmo_conv_code gsm0503_tch_afs_7_4;
80
81/*! \brief structure describing convolutional code TCH/AFS 6.7
82 */
83extern const struct osmo_conv_code gsm0503_tch_afs_6_7;
84
85/*! \brief structure describing convolutional code TCH/AFS 5.9
86 */
87extern const struct osmo_conv_code gsm0503_tch_afs_5_9;
88
89/*! \brief structure describing convolutional code TCH/AFS 5.15
90 */
91extern const struct osmo_conv_code gsm0503_tch_afs_5_15;
92
93/*! \brief structure describing convolutional code TCH/AFS 4.75
94 */
95extern const struct osmo_conv_code gsm0503_tch_afs_4_75;
96
97/*! \brief structure describing convolutional code TCH/AHS 7.95
98 */
99extern const struct osmo_conv_code gsm0503_tch_ahs_7_95;
100
101/*! \brief structure describing convolutional code TCH/AHS 7.4
102 */
103extern const struct osmo_conv_code gsm0503_tch_ahs_7_4;
104
105/*! \brief structure describing convolutional code TCH/AHS 6.7
106 */
107extern const struct osmo_conv_code gsm0503_tch_ahs_6_7;
108
109/*! \brief structure describing convolutional code TCH/AHS 5.9
110 */
111extern const struct osmo_conv_code gsm0503_tch_ahs_5_9;
112
113/*! \brief structure describing convolutional code TCH/AHS 5.15
114 */
115extern const struct osmo_conv_code gsm0503_tch_ahs_5_15;
116
117/*! \brief structure describing convolutional code TCH/AHS 4.75
118 */
119extern const struct osmo_conv_code gsm0503_tch_ahs_4_75;
120
121/*! \brief structure describing convolutional code EDGE MCS-1 DL HDR
122 */
123extern const struct osmo_conv_code gsm0503_mcs1_dl_hdr;
124
125/*! \brief structure describing convolutional code EDGE MCS-1 UL HDR
126 */
127extern const struct osmo_conv_code gsm0503_mcs1_ul_hdr;
128
129/*! \brief structure describing convolutional code EDGE MCS-1
130 */
131extern const struct osmo_conv_code gsm0503_mcs1;
132
133/*! \brief structure describing convolutional code EDGE MCS-2
134 */
135extern const struct osmo_conv_code gsm0503_mcs2;
136
137/*! \brief structure describing convolutional code EDGE MCS-3
138 */
139extern const struct osmo_conv_code gsm0503_mcs3;
140
141/*! \brief structure describing convolutional code EDGE MCS-4
142 */
143extern const struct osmo_conv_code gsm0503_mcs4;
144
145/*! \brief structure describing convolutional code EDGE MCS-5 DL HDR
146 */
147extern const struct osmo_conv_code gsm0503_mcs5_dl_hdr;
148
149/*! \brief structure describing convolutional code EDGE MCS-5 UL HDR
150 */
151extern const struct osmo_conv_code gsm0503_mcs5_ul_hdr;
152
153/*! \brief structure describing convolutional code EDGE MCS-5
154 */
155extern const struct osmo_conv_code gsm0503_mcs5;
156
157/*! \brief structure describing convolutional code EDGE MCS-6
158 */
159extern const struct osmo_conv_code gsm0503_mcs6;
160
161/*! \brief structure describing convolutional code EDGE MCS-7 DL HDR
162 */
163extern const struct osmo_conv_code gsm0503_mcs7_dl_hdr;
164
165/*! \brief structure describing convolutional code EDGE MCS-7 UL HDR
166 */
167extern const struct osmo_conv_code gsm0503_mcs7_ul_hdr;
168
169/*! \brief structure describing convolutional code EDGE MCS-7
170 */
171extern const struct osmo_conv_code gsm0503_mcs7;
172
173/*! \brief structure describing convolutional code EDGE MCS-8
174 */
175extern const struct osmo_conv_code gsm0503_mcs8;
176
177/*! \brief structure describing convolutional code EDGE MCS-9
178 */
179extern const struct osmo_conv_code gsm0503_mcs9;
180
181#ifdef __cplusplus
182}
183#endif