\doxysection{src/gsm/rxlev\+\_\+stat.c File Reference}
\label{rxlev__stat_8c}\index{src/gsm/rxlev\_stat.c@{src/gsm/rxlev\_stat.c}}


Rx Level statistics.  


{\ttfamily \#include $<$unistd.\+h$>$}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/bitvec.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/rxlev\+\_\+stat.\+h$>$}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ rxlev\+\_\+stat\+\_\+input} (struct \textbf{ rxlev\+\_\+stats} $\ast$st, uint16\+\_\+t \textbf{ arfcn}, uint8\+\_\+t rxlev)
\item 
int16\+\_\+t \textbf{ rxlev\+\_\+stat\+\_\+get\+\_\+next} (const struct \textbf{ rxlev\+\_\+stats} $\ast$st, uint8\+\_\+t rxlev, int16\+\_\+t \textbf{ arfcn})
\item 
void \textbf{ rxlev\+\_\+stat\+\_\+reset} (struct \textbf{ rxlev\+\_\+stats} $\ast$st)
\item 
void \textbf{ rxlev\+\_\+stat\+\_\+dump} (const struct \textbf{ rxlev\+\_\+stats} $\ast$st)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Rx Level statistics. 



\doxysubsection{Function Documentation}
\mbox{\label{rxlev__stat_8c_ac7ab8d35d52c5fdb92a00f1881c935d9}} 
\index{rxlev\_stat.c@{rxlev\_stat.c}!rxlev\_stat\_dump@{rxlev\_stat\_dump}}
\index{rxlev\_stat\_dump@{rxlev\_stat\_dump}!rxlev\_stat.c@{rxlev\_stat.c}}
\doxysubsubsection{rxlev\_stat\_dump()}
{\footnotesize\ttfamily void rxlev\+\_\+stat\+\_\+dump (\begin{DoxyParamCaption}\item[{const struct \textbf{ rxlev\+\_\+stats} $\ast$}]{st }\end{DoxyParamCaption})}



References \textbf{ arfcn}, \textbf{ NUM\+\_\+\+RXLEVS}, and \textbf{ rxlev\+\_\+stat\+\_\+get\+\_\+next()}.

\mbox{\label{rxlev__stat_8c_a1c2316a4364c775f0bd2c53e96c8e2ad}} 
\index{rxlev\_stat.c@{rxlev\_stat.c}!rxlev\_stat\_get\_next@{rxlev\_stat\_get\_next}}
\index{rxlev\_stat\_get\_next@{rxlev\_stat\_get\_next}!rxlev\_stat.c@{rxlev\_stat.c}}
\doxysubsubsection{rxlev\_stat\_get\_next()}
{\footnotesize\ttfamily int16\+\_\+t rxlev\+\_\+stat\+\_\+get\+\_\+next (\begin{DoxyParamCaption}\item[{const struct \textbf{ rxlev\+\_\+stats} $\ast$}]{st,  }\item[{uint8\+\_\+t}]{rxlev,  }\item[{int16\+\_\+t}]{arfcn }\end{DoxyParamCaption})}



References \textbf{ arfcn}, \textbf{ bitvec\+\_\+find\+\_\+bit\+\_\+pos()}, \textbf{ bitvec\+::data}, \textbf{ bitvec\+::data\+\_\+len}, \textbf{ NUM\+\_\+\+ARFCNS}, \textbf{ NUM\+\_\+\+RXLEVS}, \textbf{ ONE}, and \textbf{ rxlev\+\_\+stats\+::rxlev\+\_\+buckets}.



Referenced by \textbf{ rxlev\+\_\+stat\+\_\+dump()}.

\mbox{\label{rxlev__stat_8c_a034fbe4714c1d8e6e29fe5f39f05a944}} 
\index{rxlev\_stat.c@{rxlev\_stat.c}!rxlev\_stat\_input@{rxlev\_stat\_input}}
\index{rxlev\_stat\_input@{rxlev\_stat\_input}!rxlev\_stat.c@{rxlev\_stat.c}}
\doxysubsubsection{rxlev\_stat\_input()}
{\footnotesize\ttfamily void rxlev\+\_\+stat\+\_\+input (\begin{DoxyParamCaption}\item[{struct \textbf{ rxlev\+\_\+stats} $\ast$}]{st,  }\item[{uint16\+\_\+t}]{arfcn,  }\item[{uint8\+\_\+t}]{rxlev }\end{DoxyParamCaption})}



References \textbf{ arfcn}, \textbf{ bitvec\+\_\+set\+\_\+bit\+\_\+pos()}, \textbf{ bitvec\+::data}, \textbf{ bitvec\+::data\+\_\+len}, \textbf{ NUM\+\_\+\+ARFCNS}, \textbf{ NUM\+\_\+\+RXLEVS}, \textbf{ ONE}, and \textbf{ rxlev\+\_\+stats\+::rxlev\+\_\+buckets}.

\mbox{\label{rxlev__stat_8c_aa17a3778cbe4c2d95210d4cc81af80c5}} 
\index{rxlev\_stat.c@{rxlev\_stat.c}!rxlev\_stat\_reset@{rxlev\_stat\_reset}}
\index{rxlev\_stat\_reset@{rxlev\_stat\_reset}!rxlev\_stat.c@{rxlev\_stat.c}}
\doxysubsubsection{rxlev\_stat\_reset()}
{\footnotesize\ttfamily void rxlev\+\_\+stat\+\_\+reset (\begin{DoxyParamCaption}\item[{struct \textbf{ rxlev\+\_\+stats} $\ast$}]{st }\end{DoxyParamCaption})}

