\doxysection{Cyclic Redundancy Check}
\label{group__crc}\index{Cyclic Redundancy Check@{Cyclic Redundancy Check}}
\doxysubsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \textbf{ crc.\+h}
\begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 CRC header. \end{DoxyCompactList}\item 
file \textbf{ crc.\+c}
\begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 CRC implementation. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\label{group__crc_ga475488b3214308419d2d8ced50df5257}} 
const struct osmo\+\_\+crc8gen\+\_\+code {\bfseries gmr1\+\_\+crc8}
\begin{DoxyCompactList}\small\item\em GMR-\/1 CRC8 g8(\+D) = D8 + D7 + D4 + D3 + D + 1. \end{DoxyCompactList}\item 
\mbox{\label{group__crc_ga39976cbbb95bf2ee17510e23e66e9662}} 
const struct osmo\+\_\+crc16gen\+\_\+code {\bfseries gmr1\+\_\+crc12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 CRC12 g12(\+D) = D12 + D11 + D3 + D2 + D + 1. \end{DoxyCompactList}\item 
\mbox{\label{group__crc_ga4c203dc885ad2c23dbc5e26457d2b52e}} 
const struct osmo\+\_\+crc16gen\+\_\+code {\bfseries gmr1\+\_\+crc16}
\begin{DoxyCompactList}\small\item\em GMR-\/1 CRC16 g16(\+D) = D16 + D12 + D5 + 1. \end{DoxyCompactList}\item 
const struct osmo\+\_\+crc8gen\+\_\+code \textbf{ gmr1\+\_\+crc8}
\begin{DoxyCompactList}\small\item\em GMR-\/1 CRC8 g8(\+D) = D8 + D7 + D4 + D3 + D + 1. \end{DoxyCompactList}\item 
const struct osmo\+\_\+crc16gen\+\_\+code \textbf{ gmr1\+\_\+crc12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 CRC12 g12(\+D) = D12 + D11 + D3 + D2 + D + 1. \end{DoxyCompactList}\item 
const struct osmo\+\_\+crc16gen\+\_\+code \textbf{ gmr1\+\_\+crc16}
\begin{DoxyCompactList}\small\item\em GMR-\/1 CRC16 g16(\+D) = D16 + D12 + D5 + 1. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Variable Documentation}
\mbox{\label{group__crc_ga39976cbbb95bf2ee17510e23e66e9662}} 
\index{Cyclic Redundancy Check@{Cyclic Redundancy Check}!gmr1\_crc12@{gmr1\_crc12}}
\index{gmr1\_crc12@{gmr1\_crc12}!Cyclic Redundancy Check@{Cyclic Redundancy Check}}
\doxysubsubsection{gmr1\_crc12}
{\footnotesize\ttfamily const struct osmo\+\_\+crc16gen\+\_\+code gmr1\+\_\+crc12}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 12,}
\DoxyCodeLine{        .poly = 0x80f,}
\DoxyCodeLine{        .init = 0x0000,}
\DoxyCodeLine{        .remainder = 0x0000,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 CRC12 g12(\+D) = D12 + D11 + D3 + D2 + D + 1. 



Referenced by \textbf{ gmr1\+\_\+rach\+\_\+encode()}.

\mbox{\label{group__crc_ga4c203dc885ad2c23dbc5e26457d2b52e}} 
\index{Cyclic Redundancy Check@{Cyclic Redundancy Check}!gmr1\_crc16@{gmr1\_crc16}}
\index{gmr1\_crc16@{gmr1\_crc16}!Cyclic Redundancy Check@{Cyclic Redundancy Check}}
\doxysubsubsection{gmr1\_crc16}
{\footnotesize\ttfamily const struct osmo\+\_\+crc16gen\+\_\+code gmr1\+\_\+crc16}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 16,}
\DoxyCodeLine{        .poly = 0x1021,}
\DoxyCodeLine{        .init = 0x0000,}
\DoxyCodeLine{        .remainder = 0x0000,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 CRC16 g16(\+D) = D16 + D12 + D5 + 1. 



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

\mbox{\label{group__crc_ga475488b3214308419d2d8ced50df5257}} 
\index{Cyclic Redundancy Check@{Cyclic Redundancy Check}!gmr1\_crc8@{gmr1\_crc8}}
\index{gmr1\_crc8@{gmr1\_crc8}!Cyclic Redundancy Check@{Cyclic Redundancy Check}}
\doxysubsubsection{gmr1\_crc8}
{\footnotesize\ttfamily const struct osmo\+\_\+crc8gen\+\_\+code gmr1\+\_\+crc8}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 8,}
\DoxyCodeLine{        .poly = 0x9b,}
\DoxyCodeLine{        .init = 0x00,}
\DoxyCodeLine{        .remainder = 0x00,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GMR-\/1 CRC8 g8(\+D) = D8 + D7 + D4 + D3 + D + 1. 



Referenced by \textbf{ gmr1\+\_\+rach\+\_\+encode()}.

