\doxysection{Scrambling}
\label{group__scramb}\index{Scrambling@{Scrambling}}
\doxysubsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \textbf{ scramb.\+h}
\begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 scrambling header. \end{DoxyCompactList}\item 
file \textbf{ scramb.\+c}
\begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 scrambling implementation. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\mbox{\label{group__scramb_ga7ccd84975c67142e51aaab387e7dbc02}} 
\#define {\bfseries GMR1\+\_\+\+SCRAMBLE\+\_\+\+REG\+\_\+\+INIT}~0x4d4b
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ gmr1\+\_\+scramble\+\_\+sbit} (\textbf{ sbit\+\_\+t} $\ast$out, const \textbf{ sbit\+\_\+t} $\ast$in, int len)
\begin{DoxyCompactList}\small\item\em Scrambles/\+Unscrambles a softbit vector. \end{DoxyCompactList}\item 
void \textbf{ gmr1\+\_\+scramble\+\_\+ubit} (\textbf{ ubit\+\_\+t} $\ast$out, const \textbf{ ubit\+\_\+t} $\ast$in, int len)
\begin{DoxyCompactList}\small\item\em Scrambles/\+Unscrambles an unpacked hard bit vector. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Function Documentation}
\mbox{\label{group__scramb_gab5ef50c3520bc0213858a6894d989e1e}} 
\index{Scrambling@{Scrambling}!gmr1\_scramble\_sbit@{gmr1\_scramble\_sbit}}
\index{gmr1\_scramble\_sbit@{gmr1\_scramble\_sbit}!Scrambling@{Scrambling}}
\doxysubsubsection{gmr1\_scramble\_sbit()}
{\footnotesize\ttfamily void gmr1\+\_\+scramble\+\_\+sbit (\begin{DoxyParamCaption}\item[{\textbf{ sbit\+\_\+t} $\ast$}]{out,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{in,  }\item[{int}]{len }\end{DoxyParamCaption})}



Scrambles/\+Unscrambles a softbit vector. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out} & output sbit\+\_\+t array \\
\hline
\mbox{\texttt{ in}}  & {\em in} & input sbit\+\_\+t array \\
\hline
\mbox{\texttt{ in}}  & {\em len} & length of the array to convert\\
\hline
\end{DoxyParams}
The output array can be equal to the input array for in-\/place scrambling/unscrambling 

Referenced by \textbf{ gmr1\+\_\+bcch\+\_\+decode()}, \textbf{ gmr1\+\_\+ccch\+\_\+decode()}, \textbf{ gmr1\+\_\+facch3\+\_\+decode()}, \textbf{ gmr1\+\_\+facch9\+\_\+decode()}, \textbf{ gmr1\+\_\+rach\+\_\+decode()}, \textbf{ gmr1\+\_\+tch3\+\_\+decode()}, and \textbf{ gmr1\+\_\+xch\+\_\+dc12\+\_\+decode()}.

\mbox{\label{group__scramb_ga2243e4f721439956fe9b81ec7e40490c}} 
\index{Scrambling@{Scrambling}!gmr1\_scramble\_ubit@{gmr1\_scramble\_ubit}}
\index{gmr1\_scramble\_ubit@{gmr1\_scramble\_ubit}!Scrambling@{Scrambling}}
\doxysubsubsection{gmr1\_scramble\_ubit()}
{\footnotesize\ttfamily void gmr1\+\_\+scramble\+\_\+ubit (\begin{DoxyParamCaption}\item[{\textbf{ ubit\+\_\+t} $\ast$}]{out,  }\item[{const \textbf{ ubit\+\_\+t} $\ast$}]{in,  }\item[{int}]{len }\end{DoxyParamCaption})}



Scrambles/\+Unscrambles an unpacked hard bit vector. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out} & output ubit\+\_\+t array \\
\hline
\mbox{\texttt{ in}}  & {\em in} & input ubit\+\_\+t array \\
\hline
\mbox{\texttt{ in}}  & {\em len} & length of the array to convert\\
\hline
\end{DoxyParams}
The output array can be equal to the input array for in-\/place scrambling/unscrambling 