\doxysection{tch9.\+h}
\label{tch9_8h_source}\index{include/osmocom/gmr1/l1/tch9.h@{include/osmocom/gmr1/l1/tch9.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{comment}{/* GMR-\/1 TCH9 channel coding */}}
\DoxyCodeLine{2 \textcolor{comment}{/* See GMR-\/1 05.003 (ETSI TS 101 376-\/5-\/3 V1.2.1) -\/ Section 5.3 */}}
\DoxyCodeLine{3 }
\DoxyCodeLine{4 \textcolor{comment}{/* (C) 2011-\/2019 by Sylvain Munaut <tnt@246tNt.com>}}
\DoxyCodeLine{5 \textcolor{comment}{ * All Rights Reserved}}
\DoxyCodeLine{6 \textcolor{comment}{ *}}
\DoxyCodeLine{7 \textcolor{comment}{ * This program is free software; you can redistribute it and/or modify}}
\DoxyCodeLine{8 \textcolor{comment}{ * it under the terms of the GNU Affero General Public License as published by}}
\DoxyCodeLine{9 \textcolor{comment}{ * the Free Software Foundation; either version 3 of the License, or}}
\DoxyCodeLine{10 \textcolor{comment}{ * (at your option) any later version.}}
\DoxyCodeLine{11 \textcolor{comment}{ *}}
\DoxyCodeLine{12 \textcolor{comment}{ * This program is distributed in the hope that it will be useful,}}
\DoxyCodeLine{13 \textcolor{comment}{ * but WITHOUT ANY WARRANTY; without even the implied warranty of}}
\DoxyCodeLine{14 \textcolor{comment}{ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the}}
\DoxyCodeLine{15 \textcolor{comment}{ * GNU Affero General Public License for more details.}}
\DoxyCodeLine{16 \textcolor{comment}{ *}}
\DoxyCodeLine{17 \textcolor{comment}{ * You should have received a copy of the GNU Affero General Public License}}
\DoxyCodeLine{18 \textcolor{comment}{ * along with this program.  If not, see <http://www.gnu.org/licenses/>.}}
\DoxyCodeLine{19 \textcolor{comment}{ */}}
\DoxyCodeLine{20 }
\DoxyCodeLine{21 \textcolor{preprocessor}{\#ifndef \_\_OSMO\_GMR1\_L1\_TCH9\_H\_\_}}
\DoxyCodeLine{22 \textcolor{preprocessor}{\#define \_\_OSMO\_GMR1\_L1\_TCH9\_H\_\_}}
\DoxyCodeLine{23 }
\DoxyCodeLine{33 \textcolor{preprocessor}{\#include <stdint.h>}}
\DoxyCodeLine{34 \textcolor{preprocessor}{\#include <osmocom/core/bits.h>}}
\DoxyCodeLine{35 }
\DoxyCodeLine{36 \textcolor{keyword}{struct }gmr1\_interleaver;}
\DoxyCodeLine{37 }
\DoxyCodeLine{38 }
\DoxyCodeLine{40 \textcolor{keyword}{enum} gmr1\_tch9\_mode \{}
\DoxyCodeLine{41         GMR1\_TCH9\_2k4,     }
\DoxyCodeLine{42         GMR1\_TCH9\_4k8,     }
\DoxyCodeLine{43         GMR1\_TCH9\_9k6,     }
\DoxyCodeLine{44         GMR1\_TCH9\_MAX      }
\DoxyCodeLine{45 \};}
\DoxyCodeLine{46 }
\DoxyCodeLine{47 \textcolor{keywordtype}{void} gmr1\_tch9\_encode(ubit\_t *bits\_e, \textcolor{keyword}{const} uint8\_t *l2, \textcolor{keyword}{enum} gmr1\_tch9\_mode mode,}
\DoxyCodeLine{48                       \textcolor{keyword}{const} ubit\_t *bits\_sacch, \textcolor{keyword}{const} ubit\_t *bits\_status,}
\DoxyCodeLine{49                       \textcolor{keyword}{const} ubit\_t *ciph, \textcolor{keyword}{struct} gmr1\_interleaver *il);}
\DoxyCodeLine{50 \textcolor{keywordtype}{void} gmr1\_tch9\_decode(uint8\_t *l2, sbit\_t *bits\_sacch, sbit\_t *bits\_status,}
\DoxyCodeLine{51                       \textcolor{keyword}{const} sbit\_t *bits\_e, \textcolor{keyword}{enum} gmr1\_tch9\_mode mode,}
\DoxyCodeLine{52                       \textcolor{keyword}{const} ubit\_t *ciph, \textcolor{keyword}{struct} gmr1\_interleaver *il,}
\DoxyCodeLine{53                       \textcolor{keywordtype}{int} *conv\_rv);}
\DoxyCodeLine{54 }
\DoxyCodeLine{55 }
\DoxyCodeLine{58 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_OSMO\_GMR1\_L1\_TCH9\_H\_\_ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
