\doxysection{osmo\+\_\+fsm\+\_\+state Struct Reference}
\label{structosmo__fsm__state}\index{osmo\_fsm\_state@{osmo\_fsm\_state}}


description of a rule in the FSM  




{\ttfamily \#include $<$fsm.\+h$>$}

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
uint32\+\_\+t \textbf{ in\+\_\+event\+\_\+mask}
\begin{DoxyCompactList}\small\item\em bit-\/mask of permitted input events for this state \end{DoxyCompactList}\item 
uint32\+\_\+t \textbf{ out\+\_\+state\+\_\+mask}
\begin{DoxyCompactList}\small\item\em bit-\/mask to which other states this state may transiton \end{DoxyCompactList}\item 
const char $\ast$ \textbf{ name}
\begin{DoxyCompactList}\small\item\em human-\/readable name of this state \end{DoxyCompactList}\item 
void($\ast$ \textbf{ action} )(struct \textbf{ osmo\+\_\+fsm\+\_\+inst} $\ast$fi, uint32\+\_\+t \textbf{ event}, void $\ast$\textbf{ data})
\begin{DoxyCompactList}\small\item\em function to be called for events arriving in this state \end{DoxyCompactList}\item 
void($\ast$ \textbf{ onenter} )(struct \textbf{ osmo\+\_\+fsm\+\_\+inst} $\ast$fi, uint32\+\_\+t prev\+\_\+state)
\begin{DoxyCompactList}\small\item\em function to be called just after entering the state \end{DoxyCompactList}\item 
void($\ast$ \textbf{ onleave} )(struct \textbf{ osmo\+\_\+fsm\+\_\+inst} $\ast$fi, uint32\+\_\+t next\+\_\+state)
\begin{DoxyCompactList}\small\item\em function to be called just before leaving the state \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
description of a rule in the FSM 

\doxysubsection{Field Documentation}
\mbox{\label{structosmo__fsm__state_aa7d3a336d4e6c8dc4432b55e0f748b24}} 
\index{osmo\_fsm\_state@{osmo\_fsm\_state}!action@{action}}
\index{action@{action}!osmo\_fsm\_state@{osmo\_fsm\_state}}
\doxysubsubsection{action}
{\footnotesize\ttfamily void($\ast$ osmo\+\_\+fsm\+\_\+state\+::action) (struct \textbf{ osmo\+\_\+fsm\+\_\+inst} $\ast$fi, uint32\+\_\+t \textbf{ event}, void $\ast$\textbf{ data})}



function to be called for events arriving in this state 



Referenced by \textbf{ \+\_\+osmo\+\_\+fsm\+\_\+inst\+\_\+dispatch()}.

\mbox{\label{structosmo__fsm__state_a7fbe64b27d00983d03ec97e8c071485e}} 
\index{osmo\_fsm\_state@{osmo\_fsm\_state}!in\_event\_mask@{in\_event\_mask}}
\index{in\_event\_mask@{in\_event\_mask}!osmo\_fsm\_state@{osmo\_fsm\_state}}
\doxysubsubsection{in\_event\_mask}
{\footnotesize\ttfamily uint32\+\_\+t osmo\+\_\+fsm\+\_\+state\+::in\+\_\+event\+\_\+mask}



bit-\/mask of permitted input events for this state 



Referenced by \textbf{ \+\_\+osmo\+\_\+fsm\+\_\+inst\+\_\+dispatch()}.

\mbox{\label{structosmo__fsm__state_a33fc6f9c48f451ca2597012298484a13}} 
\index{osmo\_fsm\_state@{osmo\_fsm\_state}!name@{name}}
\index{name@{name}!osmo\_fsm\_state@{osmo\_fsm\_state}}
\doxysubsubsection{name}
{\footnotesize\ttfamily const char$\ast$ osmo\+\_\+fsm\+\_\+state\+::name}



human-\/readable name of this state 



Referenced by \textbf{ osmo\+\_\+fsm\+\_\+state\+\_\+name()}.

\mbox{\label{structosmo__fsm__state_a0909d985327751cb328f6f4bd81f1f94}} 
\index{osmo\_fsm\_state@{osmo\_fsm\_state}!onenter@{onenter}}
\index{onenter@{onenter}!osmo\_fsm\_state@{osmo\_fsm\_state}}
\doxysubsubsection{onenter}
{\footnotesize\ttfamily void($\ast$ osmo\+\_\+fsm\+\_\+state\+::onenter) (struct \textbf{ osmo\+\_\+fsm\+\_\+inst} $\ast$fi, uint32\+\_\+t prev\+\_\+state)}



function to be called just after entering the state 



Referenced by \textbf{ state\+\_\+chg()}.

\mbox{\label{structosmo__fsm__state_addc7dbe5636767155a6bb4e1842e271e}} 
\index{osmo\_fsm\_state@{osmo\_fsm\_state}!onleave@{onleave}}
\index{onleave@{onleave}!osmo\_fsm\_state@{osmo\_fsm\_state}}
\doxysubsubsection{onleave}
{\footnotesize\ttfamily void($\ast$ osmo\+\_\+fsm\+\_\+state\+::onleave) (struct \textbf{ osmo\+\_\+fsm\+\_\+inst} $\ast$fi, uint32\+\_\+t next\+\_\+state)}



function to be called just before leaving the state 



Referenced by \textbf{ state\+\_\+chg()}.

\mbox{\label{structosmo__fsm__state_a337245a1dbd105a35c350ca49e3c563c}} 
\index{osmo\_fsm\_state@{osmo\_fsm\_state}!out\_state\_mask@{out\_state\_mask}}
\index{out\_state\_mask@{out\_state\_mask}!osmo\_fsm\_state@{osmo\_fsm\_state}}
\doxysubsubsection{out\_state\_mask}
{\footnotesize\ttfamily uint32\+\_\+t osmo\+\_\+fsm\+\_\+state\+::out\+\_\+state\+\_\+mask}



bit-\/mask to which other states this state may transiton 



Referenced by \textbf{ state\+\_\+chg()}.



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