\doxysection{bvc\+\_\+fsm\+\_\+priv Struct Reference}
\label{structbvc__fsm__priv}\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ gprs\+\_\+ns2\+\_\+inst} $\ast$ \textbf{ nsi}
\item 
uint16\+\_\+t \textbf{ nsei}
\item 
uint16\+\_\+t \textbf{ max\+\_\+pdu\+\_\+len}
\item 
uint16\+\_\+t \textbf{ bvci}
\item 
bool \textbf{ role\+\_\+sgsn}
\item 
bool \textbf{ locally\+\_\+blocked}
\item 
uint8\+\_\+t \textbf{ block\+\_\+cause}
\item 
uint8\+\_\+t \textbf{ last\+\_\+reset\+\_\+cause}
\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>uint32\_t \textbf{ advertised}\\
\>uint32\_t \textbf{ received}\\
\>uint32\_t \textbf{ negotiated}\\
\>enum \textbf{ bssgp\_fc\_granularity} \textbf{ fc\_granularity}\\
\} \textbf{ features}\\

\end{tabbing}\item 
struct \textbf{ gprs\+\_\+ra\+\_\+id} \textbf{ ra\+\_\+id}
\item 
uint16\+\_\+t \textbf{ cell\+\_\+id}
\item 
const struct \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+ops} $\ast$ \textbf{ ops}
\item 
void $\ast$ \textbf{ ops\+\_\+priv}
\end{DoxyCompactItemize}


\doxysubsection{Field Documentation}
\mbox{\label{structbvc__fsm__priv_a5a63d366015801054f7ca4926e6afaaf}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!advertised@{advertised}}
\index{advertised@{advertised}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{advertised}
{\footnotesize\ttfamily uint32\+\_\+t bvc\+\_\+fsm\+\_\+priv\+::advertised}



Referenced by \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset()}, \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset\+\_\+ack()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+alloc\+\_\+sig\+\_\+bss()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+alloc\+\_\+sig\+\_\+sgsn()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+get\+\_\+features\+\_\+advertised()}, and \textbf{ update\+\_\+negotiated\+\_\+features()}.

\mbox{\label{structbvc__fsm__priv_ad8826b675ed8ba384d548dead4775334}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!block\_cause@{block\_cause}}
\index{block\_cause@{block\_cause}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{block\_cause}
{\footnotesize\ttfamily uint8\+\_\+t bvc\+\_\+fsm\+\_\+priv\+::block\+\_\+cause}



Referenced by \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+get\+\_\+block\+\_\+cause()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+timer\+\_\+cb()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}.

\mbox{\label{structbvc__fsm__priv_ae0f435a5068e194dd6085add23f1bc62}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!bvci@{bvci}}
\index{bvci@{bvci}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{bvci}
{\footnotesize\ttfamily uint16\+\_\+t bvc\+\_\+fsm\+\_\+priv\+::bvci}



Referenced by \textbf{ \+\_\+bvc\+\_\+fsm\+\_\+alloc()}, \textbf{ \+\_\+onenter\+\_\+tail()}, \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset()}, \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset\+\_\+ack()}, \textbf{ \+\_\+tx\+\_\+status()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+allstate()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+blocked()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+blocked\+\_\+onenter()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+timer\+\_\+cb()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}, and \textbf{ fi\+\_\+tx\+\_\+ptp()}.

\mbox{\label{structbvc__fsm__priv_a9d4db8c06565211414d0c34ad33613c1}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!cell\_id@{cell\_id}}
\index{cell\_id@{cell\_id}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{cell\_id}
{\footnotesize\ttfamily uint16\+\_\+t bvc\+\_\+fsm\+\_\+priv\+::cell\+\_\+id}



Referenced by \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset()}, \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset\+\_\+ack()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+alloc\+\_\+ptp\+\_\+bss()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+allstate()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}.

\mbox{\label{structbvc__fsm__priv_a12c448a36ab08ac848337532d19d3796}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!fc\_granularity@{fc\_granularity}}
\index{fc\_granularity@{fc\_granularity}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{fc\_granularity}
{\footnotesize\ttfamily enum \textbf{ bssgp\+\_\+fc\+\_\+granularity} bvc\+\_\+fsm\+\_\+priv\+::fc\+\_\+granularity}



Referenced by \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}.

\mbox{\label{structbvc__fsm__priv_a89d5559ddd6f6a6b72fa6bff1f2e6d6c}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!features@{features}}
\index{features@{features}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  bvc\+\_\+fsm\+\_\+priv\+::features}



Referenced by \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset()}, \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset\+\_\+ack()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+alloc\+\_\+sig\+\_\+bss()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+alloc\+\_\+sig\+\_\+sgsn()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+get\+\_\+features\+\_\+advertised()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+get\+\_\+features\+\_\+negotiated()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+get\+\_\+features\+\_\+received()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}, and \textbf{ update\+\_\+negotiated\+\_\+features()}.

\mbox{\label{structbvc__fsm__priv_a684a2e9de21e600372431303c2755ceb}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!last\_reset\_cause@{last\_reset\_cause}}
\index{last\_reset\_cause@{last\_reset\_cause}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{last\_reset\_cause}
{\footnotesize\ttfamily uint8\+\_\+t bvc\+\_\+fsm\+\_\+priv\+::last\+\_\+reset\+\_\+cause}



Referenced by \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+allstate()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+timer\+\_\+cb()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}.

\mbox{\label{structbvc__fsm__priv_a1d62b91d6d6244c452376a159dfa9428}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!locally\_blocked@{locally\_blocked}}
\index{locally\_blocked@{locally\_blocked}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{locally\_blocked}
{\footnotesize\ttfamily bool bvc\+\_\+fsm\+\_\+priv\+::locally\+\_\+blocked}



Referenced by \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+allstate()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+blocked()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}.

\mbox{\label{structbvc__fsm__priv_a41c7588c7f964d77fe731ce4b4bd1902}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!max\_pdu\_len@{max\_pdu\_len}}
\index{max\_pdu\_len@{max\_pdu\_len}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{max\_pdu\_len}
{\footnotesize\ttfamily uint16\+\_\+t bvc\+\_\+fsm\+\_\+priv\+::max\+\_\+pdu\+\_\+len}



Referenced by \textbf{ \+\_\+bvc\+\_\+fsm\+\_\+alloc()}, \textbf{ \+\_\+tx\+\_\+status()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+get\+\_\+max\+\_\+pdu\+\_\+len()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+set\+\_\+max\+\_\+pdu\+\_\+len()}.

\mbox{\label{structbvc__fsm__priv_a241b8475726785beb987994b3931ba01}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!negotiated@{negotiated}}
\index{negotiated@{negotiated}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{negotiated}
{\footnotesize\ttfamily uint32\+\_\+t bvc\+\_\+fsm\+\_\+priv\+::negotiated}



Referenced by \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+get\+\_\+features\+\_\+negotiated()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}, and \textbf{ update\+\_\+negotiated\+\_\+features()}.

\mbox{\label{structbvc__fsm__priv_a0a25470e78215cb302df4925b4f93497}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!nsei@{nsei}}
\index{nsei@{nsei}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{nsei}
{\footnotesize\ttfamily uint16\+\_\+t bvc\+\_\+fsm\+\_\+priv\+::nsei}



Referenced by \textbf{ \+\_\+bvc\+\_\+fsm\+\_\+alloc()}, \textbf{ \+\_\+onenter\+\_\+tail()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+allstate()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}, \textbf{ fi\+\_\+tx\+\_\+ptp()}, and \textbf{ fi\+\_\+tx\+\_\+sig()}.

\mbox{\label{structbvc__fsm__priv_a99c307563a7e5bb657df6e41909d998a}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!nsi@{nsi}}
\index{nsi@{nsi}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{nsi}
{\footnotesize\ttfamily struct \textbf{ gprs\+\_\+ns2\+\_\+inst}$\ast$ bvc\+\_\+fsm\+\_\+priv\+::nsi}



Referenced by \textbf{ \+\_\+bvc\+\_\+fsm\+\_\+alloc()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+alloc\+\_\+ptp\+\_\+bss()}, \textbf{ fi\+\_\+tx\+\_\+ptp()}, and \textbf{ fi\+\_\+tx\+\_\+sig()}.

\mbox{\label{structbvc__fsm__priv_a7abd931c115dc1eb1e47277dc82e66b5}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!ops@{ops}}
\index{ops@{ops}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{ops}
{\footnotesize\ttfamily const struct \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+ops}$\ast$ bvc\+\_\+fsm\+\_\+priv\+::ops}



Referenced by \textbf{ \+\_\+onenter\+\_\+tail()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+allstate()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+set\+\_\+ops()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}.

\mbox{\label{structbvc__fsm__priv_a9fcc8d245f4cc8a23bcdb3157598b3a5}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!ops\_priv@{ops\_priv}}
\index{ops\_priv@{ops\_priv}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{ops\_priv}
{\footnotesize\ttfamily void$\ast$ bvc\+\_\+fsm\+\_\+priv\+::ops\+\_\+priv}



Referenced by \textbf{ \+\_\+onenter\+\_\+tail()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+allstate()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+set\+\_\+ops()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}.

\mbox{\label{structbvc__fsm__priv_a0a9295531fc4b8db017bf4c66e4a0f1b}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!ra\_id@{ra\_id}}
\index{ra\_id@{ra\_id}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{ra\_id}
{\footnotesize\ttfamily struct \textbf{ gprs\+\_\+ra\+\_\+id} bvc\+\_\+fsm\+\_\+priv\+::ra\+\_\+id}



Referenced by \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset()}, \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset\+\_\+ack()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+alloc\+\_\+ptp\+\_\+bss()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+allstate()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}.

\mbox{\label{structbvc__fsm__priv_a0c6f9955e125993237bcb3c04dd914b1}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!received@{received}}
\index{received@{received}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{received}
{\footnotesize\ttfamily uint32\+\_\+t bvc\+\_\+fsm\+\_\+priv\+::received}



Referenced by \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+get\+\_\+features\+\_\+received()}, and \textbf{ update\+\_\+negotiated\+\_\+features()}.

\mbox{\label{structbvc__fsm__priv_a62872e56575d0acfdea7720f3c287c5f}} 
\index{bvc\_fsm\_priv@{bvc\_fsm\_priv}!role\_sgsn@{role\_sgsn}}
\index{role\_sgsn@{role\_sgsn}!bvc\_fsm\_priv@{bvc\_fsm\_priv}}
\doxysubsubsection{role\_sgsn}
{\footnotesize\ttfamily bool bvc\+\_\+fsm\+\_\+priv\+::role\+\_\+sgsn}



Referenced by \textbf{ \+\_\+bvc\+\_\+fsm\+\_\+alloc()}, \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset()}, \textbf{ \+\_\+tx\+\_\+bvc\+\_\+reset\+\_\+ack()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+allstate()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+blocked()}, \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+wait\+\_\+reset\+\_\+ack()}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/gb/\textbf{ bssgp\+\_\+bvc\+\_\+fsm.\+c}\end{DoxyCompactItemize}
