\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