\doxysection{BCCH channel coding} \label{group__bcch}\index{BCCH channel coding@{BCCH channel coding}} \doxysubsection*{Files} \begin{DoxyCompactItemize} \item file \textbf{ bcch.\+h} \begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 BCCH channel coding header. \end{DoxyCompactList}\item file \textbf{ bcch.\+c} \begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 BCCH channel coding implementation. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item void \textbf{ gmr1\+\_\+bcch\+\_\+encode} (\textbf{ ubit\+\_\+t} $\ast$bits\+\_\+e, const uint8\+\_\+t $\ast$l2) \begin{DoxyCompactList}\small\item\em Stateless GMR-\/1 BCCH channel coder. \end{DoxyCompactList}\item int \textbf{ gmr1\+\_\+bcch\+\_\+decode} (uint8\+\_\+t $\ast$l2, const \textbf{ sbit\+\_\+t} $\ast$bits\+\_\+e, int $\ast$conv\+\_\+rv) \begin{DoxyCompactList}\small\item\em Stateless GMR-\/1 BCCH channel decoder. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} \doxysubsection{Function Documentation} \mbox{\label{group__bcch_ga73717708a391d84da44845fbaf2e73a4}} \index{BCCH channel coding@{BCCH channel coding}!gmr1\_bcch\_decode@{gmr1\_bcch\_decode}} \index{gmr1\_bcch\_decode@{gmr1\_bcch\_decode}!BCCH channel coding@{BCCH channel coding}} \doxysubsubsection{gmr1\_bcch\_decode()} {\footnotesize\ttfamily int gmr1\+\_\+bcch\+\_\+decode (\begin{DoxyParamCaption}\item[{uint8\+\_\+t $\ast$}]{l2, }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{bits\+\_\+e, }\item[{int $\ast$}]{conv\+\_\+rv }\end{DoxyParamCaption})} Stateless GMR-\/1 BCCH channel decoder. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em l2} & L2 packet data \\ \hline \mbox{\texttt{ in}} & {\em bits\+\_\+e} & Data bits of a burst \\ \hline \mbox{\texttt{ out}} & {\em conv\+\_\+rv} & Return of the convolutional decode (can be NULL) \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 if CRC check pass, any other value for fail. \end{DoxyReturn} L2 data is 24 byte long, and bits\+\_\+e is a 424 soft bit array unmapped from a burst. References \textbf{ gmr1\+\_\+deinterleave\+\_\+intra()}, \textbf{ gmr1\+\_\+scramble\+\_\+sbit()}, and \textbf{ osmo\+\_\+conv\+\_\+decode()}. \mbox{\label{group__bcch_ga7a8f900d4c5b81ad9a903ee9b7d6b9e7}} \index{BCCH channel coding@{BCCH channel coding}!gmr1\_bcch\_encode@{gmr1\_bcch\_encode}} \index{gmr1\_bcch\_encode@{gmr1\_bcch\_encode}!BCCH channel coding@{BCCH channel coding}} \doxysubsubsection{gmr1\_bcch\_encode()} {\footnotesize\ttfamily void gmr1\+\_\+bcch\+\_\+encode (\begin{DoxyParamCaption}\item[{\textbf{ ubit\+\_\+t} $\ast$}]{bits\+\_\+e, }\item[{const uint8\+\_\+t $\ast$}]{l2 }\end{DoxyParamCaption})} Stateless GMR-\/1 BCCH channel coder. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em bits\+\_\+e} & Data bits of a burst \\ \hline \mbox{\texttt{ in}} & {\em l2} & L2 packet data\\ \hline \end{DoxyParams} L2 data is 24 byte long, and bits\+\_\+e is a 424 hard bit array to be mapped on a burst. References \textbf{ gmr1\+\_\+crc16}, \textbf{ osmo\+\_\+conv\+\_\+encode()}, \textbf{ osmo\+\_\+crc16gen\+\_\+set\+\_\+bits()}, and \textbf{ osmo\+\_\+pbit2ubit\+\_\+ext()}.