\doxysection{src/gsm/bts\+\_\+features.c File Reference}
\label{bts__features_8c}\index{src/gsm/bts\_features.c@{src/gsm/bts\_features.c}}


osmo-\/bts features.  


{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/bts\+\_\+features.\+h$>$}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (\textbf{ ARRAY\+\_\+\+SIZE}(\textbf{ osmo\+\_\+bts\+\_\+features\+\_\+descs})==\textbf{ \+\_\+\+NUM\+\_\+\+BTS\+\_\+\+FEAT}+1, \+\_\+bts\+\_\+features\+\_\+descs)
\item 
const char $\ast$ \textbf{ osmo\+\_\+bts\+\_\+feature\+\_\+name} (enum \textbf{ osmo\+\_\+bts\+\_\+features} feature)
\begin{DoxyCompactList}\small\item\em return description string of a BTS feature (osmo\+\_\+bts\+\_\+features\+\_\+descs). \end{DoxyCompactList}\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (\textbf{ ARRAY\+\_\+\+SIZE}(\textbf{ osmo\+\_\+bts\+\_\+features\+\_\+names})==\textbf{ \+\_\+\+NUM\+\_\+\+BTS\+\_\+\+FEAT}+1, \+\_\+bts\+\_\+features\+\_\+names)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+bts\+\_\+features\+\_\+descs} [$\,$]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+bts\+\_\+features\+\_\+names} [$\,$]
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
osmo-\/bts features. 



\doxysubsection{Function Documentation}
\mbox{\label{bts__features_8c_af58630d702bc5b4d757969f777bc8bde}} 
\index{bts\_features.c@{bts\_features.c}!osmo\_bts\_feature\_name@{osmo\_bts\_feature\_name}}
\index{osmo\_bts\_feature\_name@{osmo\_bts\_feature\_name}!bts\_features.c@{bts\_features.c}}
\doxysubsubsection{osmo\_bts\_feature\_name()}
{\footnotesize\ttfamily const char $\ast$ osmo\+\_\+bts\+\_\+feature\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+bts\+\_\+features}}]{feature }\end{DoxyParamCaption})}



return description string of a BTS feature (osmo\+\_\+bts\+\_\+features\+\_\+descs). 

To get the plain feature name, use \doxyref{osmo\+\_\+bts\+\_\+features\+\_\+name()}{p.}{bts__features_8h_a491f78f152b659ce5093dc9421d6640c} instead. 

References \textbf{ get\+\_\+value\+\_\+string()}, and \textbf{ osmo\+\_\+bts\+\_\+features\+\_\+descs}.

\mbox{\label{bts__features_8c_a0c196686b95d35f4f81fa9ae02db69dc}} 
\index{bts\_features.c@{bts\_features.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!bts\_features.c@{bts\_features.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{\textbf{ ARRAY\+\_\+\+SIZE}(\textbf{ osmo\+\_\+bts\+\_\+features\+\_\+descs})}]{ = {\ttfamily =\textbf{ \+\_\+\+NUM\+\_\+\+BTS\+\_\+\+FEAT}+1},  }\item[{\+\_\+bts\+\_\+features\+\_\+descs}]{ }\end{DoxyParamCaption})}



References \textbf{ ARRAY\+\_\+\+SIZE}.

\mbox{\label{bts__features_8c_ae942b4d084ceefd0892a8081ba1edf98}} 
\index{bts\_features.c@{bts\_features.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!bts\_features.c@{bts\_features.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{\textbf{ ARRAY\+\_\+\+SIZE}(\textbf{ osmo\+\_\+bts\+\_\+features\+\_\+names})}]{ = {\ttfamily =\textbf{ \+\_\+\+NUM\+\_\+\+BTS\+\_\+\+FEAT}+1},  }\item[{\+\_\+bts\+\_\+features\+\_\+names}]{ }\end{DoxyParamCaption})}



References \textbf{ ARRAY\+\_\+\+SIZE}.



\doxysubsection{Variable Documentation}
\mbox{\label{bts__features_8c_aae3a1de23a923b91f4fc441057fc0257}} 
\index{bts\_features.c@{bts\_features.c}!osmo\_bts\_features\_descs@{osmo\_bts\_features\_descs}}
\index{osmo\_bts\_features\_descs@{osmo\_bts\_features\_descs}!bts\_features.c@{bts\_features.c}}
\doxysubsubsection{osmo\_bts\_features\_descs}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} osmo\+\_\+bts\+\_\+features\+\_\+descs[$\,$]}



Referenced by \textbf{ osmo\+\_\+bts\+\_\+feature\+\_\+name()}, and \textbf{ osmo\+\_\+bts\+\_\+features\+\_\+desc()}.

\mbox{\label{bts__features_8c_ae0895205e184505055adcdffcf7aef9d}} 
\index{bts\_features.c@{bts\_features.c}!osmo\_bts\_features\_names@{osmo\_bts\_features\_names}}
\index{osmo\_bts\_features\_names@{osmo\_bts\_features\_names}!bts\_features.c@{bts\_features.c}}
\doxysubsubsection{osmo\_bts\_features\_names}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} osmo\+\_\+bts\+\_\+features\+\_\+names[$\,$]}



Referenced by \textbf{ osmo\+\_\+bts\+\_\+features\+\_\+name()}.

