\doxysection{src/xua\+\_\+as\+\_\+fsm.h File Reference}
\label{xua__as__fsm_8h}\index{src/xua\_as\_fsm.h@{src/xua\_as\_fsm.h}}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ xua\+\_\+as\+\_\+event\+\_\+asp\+\_\+inactive\+\_\+ind\+\_\+pars}
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ xua\+\_\+as\+\_\+state} \{ \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+DOWN}
, \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+INACTIVE}
, \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+ACTIVE}
, \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+PENDING}
 \}
\item 
enum \textbf{ xua\+\_\+as\+\_\+event} \{ \newline
\textbf{ XUA\+\_\+\+ASPAS\+\_\+\+ASP\+\_\+\+INACTIVE\+\_\+\+IND}
, \textbf{ XUA\+\_\+\+ASPAS\+\_\+\+ASP\+\_\+\+DOWN\+\_\+\+IND}
, \textbf{ XUA\+\_\+\+ASPAS\+\_\+\+ASP\+\_\+\+ACTIVE\+\_\+\+IND}
, \textbf{ XUA\+\_\+\+AS\+\_\+\+E\+\_\+\+RECOVERY\+\_\+\+EXPD}
, \newline
\textbf{ XUA\+\_\+\+AS\+\_\+\+E\+\_\+\+TRANSFER\+\_\+\+REQ}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
struct osmo\+\_\+fsm\+\_\+inst $\ast$ \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+start} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, int log\+\_\+level)
\begin{DoxyCompactList}\small\item\em Start an AS FSM for a given Application Server. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
struct osmo\+\_\+fsm \textbf{ xua\+\_\+as\+\_\+fsm}
\end{DoxyCompactItemize}


\doxysubsection{Enumeration Type Documentation}
\mbox{\label{xua__as__fsm_8h_a37b200aa56330cb91b6dd148e456fca8}} 
\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!xua\_as\_event@{xua\_as\_event}}
\index{xua\_as\_event@{xua\_as\_event}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}
\doxysubsubsection{xua\_as\_event}
{\footnotesize\ttfamily enum \textbf{ xua\+\_\+as\+\_\+event}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{XUA\_ASPAS\_ASP\_INACTIVE\_IND@{XUA\_ASPAS\_ASP\_INACTIVE\_IND}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!XUA\_ASPAS\_ASP\_INACTIVE\_IND@{XUA\_ASPAS\_ASP\_INACTIVE\_IND}}}\mbox{\label{xua__as__fsm_8h_a37b200aa56330cb91b6dd148e456fca8a68d224fdfa6727361d434006fe028b55}} 
XUA\+\_\+\+ASPAS\+\_\+\+ASP\+\_\+\+INACTIVE\+\_\+\+IND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{XUA\_ASPAS\_ASP\_DOWN\_IND@{XUA\_ASPAS\_ASP\_DOWN\_IND}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!XUA\_ASPAS\_ASP\_DOWN\_IND@{XUA\_ASPAS\_ASP\_DOWN\_IND}}}\mbox{\label{xua__as__fsm_8h_a37b200aa56330cb91b6dd148e456fca8a1bb7b199a202737dd8ac6debac0c2963}} 
XUA\+\_\+\+ASPAS\+\_\+\+ASP\+\_\+\+DOWN\+\_\+\+IND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{XUA\_ASPAS\_ASP\_ACTIVE\_IND@{XUA\_ASPAS\_ASP\_ACTIVE\_IND}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!XUA\_ASPAS\_ASP\_ACTIVE\_IND@{XUA\_ASPAS\_ASP\_ACTIVE\_IND}}}\mbox{\label{xua__as__fsm_8h_a37b200aa56330cb91b6dd148e456fca8a25451f0ebbc5a17fb84cca10e1a5c1ee}} 
XUA\+\_\+\+ASPAS\+\_\+\+ASP\+\_\+\+ACTIVE\+\_\+\+IND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{XUA\_AS\_E\_RECOVERY\_EXPD@{XUA\_AS\_E\_RECOVERY\_EXPD}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!XUA\_AS\_E\_RECOVERY\_EXPD@{XUA\_AS\_E\_RECOVERY\_EXPD}}}\mbox{\label{xua__as__fsm_8h_a37b200aa56330cb91b6dd148e456fca8a8651e5c3d2f14a88b43c4fdbb9fd6769}} 
XUA\+\_\+\+AS\+\_\+\+E\+\_\+\+RECOVERY\+\_\+\+EXPD&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{XUA\_AS\_E\_TRANSFER\_REQ@{XUA\_AS\_E\_TRANSFER\_REQ}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!XUA\_AS\_E\_TRANSFER\_REQ@{XUA\_AS\_E\_TRANSFER\_REQ}}}\mbox{\label{xua__as__fsm_8h_a37b200aa56330cb91b6dd148e456fca8a4e1995184ecd7cab6a8e0fadab60573c}} 
XUA\+\_\+\+AS\+\_\+\+E\+\_\+\+TRANSFER\+\_\+\+REQ&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{xua__as__fsm_8h_a854081d4349500d7ae3f99f3af993a94}} 
\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!xua\_as\_state@{xua\_as\_state}}
\index{xua\_as\_state@{xua\_as\_state}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}
\doxysubsubsection{xua\_as\_state}
{\footnotesize\ttfamily enum \textbf{ xua\+\_\+as\+\_\+state}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{XUA\_AS\_S\_DOWN@{XUA\_AS\_S\_DOWN}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!XUA\_AS\_S\_DOWN@{XUA\_AS\_S\_DOWN}}}\mbox{\label{xua__as__fsm_8h_a854081d4349500d7ae3f99f3af993a94a20681282d5d6cf4e443f9b7b202ce1a1}} 
XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+DOWN&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{XUA\_AS\_S\_INACTIVE@{XUA\_AS\_S\_INACTIVE}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!XUA\_AS\_S\_INACTIVE@{XUA\_AS\_S\_INACTIVE}}}\mbox{\label{xua__as__fsm_8h_a854081d4349500d7ae3f99f3af993a94a8705a4d8d2e109b36b27c53b434d56a8}} 
XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+INACTIVE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{XUA\_AS\_S\_ACTIVE@{XUA\_AS\_S\_ACTIVE}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!XUA\_AS\_S\_ACTIVE@{XUA\_AS\_S\_ACTIVE}}}\mbox{\label{xua__as__fsm_8h_a854081d4349500d7ae3f99f3af993a94a7ac644f0ec1e50f27f17a729b0ab1204}} 
XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+ACTIVE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{XUA\_AS\_S\_PENDING@{XUA\_AS\_S\_PENDING}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!XUA\_AS\_S\_PENDING@{XUA\_AS\_S\_PENDING}}}\mbox{\label{xua__as__fsm_8h_a854081d4349500d7ae3f99f3af993a94ab5f0e7b3fe6af10bc87685417a98fd5c}} 
XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+PENDING&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\label{xua__as__fsm_8h_a698eae7c397ecc5ced8f4d9b7410387b}} 
\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!xua\_as\_fsm\_start@{xua\_as\_fsm\_start}}
\index{xua\_as\_fsm\_start@{xua\_as\_fsm\_start}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}
\doxysubsubsection{xua\_as\_fsm\_start()}
{\footnotesize\ttfamily struct osmo\+\_\+fsm\+\_\+inst $\ast$ xua\+\_\+as\+\_\+fsm\+\_\+start (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{int}]{log\+\_\+level }\end{DoxyParamCaption})}



Start an AS FSM for a given Application Server. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em as} & Application Server for which to start the AS FSM \\
\hline
\mbox{\texttt{ in}}  & {\em log\+\_\+level} & Logging level for logging of this FSM \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
FSM instance in case of success; NULL in case of error 
\end{DoxyReturn}


References \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+priv\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ NULL}, \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+priv\+::queued\+\_\+xua\+\_\+msgs}, \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+priv\+::recovery}, \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+priv\+::t\+\_\+r}, \textbf{ t\+\_\+r\+\_\+callback()}, and \textbf{ xua\+\_\+as\+\_\+fsm}.



Referenced by \textbf{ ss7\+\_\+as\+\_\+alloc()}.



\doxysubsection{Variable Documentation}
\mbox{\label{xua__as__fsm_8h_a4dda03cd65066f53f8b4b31af8fb24b6}} 
\index{xua\_as\_fsm.h@{xua\_as\_fsm.h}!xua\_as\_fsm@{xua\_as\_fsm}}
\index{xua\_as\_fsm@{xua\_as\_fsm}!xua\_as\_fsm.h@{xua\_as\_fsm.h}}
\doxysubsubsection{xua\_as\_fsm}
{\footnotesize\ttfamily struct osmo\+\_\+fsm xua\+\_\+as\+\_\+fsm\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+init()}, and \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+start()}.

