\doxysection{osmo\+\_\+conv\+\_\+decoder Struct Reference}
\label{structosmo__conv__decoder}\index{osmo\_conv\_decoder@{osmo\_conv\_decoder}}


convolutional decoder state  




{\ttfamily \#include $<$conv.\+h$>$}

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
const struct \textbf{ osmo\+\_\+conv\+\_\+code} $\ast$ \textbf{ code}
\begin{DoxyCompactList}\small\item\em for which code? \end{DoxyCompactList}\item 
int \textbf{ n\+\_\+states}
\begin{DoxyCompactList}\small\item\em number of states \end{DoxyCompactList}\item 
int \textbf{ len}
\begin{DoxyCompactList}\small\item\em Max o\+\_\+idx (excl. \end{DoxyCompactList}\item 
int \textbf{ o\+\_\+idx}
\begin{DoxyCompactList}\small\item\em output index \end{DoxyCompactList}\item 
int \textbf{ p\+\_\+idx}
\begin{DoxyCompactList}\small\item\em puncture index \end{DoxyCompactList}\item 
unsigned int $\ast$ \textbf{ ae}
\begin{DoxyCompactList}\small\item\em accumulated error \end{DoxyCompactList}\item 
unsigned int $\ast$ \textbf{ ae\+\_\+next}
\begin{DoxyCompactList}\small\item\em next accumulated error (tmp in scan) \end{DoxyCompactList}\item 
uint8\+\_\+t $\ast$ \textbf{ state\+\_\+history}
\begin{DoxyCompactList}\small\item\em state history [len][n\+\_\+states] \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
convolutional decoder state 

\doxysubsection{Field Documentation}
\mbox{\label{structosmo__conv__decoder_a34ca8e6d442c82ab60eff2b5816b1826}} 
\index{osmo\_conv\_decoder@{osmo\_conv\_decoder}!ae@{ae}}
\index{ae@{ae}!osmo\_conv\_decoder@{osmo\_conv\_decoder}}
\doxysubsubsection{ae}
{\footnotesize\ttfamily unsigned int$\ast$ osmo\+\_\+conv\+\_\+decoder\+::ae}



accumulated error 



Referenced by \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+deinit()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+flush()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+best\+\_\+end\+\_\+state()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+output()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+init()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+reset()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+rewind()}, and \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+scan()}.

\mbox{\label{structosmo__conv__decoder_a8b4b0e48a2769843a7eb6d70b6f23991}} 
\index{osmo\_conv\_decoder@{osmo\_conv\_decoder}!ae\_next@{ae\_next}}
\index{ae\_next@{ae\_next}!osmo\_conv\_decoder@{osmo\_conv\_decoder}}
\doxysubsubsection{ae\_next}
{\footnotesize\ttfamily unsigned int$\ast$ osmo\+\_\+conv\+\_\+decoder\+::ae\+\_\+next}



next accumulated error (tmp in scan) 



Referenced by \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+deinit()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+flush()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+init()}, and \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+scan()}.

\mbox{\label{structosmo__conv__decoder_a06a08f6364190cc3372d4dd8e8edc35e}} 
\index{osmo\_conv\_decoder@{osmo\_conv\_decoder}!code@{code}}
\index{code@{code}!osmo\_conv\_decoder@{osmo\_conv\_decoder}}
\doxysubsubsection{code}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+conv\+\_\+code}$\ast$ osmo\+\_\+conv\+\_\+decoder\+::code}



for which code? 



Referenced by \textbf{ osmo\+\_\+conv\+\_\+decode()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+flush()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+best\+\_\+end\+\_\+state()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+output()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+init()}, and \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+scan()}.

\mbox{\label{structosmo__conv__decoder_a6b6df881f269283f7f22c2c376d8bb5e}} 
\index{osmo\_conv\_decoder@{osmo\_conv\_decoder}!len@{len}}
\index{len@{len}!osmo\_conv\_decoder@{osmo\_conv\_decoder}}
\doxysubsubsection{len}
{\footnotesize\ttfamily int osmo\+\_\+conv\+\_\+decoder\+::len}



Max o\+\_\+idx (excl. 

termination) 

Referenced by \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+init()}.

\mbox{\label{structosmo__conv__decoder_ad8419dca2f723151b2c73caecfdac4ef}} 
\index{osmo\_conv\_decoder@{osmo\_conv\_decoder}!n\_states@{n\_states}}
\index{n\_states@{n\_states}!osmo\_conv\_decoder@{osmo\_conv\_decoder}}
\doxysubsubsection{n\_states}
{\footnotesize\ttfamily int osmo\+\_\+conv\+\_\+decoder\+::n\+\_\+states}



number of states 



Referenced by \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+flush()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+best\+\_\+end\+\_\+state()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+output()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+init()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+reset()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+rewind()}, and \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+scan()}.

\mbox{\label{structosmo__conv__decoder_ad0cbf7d8ea3959263799d5ed3953af07}} 
\index{osmo\_conv\_decoder@{osmo\_conv\_decoder}!o\_idx@{o\_idx}}
\index{o\_idx@{o\_idx}!osmo\_conv\_decoder@{osmo\_conv\_decoder}}
\doxysubsubsection{o\_idx}
{\footnotesize\ttfamily int osmo\+\_\+conv\+\_\+decoder\+::o\+\_\+idx}



output index 



Referenced by \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+flush()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+best\+\_\+end\+\_\+state()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+output()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+reset()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+rewind()}, and \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+scan()}.

\mbox{\label{structosmo__conv__decoder_af892f06324a84366be9334be3f30f7f5}} 
\index{osmo\_conv\_decoder@{osmo\_conv\_decoder}!p\_idx@{p\_idx}}
\index{p\_idx@{p\_idx}!osmo\_conv\_decoder@{osmo\_conv\_decoder}}
\doxysubsubsection{p\_idx}
{\footnotesize\ttfamily int osmo\+\_\+conv\+\_\+decoder\+::p\+\_\+idx}



puncture index 



Referenced by \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+flush()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+reset()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+rewind()}, and \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+scan()}.

\mbox{\label{structosmo__conv__decoder_a0d1b911d79d9982dc7c34afa2dd71e04}} 
\index{osmo\_conv\_decoder@{osmo\_conv\_decoder}!state\_history@{state\_history}}
\index{state\_history@{state\_history}!osmo\_conv\_decoder@{osmo\_conv\_decoder}}
\doxysubsubsection{state\_history}
{\footnotesize\ttfamily uint8\+\_\+t$\ast$ osmo\+\_\+conv\+\_\+decoder\+::state\+\_\+history}



state history [len][n\+\_\+states] 



Referenced by \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+deinit()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+flush()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+best\+\_\+end\+\_\+state()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+get\+\_\+output()}, \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+init()}, and \textbf{ osmo\+\_\+conv\+\_\+decode\+\_\+scan()}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/osmocom/core/\textbf{ conv.\+h}\end{DoxyCompactItemize}
