\doxysection{src/gsm/sysinfo.c File Reference}
\label{sysinfo_8c}\index{src/gsm/sysinfo.c@{src/gsm/sysinfo.c}}


GSM 04.\+08 System Information (SI) encoding and decoding.  


{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/bitvec.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/sysinfo.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/protocol/gsm\+\_\+04\+\_\+08.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/protocol/gsm\+\_\+08\+\_\+58.\+h$>$}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+header})==3, \+\_\+si\+\_\+header\+\_\+size)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+rach\+\_\+control})==3, \+\_\+si\+\_\+rach\+\_\+control)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+1})==22, \+\_\+si1\+\_\+size)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+2})==23, \+\_\+si2\+\_\+size)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+3})==19, \+\_\+si3\+\_\+size)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+4})==13, \+\_\+si4\+\_\+size)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+5})==18, \+\_\+si5\+\_\+size)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+6})==11, \+\_\+si6\+\_\+size)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+10})==1, \+\_\+si10\+\_\+size)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+13})==3, \+\_\+si13\+\_\+size)
\item 
int \textbf{ osmo\+\_\+earfcn\+\_\+add} (struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$e, uint16\+\_\+t \textbf{ arfcn}, uint8\+\_\+t meas\+\_\+bw)
\begin{DoxyCompactList}\small\item\em Add pair of arfcn and measurement bandwith value to earfcn struct. \end{DoxyCompactList}\item 
size\+\_\+t \textbf{ osmo\+\_\+earfcn\+\_\+bit\+\_\+size} (const struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$e)
\begin{DoxyCompactList}\small\item\em Return number of bits necessary to represent earfcn struct as Repeated E-\/\+UTRAN Neighbour Cells IE from 3GPP TS 44.\+018 Table 10.\+5.\+2.\+33b.\+1. \end{DoxyCompactList}\item 
size\+\_\+t \textbf{ osmo\+\_\+earfcn\+\_\+bit\+\_\+size\+\_\+ext} (const struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$e, size\+\_\+t offset)
\begin{DoxyCompactList}\small\item\em Return number of bits necessary to represent earfcn struct as Repeated E-\/\+UTRAN Neighbour Cells IE from 3GPP TS 44.\+018 Table 10.\+5.\+2.\+33b.\+1. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+earfcn\+\_\+del} (struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$e, uint16\+\_\+t \textbf{ arfcn})
\begin{DoxyCompactList}\small\item\em Delete arfcn (and corresponding measurement bandwith) from earfcn struct. \end{DoxyCompactList}\item 
void \textbf{ osmo\+\_\+earfcn\+\_\+init} (struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$e)
\begin{DoxyCompactList}\small\item\em Initialize earfcn struct. \end{DoxyCompactList}\item 
uint8\+\_\+t \textbf{ osmo\+\_\+sitype2rsl} (enum \textbf{ osmo\+\_\+sysinfo\+\_\+type} si\+\_\+type)
\item 
enum \textbf{ osmo\+\_\+sysinfo\+\_\+type} \textbf{ osmo\+\_\+rsl2sitype} (uint8\+\_\+t rsl\+\_\+si)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const uint8\+\_\+t \textbf{ sitype2rsl} [\textbf{ \+\_\+\+MAX\+\_\+\+SYSINFO\+\_\+\+TYPE}]
\item 
static const uint8\+\_\+t \textbf{ rsl2sitype} [256]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+sitype\+\_\+strs} [\textbf{ \+\_\+\+MAX\+\_\+\+SYSINFO\+\_\+\+TYPE}]
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
GSM 04.\+08 System Information (SI) encoding and decoding. 

3GPP TS 04.\+08 version 7.\+21.\+0 Release 1998 / ETSI TS 100 940 V7.\+21.\+0 

\doxysubsection{Function Documentation}
\mbox{\label{sysinfo_8c_af79601ffcec344eae48a8c3dcfbabbbe}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_earfcn\_add@{osmo\_earfcn\_add}}
\index{osmo\_earfcn\_add@{osmo\_earfcn\_add}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_earfcn\_add()}
{\footnotesize\ttfamily int osmo\+\_\+earfcn\+\_\+add (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$}]{e,  }\item[{uint16\+\_\+t}]{arfcn,  }\item[{uint8\+\_\+t}]{meas\+\_\+bw }\end{DoxyParamCaption})}



Add pair of arfcn and measurement bandwith value to earfcn struct. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em e} & earfcn struct \\
\hline
\mbox{\texttt{ in}}  & {\em arfcn} & EARFCN value, 16 bits \\
\hline
\mbox{\texttt{ in}}  & {\em meas\+\_\+bw} & measurement bandwith value \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, error otherwise 
\end{DoxyReturn}


References \textbf{ arfcn}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::arfcn}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::length}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::meas\+\_\+bw}, and \textbf{ OSMO\+\_\+\+EARFCN\+\_\+\+INVALID}.

\mbox{\label{sysinfo_8c_a25020fd5e9e48cc408161b880f7e5071}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_earfcn\_bit\_size@{osmo\_earfcn\_bit\_size}}
\index{osmo\_earfcn\_bit\_size@{osmo\_earfcn\_bit\_size}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_earfcn\_bit\_size()}
{\footnotesize\ttfamily size\+\_\+t osmo\+\_\+earfcn\+\_\+bit\+\_\+size (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$}]{e }\end{DoxyParamCaption})}



Return number of bits necessary to represent earfcn struct as Repeated E-\/\+UTRAN Neighbour Cells IE from 3GPP TS 44.\+018 Table 10.\+5.\+2.\+33b.\+1. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em e} & earfcn struct \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of bits 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+earfcn\+\_\+bit\+\_\+size\+\_\+ext()}.

\mbox{\label{sysinfo_8c_a0fcebab66de3b6339e29f6e030d801a1}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_earfcn\_bit\_size\_ext@{osmo\_earfcn\_bit\_size\_ext}}
\index{osmo\_earfcn\_bit\_size\_ext@{osmo\_earfcn\_bit\_size\_ext}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_earfcn\_bit\_size\_ext()}
{\footnotesize\ttfamily size\+\_\+t osmo\+\_\+earfcn\+\_\+bit\+\_\+size\+\_\+ext (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$}]{e,  }\item[{size\+\_\+t}]{offset }\end{DoxyParamCaption})}



Return number of bits necessary to represent earfcn struct as Repeated E-\/\+UTRAN Neighbour Cells IE from 3GPP TS 44.\+018 Table 10.\+5.\+2.\+33b.\+1. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em e} & earfcn struct \\
\hline
\mbox{\texttt{ in}}  & {\em offset} & into earfcn struct\+: how many EARFCNs to skip while estimating size \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of bits 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::arfcn}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::length}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::meas\+\_\+bw}, \textbf{ OSMO\+\_\+\+EARFCN\+\_\+\+INVALID}, \textbf{ OSMO\+\_\+\+EARFCN\+\_\+\+MEAS\+\_\+\+INVALID}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::prio\+\_\+valid}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::qrxlm\+\_\+valid}, and \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::thresh\+\_\+lo\+\_\+valid}.



Referenced by \textbf{ osmo\+\_\+earfcn\+\_\+bit\+\_\+size()}.

\mbox{\label{sysinfo_8c_aab8d66bb1d380af3df988fcf86223927}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_earfcn\_del@{osmo\_earfcn\_del}}
\index{osmo\_earfcn\_del@{osmo\_earfcn\_del}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_earfcn\_del()}
{\footnotesize\ttfamily int osmo\+\_\+earfcn\+\_\+del (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$}]{e,  }\item[{uint16\+\_\+t}]{arfcn }\end{DoxyParamCaption})}



Delete arfcn (and corresponding measurement bandwith) from earfcn struct. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em e} & earfcn struct \\
\hline
\mbox{\texttt{ in}}  & {\em arfcn} & EARFCN value, 16 bits \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, error otherwise 
\end{DoxyReturn}


References \textbf{ arfcn}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::arfcn}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::length}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::meas\+\_\+bw}, \textbf{ OSMO\+\_\+\+EARFCN\+\_\+\+INVALID}, and \textbf{ OSMO\+\_\+\+EARFCN\+\_\+\+MEAS\+\_\+\+INVALID}.

\mbox{\label{sysinfo_8c_a43572feab2c65e714651381966720d0a}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_earfcn\_init@{osmo\_earfcn\_init}}
\index{osmo\_earfcn\_init@{osmo\_earfcn\_init}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_earfcn\_init()}
{\footnotesize\ttfamily void osmo\+\_\+earfcn\+\_\+init (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+earfcn\+\_\+si2q} $\ast$}]{e }\end{DoxyParamCaption})}



Initialize earfcn struct. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em e} & earfcn struct \\
\hline
\end{DoxyParams}


References \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::arfcn}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::length}, \textbf{ osmo\+\_\+earfcn\+\_\+si2q\+::meas\+\_\+bw}, \textbf{ OSMO\+\_\+\+EARFCN\+\_\+\+INVALID}, and \textbf{ OSMO\+\_\+\+EARFCN\+\_\+\+MEAS\+\_\+\+INVALID}.

\mbox{\label{sysinfo_8c_a8387daf5792a22d0920000fb5d93afd3}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_rsl2sitype@{osmo\_rsl2sitype}}
\index{osmo\_rsl2sitype@{osmo\_rsl2sitype}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_rsl2sitype()}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sysinfo\+\_\+type} osmo\+\_\+rsl2sitype (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{rsl\+\_\+si }\end{DoxyParamCaption})}



References \textbf{ rsl2sitype}.

\mbox{\label{sysinfo_8c_a5b756dc7ea2ec7a2c5bd3ab2e41babcf}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_sitype2rsl@{osmo\_sitype2rsl}}
\index{osmo\_sitype2rsl@{osmo\_sitype2rsl}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_sitype2rsl()}
{\footnotesize\ttfamily uint8\+\_\+t osmo\+\_\+sitype2rsl (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+sysinfo\+\_\+type}}]{si\+\_\+type }\end{DoxyParamCaption})}



References \textbf{ sitype2rsl}.

\mbox{\label{sysinfo_8c_a0c94e93c183143cabdb1a6c58d3a42d5}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [1/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+rach\+\_\+control})}]{ = {\ttfamily =3},  }\item[{\+\_\+si\+\_\+rach\+\_\+control}]{ }\end{DoxyParamCaption})}

\mbox{\label{sysinfo_8c_ad20a24d0edcfd3ed013becda8ac73cd4}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [2/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+1})}]{ = {\ttfamily =22},  }\item[{\+\_\+si1\+\_\+size}]{ }\end{DoxyParamCaption})}

\mbox{\label{sysinfo_8c_a4ca2660357b3547b497fdadcb8f1b0de}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [3/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+10})}]{ = {\ttfamily =1},  }\item[{\+\_\+si10\+\_\+size}]{ }\end{DoxyParamCaption})}

\mbox{\label{sysinfo_8c_a7654778fa290759c685f2224b29a3023}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [4/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+13})}]{ = {\ttfamily =3},  }\item[{\+\_\+si13\+\_\+size}]{ }\end{DoxyParamCaption})}

\mbox{\label{sysinfo_8c_afedee1db4c72d7fb5a64bbbd73f71d97}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [5/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+2})}]{ = {\ttfamily =23},  }\item[{\+\_\+si2\+\_\+size}]{ }\end{DoxyParamCaption})}

\mbox{\label{sysinfo_8c_a1e4aaba09e9cf973ed9fff72e507e039}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [6/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+3})}]{ = {\ttfamily =19},  }\item[{\+\_\+si3\+\_\+size}]{ }\end{DoxyParamCaption})}

\mbox{\label{sysinfo_8c_aa79a29903bdc6bee427e430a672a4f94}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [7/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+4})}]{ = {\ttfamily =13},  }\item[{\+\_\+si4\+\_\+size}]{ }\end{DoxyParamCaption})}

\mbox{\label{sysinfo_8c_a3be747d16b925f85604cdc5b95dbb215}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [8/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+5})}]{ = {\ttfamily =18},  }\item[{\+\_\+si5\+\_\+size}]{ }\end{DoxyParamCaption})}

\mbox{\label{sysinfo_8c_afb89aee2cb0db6918dd2e3dbff452381}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [9/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+6})}]{ = {\ttfamily =11},  }\item[{\+\_\+si6\+\_\+size}]{ }\end{DoxyParamCaption})}

\mbox{\label{sysinfo_8c_a9dae7456ba5fb2d0e508d4b251e06a73}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [10/10]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct \textbf{ gsm48\+\_\+system\+\_\+information\+\_\+type\+\_\+header})}]{ = {\ttfamily =3},  }\item[{\+\_\+si\+\_\+header\+\_\+size}]{ }\end{DoxyParamCaption})}



\doxysubsection{Variable Documentation}
\mbox{\label{sysinfo_8c_a83c5fd76782dc4000eae5d7bd811eb7f}} 
\index{sysinfo.c@{sysinfo.c}!osmo\_sitype\_strs@{osmo\_sitype\_strs}}
\index{osmo\_sitype\_strs@{osmo\_sitype\_strs}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{osmo\_sitype\_strs}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} osmo\+\_\+sitype\+\_\+strs[\textbf{ \+\_\+\+MAX\+\_\+\+SYSINFO\+\_\+\+TYPE}]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_1, \textcolor{stringliteral}{"{}1"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_2, \textcolor{stringliteral}{"{}2"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_3, \textcolor{stringliteral}{"{}3"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_4, \textcolor{stringliteral}{"{}4"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_5, \textcolor{stringliteral}{"{}5"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_6, \textcolor{stringliteral}{"{}6"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_7, \textcolor{stringliteral}{"{}7"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_8, \textcolor{stringliteral}{"{}8"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_9, \textcolor{stringliteral}{"{}9"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_10,       \textcolor{stringliteral}{"{}10"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_13,       \textcolor{stringliteral}{"{}13"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_16,       \textcolor{stringliteral}{"{}16"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_17,       \textcolor{stringliteral}{"{}17"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_18,       \textcolor{stringliteral}{"{}18"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_19,       \textcolor{stringliteral}{"{}19"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_20,       \textcolor{stringliteral}{"{}20"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_2bis,   \textcolor{stringliteral}{"{}2bis"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_2ter,   \textcolor{stringliteral}{"{}2ter"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_2quater,     \textcolor{stringliteral}{"{}2quater"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_5bis,   \textcolor{stringliteral}{"{}5bis"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_5ter,   \textcolor{stringliteral}{"{}5ter"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_EMO,     \textcolor{stringliteral}{"{}EMO"{}} \},}
\DoxyCodeLine{        \{ SYSINFO\_TYPE\_MEAS\_INFO, \textcolor{stringliteral}{"{}MI"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}
\mbox{\label{sysinfo_8c_ae1603a6d46b93ff26ad2f192ee9ff7eb}} 
\index{sysinfo.c@{sysinfo.c}!rsl2sitype@{rsl2sitype}}
\index{rsl2sitype@{rsl2sitype}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{rsl2sitype}
{\footnotesize\ttfamily const uint8\+\_\+t rsl2sitype[256]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_1] = SYSINFO\_TYPE\_1,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_2] = SYSINFO\_TYPE\_2,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_3] = SYSINFO\_TYPE\_3,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_4] = SYSINFO\_TYPE\_4,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_5] = SYSINFO\_TYPE\_5,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_6] = SYSINFO\_TYPE\_6,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_7] = SYSINFO\_TYPE\_7,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_8] = SYSINFO\_TYPE\_8,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_9] = SYSINFO\_TYPE\_9,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_10] = SYSINFO\_TYPE\_10,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_13] = SYSINFO\_TYPE\_13,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_16] = SYSINFO\_TYPE\_16,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_17] = SYSINFO\_TYPE\_17,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_18] = SYSINFO\_TYPE\_18,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_19] = SYSINFO\_TYPE\_19,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_20] = SYSINFO\_TYPE\_20,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_2bis] = SYSINFO\_TYPE\_2bis,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_2ter] = SYSINFO\_TYPE\_2ter,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_2quater] = SYSINFO\_TYPE\_2quater,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_5bis] = SYSINFO\_TYPE\_5bis,}
\DoxyCodeLine{        [RSL\_SYSTEM\_INFO\_5ter] = SYSINFO\_TYPE\_5ter,}
\DoxyCodeLine{        [RSL\_EXT\_MEAS\_ORDER] = SYSINFO\_TYPE\_EMO,}
\DoxyCodeLine{        [RSL\_MEAS\_INFO] = SYSINFO\_TYPE\_MEAS\_INFO,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+rsl2sitype()}.

\mbox{\label{sysinfo_8c_a7d45c8339ddd6dc3b8e0a8ffb2f68ee2}} 
\index{sysinfo.c@{sysinfo.c}!sitype2rsl@{sitype2rsl}}
\index{sitype2rsl@{sitype2rsl}!sysinfo.c@{sysinfo.c}}
\doxysubsubsection{sitype2rsl}
{\footnotesize\ttfamily const uint8\+\_\+t sitype2rsl[\textbf{ \+\_\+\+MAX\+\_\+\+SYSINFO\+\_\+\+TYPE}]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        [SYSINFO\_TYPE\_1]  = RSL\_SYSTEM\_INFO\_1,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_2]  = RSL\_SYSTEM\_INFO\_2,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_3]  = RSL\_SYSTEM\_INFO\_3,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_4]  = RSL\_SYSTEM\_INFO\_4,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_5]  = RSL\_SYSTEM\_INFO\_5,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_6]  = RSL\_SYSTEM\_INFO\_6,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_7]  = RSL\_SYSTEM\_INFO\_7,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_8]  = RSL\_SYSTEM\_INFO\_8,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_9]  = RSL\_SYSTEM\_INFO\_9,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_10]        = RSL\_SYSTEM\_INFO\_10,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_13]        = RSL\_SYSTEM\_INFO\_13,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_16]        = RSL\_SYSTEM\_INFO\_16,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_17]        = RSL\_SYSTEM\_INFO\_17,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_18]        = RSL\_SYSTEM\_INFO\_18,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_19]        = RSL\_SYSTEM\_INFO\_19,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_20]        = RSL\_SYSTEM\_INFO\_20,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_2bis]    = RSL\_SYSTEM\_INFO\_2bis,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_2ter]    = RSL\_SYSTEM\_INFO\_2ter,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_2quater]      = RSL\_SYSTEM\_INFO\_2quater,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_5bis]    = RSL\_SYSTEM\_INFO\_5bis,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_5ter]    = RSL\_SYSTEM\_INFO\_5ter,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_EMO]      = RSL\_EXT\_MEAS\_ORDER,}
\DoxyCodeLine{        [SYSINFO\_TYPE\_MEAS\_INFO]= RSL\_MEAS\_INFO,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+sitype2rsl()}.

