\doxysection{src/gsm/gsm0502.c File Reference}
\label{gsm0502_8c}\index{src/gsm/gsm0502.c@{src/gsm/gsm0502.c}}


Paging helper code.  


{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/protocol/gsm\+\_\+04\+\_\+08.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/gsm0502.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/gsm48.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/rsl.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/gsm\+\_\+utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$inttypes.\+h$>$}\newline
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ fn\+\_\+remap\+\_\+table}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ TCH\+\_\+\+REPEAT\+\_\+\+LENGTH}~13
\item 
\#define \textbf{ FACCH\+\_\+\+F\+\_\+\+REPEAT\+\_\+\+LENGTH}~13
\item 
\#define \textbf{ FACCH\+\_\+\+H\+\_\+\+REPEAT\+\_\+\+LENGTH}~26
\item 
\#define \textbf{ fn\+\_\+remap\+\_\+table\+\_\+from\+\_\+traffic\+\_\+block\+\_\+map}(table,  map,  rows,  cols,  repeat)
\item 
\#define \textbf{ CB\+\_\+\+FCCH}~-\/1
\item 
\#define \textbf{ CB\+\_\+\+SCH}~-\/2
\item 
\#define \textbf{ CB\+\_\+\+BCCH}~-\/3
\item 
\#define \textbf{ CB\+\_\+\+IDLE}~-\/4
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
unsigned int \textbf{ gsm0502\+\_\+calc\+\_\+paging\+\_\+group} (const struct \textbf{ gsm48\+\_\+control\+\_\+channel\+\_\+descr} $\ast$\textbf{ chan\+\_\+desc}, uint64\+\_\+t imsi)
\item 
static \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+} ((constructor))
\item 
uint32\+\_\+t \textbf{ gsm0502\+\_\+fn\+\_\+remap} (uint32\+\_\+t fn, enum \textbf{ gsm0502\+\_\+fn\+\_\+remap\+\_\+channel} channel)
\begin{DoxyCompactList}\small\item\em Calculate the frame number of the beginning of a block. \end{DoxyCompactList}\item 
uint16\+\_\+t \textbf{ gsm0502\+\_\+hop\+\_\+seq\+\_\+gen} (const struct \textbf{ gsm\+\_\+time} $\ast$t, uint8\+\_\+t hsn, uint8\+\_\+t maio, size\+\_\+t \textbf{ n}, const uint16\+\_\+t $\ast$ma)
\begin{DoxyCompactList}\small\item\em Hopping sequence generation as per 3GPP TS 45.\+002, section 6.\+2.\+3. \end{DoxyCompactList}\item 
int \textbf{ gsm0502\+\_\+fn2ccch\+\_\+block} (uint32\+\_\+t fn)
\begin{DoxyCompactList}\small\item\em Calculate CCCH block number from the given TDMA frame number. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const uint8\+\_\+t \textbf{ gsm0502\+\_\+tch\+\_\+f\+\_\+traffic\+\_\+block\+\_\+map} [3][8]
\item 
static const uint8\+\_\+t \textbf{ gsm0502\+\_\+tch\+\_\+h0\+\_\+traffic\+\_\+block\+\_\+map} [3][4]
\item 
static const uint8\+\_\+t \textbf{ gsm0502\+\_\+tch\+\_\+h1\+\_\+traffic\+\_\+block\+\_\+map} [3][4]
\item 
static const uint8\+\_\+t \textbf{ gsm0502\+\_\+tch\+\_\+f\+\_\+facch\+\_\+block\+\_\+map} [3][8]
\item 
static const uint8\+\_\+t \textbf{ gsm0502\+\_\+tch\+\_\+h0\+\_\+facch\+\_\+block\+\_\+map} [3][6]
\item 
static const uint8\+\_\+t \textbf{ gsm0502\+\_\+tch\+\_\+h1\+\_\+facch\+\_\+block\+\_\+map} [3][6]
\item 
static struct \textbf{ fn\+\_\+remap\+\_\+table} \textbf{ tch\+\_\+f\+\_\+remap\+\_\+table}
\item 
static struct \textbf{ fn\+\_\+remap\+\_\+table} \textbf{ tch\+\_\+h0\+\_\+remap\+\_\+table}
\item 
static struct \textbf{ fn\+\_\+remap\+\_\+table} \textbf{ tch\+\_\+h1\+\_\+remap\+\_\+table}
\item 
static struct \textbf{ fn\+\_\+remap\+\_\+table} \textbf{ facch\+\_\+f\+\_\+remap\+\_\+table}
\item 
static struct \textbf{ fn\+\_\+remap\+\_\+table} \textbf{ facch\+\_\+h0\+\_\+remap\+\_\+table}
\item 
static struct \textbf{ fn\+\_\+remap\+\_\+table} \textbf{ facch\+\_\+h1\+\_\+remap\+\_\+table}
\item 
static struct \textbf{ fn\+\_\+remap\+\_\+table} $\ast$ \textbf{ fn\+\_\+remap\+\_\+table\+\_\+ptr} [\textbf{ FN\+\_\+\+REMAP\+\_\+\+MAX}]
\item 
static const uint8\+\_\+t \textbf{ rn\+\_\+table} [114]
\item 
static const int \textbf{ ccch\+\_\+block\+\_\+table} [51]
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Paging helper code. 



\doxysubsection{Macro Definition Documentation}
\mbox{\label{gsm0502_8c_a73cf5c6602ec063bfc95fe8002b3b5dd}} 
\index{gsm0502.c@{gsm0502.c}!CB\_BCCH@{CB\_BCCH}}
\index{CB\_BCCH@{CB\_BCCH}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{CB\_BCCH}
{\footnotesize\ttfamily \#define CB\+\_\+\+BCCH~-\/3}

\mbox{\label{gsm0502_8c_af9d316e467f8ce9b4d3829acd8671fb5}} 
\index{gsm0502.c@{gsm0502.c}!CB\_FCCH@{CB\_FCCH}}
\index{CB\_FCCH@{CB\_FCCH}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{CB\_FCCH}
{\footnotesize\ttfamily \#define CB\+\_\+\+FCCH~-\/1}

\mbox{\label{gsm0502_8c_a33afb04a9762f5db50d9fc04de858421}} 
\index{gsm0502.c@{gsm0502.c}!CB\_IDLE@{CB\_IDLE}}
\index{CB\_IDLE@{CB\_IDLE}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{CB\_IDLE}
{\footnotesize\ttfamily \#define CB\+\_\+\+IDLE~-\/4}

\mbox{\label{gsm0502_8c_aa3f69b472b69331c08b135687730535b}} 
\index{gsm0502.c@{gsm0502.c}!CB\_SCH@{CB\_SCH}}
\index{CB\_SCH@{CB\_SCH}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{CB\_SCH}
{\footnotesize\ttfamily \#define CB\+\_\+\+SCH~-\/2}

\mbox{\label{gsm0502_8c_a18e31da36c4cce0f3b95da1c8c199dda}} 
\index{gsm0502.c@{gsm0502.c}!FACCH\_F\_REPEAT\_LENGTH@{FACCH\_F\_REPEAT\_LENGTH}}
\index{FACCH\_F\_REPEAT\_LENGTH@{FACCH\_F\_REPEAT\_LENGTH}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{FACCH\_F\_REPEAT\_LENGTH}
{\footnotesize\ttfamily \#define FACCH\+\_\+\+F\+\_\+\+REPEAT\+\_\+\+LENGTH~13}

\mbox{\label{gsm0502_8c_a927b6ee55a9c94588d4ef32c8abb57eb}} 
\index{gsm0502.c@{gsm0502.c}!FACCH\_H\_REPEAT\_LENGTH@{FACCH\_H\_REPEAT\_LENGTH}}
\index{FACCH\_H\_REPEAT\_LENGTH@{FACCH\_H\_REPEAT\_LENGTH}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{FACCH\_H\_REPEAT\_LENGTH}
{\footnotesize\ttfamily \#define FACCH\+\_\+\+H\+\_\+\+REPEAT\+\_\+\+LENGTH~26}

\mbox{\label{gsm0502_8c_af281e8e5ae656621b3f2959468d15edd}} 
\index{gsm0502.c@{gsm0502.c}!fn\_remap\_table\_from\_traffic\_block\_map@{fn\_remap\_table\_from\_traffic\_block\_map}}
\index{fn\_remap\_table\_from\_traffic\_block\_map@{fn\_remap\_table\_from\_traffic\_block\_map}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{fn\_remap\_table\_from\_traffic\_block\_map}
{\footnotesize\ttfamily \#define fn\+\_\+remap\+\_\+table\+\_\+from\+\_\+traffic\+\_\+block\+\_\+map(\begin{DoxyParamCaption}\item[{}]{table,  }\item[{}]{map,  }\item[{}]{rows,  }\item[{}]{cols,  }\item[{}]{repeat }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        \textcolor{keywordflow}{for}(i=0;i<rows;i++) \{ \(\backslash\)}
\DoxyCodeLine{                table.blockend[i] = map[i][cols-\/1]; \(\backslash\)}
\DoxyCodeLine{                if(map[i][0] <= map[i][cols-\/1]) \(\backslash\)}
\DoxyCodeLine{                        table.distance[i] = map[i][cols-\/1] -\/ map[i][0]; \(\backslash\)}
\DoxyCodeLine{                else \(\backslash\)}
\DoxyCodeLine{                        table.distance[i] = repeat -\/ map[i][0] + map[i][cols-\/1]; \(\backslash\)}
\DoxyCodeLine{        \} \(\backslash\)}
\DoxyCodeLine{        table.cycle = repeat; \(\backslash\)}
\DoxyCodeLine{        table.len = rows;}

\end{DoxyCode}
\mbox{\label{gsm0502_8c_a33ef85d52f01360da95b667236ae1ef8}} 
\index{gsm0502.c@{gsm0502.c}!TCH\_REPEAT\_LENGTH@{TCH\_REPEAT\_LENGTH}}
\index{TCH\_REPEAT\_LENGTH@{TCH\_REPEAT\_LENGTH}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{TCH\_REPEAT\_LENGTH}
{\footnotesize\ttfamily \#define TCH\+\_\+\+REPEAT\+\_\+\+LENGTH~13}



\doxysubsection{Function Documentation}
\mbox{\label{gsm0502_8c_a9ed16867a9394d9ccf1132194edae298}} 
\index{gsm0502.c@{gsm0502.c}!\_\_attribute\_\_@{\_\_attribute\_\_}}
\index{\_\_attribute\_\_@{\_\_attribute\_\_}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{\_\_attribute\_\_()}
{\footnotesize\ttfamily static \+\_\+\+\_\+attribute\+\_\+\+\_\+ (\begin{DoxyParamCaption}\item[{(constructor)}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ facch\+\_\+f\+\_\+remap\+\_\+table}, \textbf{ FACCH\+\_\+\+F\+\_\+\+REPEAT\+\_\+\+LENGTH}, \textbf{ facch\+\_\+h0\+\_\+remap\+\_\+table}, \textbf{ facch\+\_\+h1\+\_\+remap\+\_\+table}, \textbf{ FACCH\+\_\+\+H\+\_\+\+REPEAT\+\_\+\+LENGTH}, \textbf{ FN\+\_\+\+REMAP\+\_\+\+FACCH\+\_\+F}, \textbf{ FN\+\_\+\+REMAP\+\_\+\+FACCH\+\_\+\+H0}, \textbf{ FN\+\_\+\+REMAP\+\_\+\+FACCH\+\_\+\+H1}, \textbf{ fn\+\_\+remap\+\_\+table\+\_\+from\+\_\+traffic\+\_\+block\+\_\+map}, \textbf{ fn\+\_\+remap\+\_\+table\+\_\+ptr}, \textbf{ FN\+\_\+\+REMAP\+\_\+\+TCH\+\_\+F}, \textbf{ FN\+\_\+\+REMAP\+\_\+\+TCH\+\_\+\+H0}, \textbf{ FN\+\_\+\+REMAP\+\_\+\+TCH\+\_\+\+H1}, \textbf{ gsm0502\+\_\+tch\+\_\+f\+\_\+facch\+\_\+block\+\_\+map}, \textbf{ gsm0502\+\_\+tch\+\_\+f\+\_\+traffic\+\_\+block\+\_\+map}, \textbf{ gsm0502\+\_\+tch\+\_\+h0\+\_\+facch\+\_\+block\+\_\+map}, \textbf{ gsm0502\+\_\+tch\+\_\+h0\+\_\+traffic\+\_\+block\+\_\+map}, \textbf{ gsm0502\+\_\+tch\+\_\+h1\+\_\+facch\+\_\+block\+\_\+map}, \textbf{ gsm0502\+\_\+tch\+\_\+h1\+\_\+traffic\+\_\+block\+\_\+map}, \textbf{ tch\+\_\+f\+\_\+remap\+\_\+table}, \textbf{ tch\+\_\+h0\+\_\+remap\+\_\+table}, \textbf{ tch\+\_\+h1\+\_\+remap\+\_\+table}, and \textbf{ TCH\+\_\+\+REPEAT\+\_\+\+LENGTH}.



\doxysubsection{Variable Documentation}
\mbox{\label{gsm0502_8c_adb549ec56de77429e0beebd2d542ebb1}} 
\index{gsm0502.c@{gsm0502.c}!ccch\_block\_table@{ccch\_block\_table}}
\index{ccch\_block\_table@{ccch\_block\_table}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{ccch\_block\_table}
{\footnotesize\ttfamily const int ccch\+\_\+block\+\_\+table[51]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        CB\_FCCH, CB\_SCH,                   }
\DoxyCodeLine{        CB\_BCCH, CB\_BCCH, CB\_BCCH, CB\_BCCH, }
\DoxyCodeLine{        0, 0, 0, 0,                             }
\DoxyCodeLine{        CB\_FCCH, CB\_SCH,                   }
\DoxyCodeLine{        1, 1, 1, 1,                             }
\DoxyCodeLine{        2, 2, 2, 2,                             }
\DoxyCodeLine{        CB\_FCCH, CB\_SCH,                   }
\DoxyCodeLine{        3, 3, 3, 3,                             }
\DoxyCodeLine{        4, 4, 4, 4,                             }
\DoxyCodeLine{        CB\_FCCH, CB\_SCH,                   }
\DoxyCodeLine{        5, 5, 5, 5,                             }
\DoxyCodeLine{        6, 6, 6, 6,                             }
\DoxyCodeLine{        CB\_FCCH, CB\_SCH,                   }
\DoxyCodeLine{        7, 7, 7, 7,                             }
\DoxyCodeLine{        8, 8, 8, 8,                             }
\DoxyCodeLine{        CB\_IDLE                                  }
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ gsm0502\+\_\+fn2ccch\+\_\+block()}.

\mbox{\label{gsm0502_8c_a406afe548fba04222c8376f09c0bd5ff}} 
\index{gsm0502.c@{gsm0502.c}!facch\_f\_remap\_table@{facch\_f\_remap\_table}}
\index{facch\_f\_remap\_table@{facch\_f\_remap\_table}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{facch\_f\_remap\_table}
{\footnotesize\ttfamily struct \textbf{ fn\+\_\+remap\+\_\+table} facch\+\_\+f\+\_\+remap\+\_\+table\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_aefc71c90e322baf4351b5df8fe9443cb}} 
\index{gsm0502.c@{gsm0502.c}!facch\_h0\_remap\_table@{facch\_h0\_remap\_table}}
\index{facch\_h0\_remap\_table@{facch\_h0\_remap\_table}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{facch\_h0\_remap\_table}
{\footnotesize\ttfamily struct \textbf{ fn\+\_\+remap\+\_\+table} facch\+\_\+h0\+\_\+remap\+\_\+table\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_a769bbb4c750f0dd106f03d9745bbce64}} 
\index{gsm0502.c@{gsm0502.c}!facch\_h1\_remap\_table@{facch\_h1\_remap\_table}}
\index{facch\_h1\_remap\_table@{facch\_h1\_remap\_table}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{facch\_h1\_remap\_table}
{\footnotesize\ttfamily struct \textbf{ fn\+\_\+remap\+\_\+table} facch\+\_\+h1\+\_\+remap\+\_\+table\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_a4765988620f2af36158de9161d2af067}} 
\index{gsm0502.c@{gsm0502.c}!fn\_remap\_table\_ptr@{fn\_remap\_table\_ptr}}
\index{fn\_remap\_table\_ptr@{fn\_remap\_table\_ptr}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{fn\_remap\_table\_ptr}
{\footnotesize\ttfamily struct \textbf{ fn\+\_\+remap\+\_\+table}$\ast$ fn\+\_\+remap\+\_\+table\+\_\+ptr[\textbf{ FN\+\_\+\+REMAP\+\_\+\+MAX}]\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}, and \textbf{ gsm0502\+\_\+fn\+\_\+remap()}.

\mbox{\label{gsm0502_8c_ab5176e8692e9891b9f051281943d11e1}} 
\index{gsm0502.c@{gsm0502.c}!gsm0502\_tch\_f\_facch\_block\_map@{gsm0502\_tch\_f\_facch\_block\_map}}
\index{gsm0502\_tch\_f\_facch\_block\_map@{gsm0502\_tch\_f\_facch\_block\_map}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{gsm0502\_tch\_f\_facch\_block\_map}
{\footnotesize\ttfamily const uint8\+\_\+t gsm0502\+\_\+tch\+\_\+f\+\_\+facch\+\_\+block\+\_\+map[3][8]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{0, 1, 2, 3, 4, 5, 6, 7\},}
\DoxyCodeLine{        \{4, 5, 6, 7, 8, 9, 10, 11\},}
\DoxyCodeLine{        \{8, 9, 10, 11, 0, 1, 2, 3\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_ab3701b840ed8bf00f1e025a867c9116b}} 
\index{gsm0502.c@{gsm0502.c}!gsm0502\_tch\_f\_traffic\_block\_map@{gsm0502\_tch\_f\_traffic\_block\_map}}
\index{gsm0502\_tch\_f\_traffic\_block\_map@{gsm0502\_tch\_f\_traffic\_block\_map}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{gsm0502\_tch\_f\_traffic\_block\_map}
{\footnotesize\ttfamily const uint8\+\_\+t gsm0502\+\_\+tch\+\_\+f\+\_\+traffic\+\_\+block\+\_\+map[3][8]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{0, 1, 2, 3, 4, 5, 6, 7\},}
\DoxyCodeLine{        \{4, 5, 6, 7, 8, 9, 10, 11\},}
\DoxyCodeLine{        \{8, 9, 10, 11, 0, 1, 2, 3\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_a005b189efb68ebd65b436a075e533cf4}} 
\index{gsm0502.c@{gsm0502.c}!gsm0502\_tch\_h0\_facch\_block\_map@{gsm0502\_tch\_h0\_facch\_block\_map}}
\index{gsm0502\_tch\_h0\_facch\_block\_map@{gsm0502\_tch\_h0\_facch\_block\_map}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{gsm0502\_tch\_h0\_facch\_block\_map}
{\footnotesize\ttfamily const uint8\+\_\+t gsm0502\+\_\+tch\+\_\+h0\+\_\+facch\+\_\+block\+\_\+map[3][6]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{0, 2, 4, 6, 8, 10\},}
\DoxyCodeLine{        \{8, 10, 13, 15, 17, 19\},}
\DoxyCodeLine{        \{17, 19, 21, 23, 0, 2\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_a3e18619addf28ff6ef7847c6bee8149c}} 
\index{gsm0502.c@{gsm0502.c}!gsm0502\_tch\_h0\_traffic\_block\_map@{gsm0502\_tch\_h0\_traffic\_block\_map}}
\index{gsm0502\_tch\_h0\_traffic\_block\_map@{gsm0502\_tch\_h0\_traffic\_block\_map}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{gsm0502\_tch\_h0\_traffic\_block\_map}
{\footnotesize\ttfamily const uint8\+\_\+t gsm0502\+\_\+tch\+\_\+h0\+\_\+traffic\+\_\+block\+\_\+map[3][4]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{0, 2, 4, 6\},}
\DoxyCodeLine{        \{4, 6, 8, 10\},}
\DoxyCodeLine{        \{8, 10, 0, 2\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_ae3aa0603efb212c14f1195246396ca87}} 
\index{gsm0502.c@{gsm0502.c}!gsm0502\_tch\_h1\_facch\_block\_map@{gsm0502\_tch\_h1\_facch\_block\_map}}
\index{gsm0502\_tch\_h1\_facch\_block\_map@{gsm0502\_tch\_h1\_facch\_block\_map}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{gsm0502\_tch\_h1\_facch\_block\_map}
{\footnotesize\ttfamily const uint8\+\_\+t gsm0502\+\_\+tch\+\_\+h1\+\_\+facch\+\_\+block\+\_\+map[3][6]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{1, 3, 5, 7, 9, 11\},}
\DoxyCodeLine{        \{9, 11, 14, 16, 18, 20\},}
\DoxyCodeLine{        \{18, 20, 22, 24, 1, 3\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_af07051b5c2ed5ba4578adda31f5a2e33}} 
\index{gsm0502.c@{gsm0502.c}!gsm0502\_tch\_h1\_traffic\_block\_map@{gsm0502\_tch\_h1\_traffic\_block\_map}}
\index{gsm0502\_tch\_h1\_traffic\_block\_map@{gsm0502\_tch\_h1\_traffic\_block\_map}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{gsm0502\_tch\_h1\_traffic\_block\_map}
{\footnotesize\ttfamily const uint8\+\_\+t gsm0502\+\_\+tch\+\_\+h1\+\_\+traffic\+\_\+block\+\_\+map[3][4]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{1, 3, 5, 7\},}
\DoxyCodeLine{        \{5, 7, 9, 11\},}
\DoxyCodeLine{        \{9, 11, 1, 3\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_aca0bc86ab9452b36c59f3e41d48c8d05}} 
\index{gsm0502.c@{gsm0502.c}!rn\_table@{rn\_table}}
\index{rn\_table@{rn\_table}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{rn\_table}
{\footnotesize\ttfamily const uint8\+\_\+t rn\+\_\+table[114]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{         48,  98,  63,   1,  36,  95,  78, 102,  94,  73,}
\DoxyCodeLine{          0,  64,  25,  81,  76,  59, 124,  23, 104, 100,}
\DoxyCodeLine{        101,  47, 118,  85,  18,  56,  96,  86,  54,   2,}
\DoxyCodeLine{         80,  34, 127,  13,   6,  89,  57, 103,  12,  74,}
\DoxyCodeLine{         55, 111,  75,  38, 109,  71, 112,  29,  11,  88,}
\DoxyCodeLine{         87,  19,   3,  68, 110,  26,  33,  31,   8,  45,}
\DoxyCodeLine{         82,  58,  40, 107,  32,   5, 106,  92,  62,  67,}
\DoxyCodeLine{         77, 108, 122,  37,  60,  66, 121,  42,  51, 126,}
\DoxyCodeLine{        117, 114,   4,  90,  43,  52,  53, 113, 120,  72,}
\DoxyCodeLine{         16,  49,   7,  79, 119,  61,  22,  84,   9,  97,}
\DoxyCodeLine{         91,  15,  21,  24,  46,  39,  93, 105,  65,  70,}
\DoxyCodeLine{        125,  99,  17, 123,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ gsm0502\+\_\+hop\+\_\+seq\+\_\+gen()}.

\mbox{\label{gsm0502_8c_a62fe7c6e0b49b6338d99271217a7c381}} 
\index{gsm0502.c@{gsm0502.c}!tch\_f\_remap\_table@{tch\_f\_remap\_table}}
\index{tch\_f\_remap\_table@{tch\_f\_remap\_table}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{tch\_f\_remap\_table}
{\footnotesize\ttfamily struct \textbf{ fn\+\_\+remap\+\_\+table} tch\+\_\+f\+\_\+remap\+\_\+table\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_a6e6a79ea8ee340a6528ddc7457c7cc14}} 
\index{gsm0502.c@{gsm0502.c}!tch\_h0\_remap\_table@{tch\_h0\_remap\_table}}
\index{tch\_h0\_remap\_table@{tch\_h0\_remap\_table}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{tch\_h0\_remap\_table}
{\footnotesize\ttfamily struct \textbf{ fn\+\_\+remap\+\_\+table} tch\+\_\+h0\+\_\+remap\+\_\+table\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

\mbox{\label{gsm0502_8c_aba4f6c58347420845796e40258513b1a}} 
\index{gsm0502.c@{gsm0502.c}!tch\_h1\_remap\_table@{tch\_h1\_remap\_table}}
\index{tch\_h1\_remap\_table@{tch\_h1\_remap\_table}!gsm0502.c@{gsm0502.c}}
\doxysubsubsection{tch\_h1\_remap\_table}
{\footnotesize\ttfamily struct \textbf{ fn\+\_\+remap\+\_\+table} tch\+\_\+h1\+\_\+remap\+\_\+table\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}.

