\doxysection{osmo\+\_\+gprs\+\_\+ns2\+\_\+prim Struct Reference}
\label{structosmo__gprs__ns2__prim}\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}


{\ttfamily \#include $<$gprs\+\_\+ns2.\+h$>$}

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ osmo\+\_\+prim\+\_\+hdr} \textbf{ oph}
\item 
uint16\+\_\+t \textbf{ nsei}
\item 
uint16\+\_\+t \textbf{ bvci}
\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
union \{\\
\>struct \{\\
\>\>enum \textbf{ gprs\_ns2\_change\_ip\_endpoint} \textbf{ change}\\
\>\>uint32\_t \textbf{ link\_selector}\\
\>\>long long \textbf{ \_resource\_distribution\_placeholder1}\\
\>\>long long \textbf{ \_resource\_distribution\_placeholder2}\\
\>\>long long \textbf{ \_resource\_distribution\_placeholder3}\\
\>\} \textbf{ unitdata}\\
\>struct \{\\
\>\>enum \textbf{ gprs\_ns2\_congestion\_cause} \textbf{ cause}\\
\>\} \textbf{ congestion}\\
\>struct \{\\
\>\>enum \textbf{ gprs\_ns2\_affecting\_cause} \textbf{ cause}\\
\>\>char $\ast$ \textbf{ nsvc}\\
\>\>int \textbf{ transfer}\\
\>\>bool \textbf{ persistent}\\
\>\>bool \textbf{ first}\\
\>\>uint16\_t \textbf{ mtu}\\
\>\} \textbf{ status}\\
\} \textbf{ u}\\

\end{tabbing}\end{DoxyCompactItemize}


\doxysubsection{Field Documentation}
\mbox{\label{structosmo__gprs__ns2__prim_a8fadb6872642cf45082df263d0d16bba}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!\_resource\_distribution\_placeholder1@{\_resource\_distribution\_placeholder1}}
\index{\_resource\_distribution\_placeholder1@{\_resource\_distribution\_placeholder1}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{\_resource\_distribution\_placeholder1}
{\footnotesize\ttfamily long long osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::\+\_\+resource\+\_\+distribution\+\_\+placeholder1}

\mbox{\label{structosmo__gprs__ns2__prim_ab9f90b62ef595000900eded1d8c861d1}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!\_resource\_distribution\_placeholder2@{\_resource\_distribution\_placeholder2}}
\index{\_resource\_distribution\_placeholder2@{\_resource\_distribution\_placeholder2}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{\_resource\_distribution\_placeholder2}
{\footnotesize\ttfamily long long osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::\+\_\+resource\+\_\+distribution\+\_\+placeholder2}

\mbox{\label{structosmo__gprs__ns2__prim_af65130ad8a8e2fc166bbc917cac53e95}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!\_resource\_distribution\_placeholder3@{\_resource\_distribution\_placeholder3}}
\index{\_resource\_distribution\_placeholder3@{\_resource\_distribution\_placeholder3}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{\_resource\_distribution\_placeholder3}
{\footnotesize\ttfamily long long osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::\+\_\+resource\+\_\+distribution\+\_\+placeholder3}

\mbox{\label{structosmo__gprs__ns2__prim_aba3cd28abef3c65d051c056cda76b7a3}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!bvci@{bvci}}
\index{bvci@{bvci}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{bvci}
{\footnotesize\ttfamily uint16\+\_\+t osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::bvci}



Referenced by \textbf{ bssgp2\+\_\+nsi\+\_\+tx\+\_\+ptp()}, \textbf{ gprs\+\_\+ns2\+\_\+recv\+\_\+prim()}, and \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_a7b043ff0ff8362cbeee3bc39d49da9ad}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!cause@{cause}}
\index{cause@{cause}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{cause\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily enum \textbf{ gprs\+\_\+ns2\+\_\+congestion\+\_\+cause} osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::cause}



Referenced by \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_ad171fa5620bb7da71be129272d15a770}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!cause@{cause}}
\index{cause@{cause}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{cause\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily enum \textbf{ gprs\+\_\+ns2\+\_\+affecting\+\_\+cause} osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::cause}

\mbox{\label{structosmo__gprs__ns2__prim_a4fe56e2f0c1aa70927511722c8ca7220}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!change@{change}}
\index{change@{change}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{change}
{\footnotesize\ttfamily enum \textbf{ gprs\+\_\+ns2\+\_\+change\+\_\+ip\+\_\+endpoint} osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::change}



Referenced by \textbf{ gprs\+\_\+ns2\+\_\+recv\+\_\+prim()}.

\mbox{\label{structosmo__gprs__ns2__prim_af59f4ec27e08cb676510ced7655ee3f1}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!congestion@{congestion}}
\index{congestion@{congestion}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::congestion}

\mbox{\label{structosmo__gprs__ns2__prim_a4e0cc33cf4d7ddd28ab5b0b46c049368}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!first@{first}}
\index{first@{first}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{first}
{\footnotesize\ttfamily bool osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::first}



Referenced by \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_a3b9b95000e5225f592d5281dcc1c6084}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!link\_selector@{link\_selector}}
\index{link\_selector@{link\_selector}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{link\_selector}
{\footnotesize\ttfamily uint32\+\_\+t osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::link\+\_\+selector}



Referenced by \textbf{ bssgp2\+\_\+nsi\+\_\+tx\+\_\+ptp()}, and \textbf{ gprs\+\_\+ns2\+\_\+recv\+\_\+prim()}.

\mbox{\label{structosmo__gprs__ns2__prim_a48c0aa4a0cbe673d235a94bdb93042f5}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!mtu@{mtu}}
\index{mtu@{mtu}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{mtu}
{\footnotesize\ttfamily uint16\+\_\+t osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::mtu}



Referenced by \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_a5ef85ec9d275f49358d465ffbf79d71f}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!nsei@{nsei}}
\index{nsei@{nsei}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{nsei}
{\footnotesize\ttfamily uint16\+\_\+t osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::nsei}



Referenced by \textbf{ bssgp2\+\_\+nsi\+\_\+tx\+\_\+ptp()}, \textbf{ gprs\+\_\+ns2\+\_\+recv\+\_\+prim()}, and \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_ab0ca4fdcd0f225498fdcbe551d4388fe}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!nsvc@{nsvc}}
\index{nsvc@{nsvc}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{nsvc}
{\footnotesize\ttfamily char$\ast$ osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::nsvc}



Referenced by \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_aa1fb5816c06fdedfaa19771847f0e2b8}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!oph@{oph}}
\index{oph@{oph}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{oph}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+prim\+\_\+hdr} osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::oph}



Referenced by \textbf{ bssgp2\+\_\+nsi\+\_\+tx\+\_\+ptp()}, and \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_a3617a5fb372f1e11a624b3ee4ff5f75e}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!persistent@{persistent}}
\index{persistent@{persistent}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{persistent}
{\footnotesize\ttfamily bool osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::persistent}



Referenced by \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_ad79ef3d186ae763cb161d8a5df4d8e18}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!status@{status}}
\index{status@{status}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::status}



Referenced by \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_a2972c2bfa9d178dc3726357f67d6366b}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!transfer@{transfer}}
\index{transfer@{transfer}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{transfer}
{\footnotesize\ttfamily int osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::transfer}



Referenced by \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_a0cecdb49f7fb8ab701b2a89f8547a784}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!u@{u}}
\index{u@{u}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{}
{\footnotesize\ttfamily union  \{ ... \}  osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::u}



Referenced by \textbf{ bssgp2\+\_\+nsi\+\_\+tx\+\_\+ptp()}, \textbf{ gprs\+\_\+ns2\+\_\+recv\+\_\+prim()}, and \textbf{ ns2\+\_\+prim\+\_\+status\+\_\+ind()}.

\mbox{\label{structosmo__gprs__ns2__prim_a4167aa36140cef7e2683e92e921ba33a}} 
\index{osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}!unitdata@{unitdata}}
\index{unitdata@{unitdata}!osmo\_gprs\_ns2\_prim@{osmo\_gprs\_ns2\_prim}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  osmo\+\_\+gprs\+\_\+ns2\+\_\+prim\+::unitdata}



Referenced by \textbf{ bssgp2\+\_\+nsi\+\_\+tx\+\_\+ptp()}, and \textbf{ gprs\+\_\+ns2\+\_\+recv\+\_\+prim()}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/osmocom/gprs/\textbf{ gprs\+\_\+ns2.\+h}\end{DoxyCompactItemize}
