\doxysection{src/xua\+\_\+snm.c File Reference}
\label{xua__snm_8c}\index{src/xua\_snm.c@{src/xua\_snm.c}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/talloc.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/m3ua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/mtp.\+h$>$}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+internal.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (\textbf{ M3\+UA\+\_\+\+SNM\+\_\+\+DUNA}==\textbf{ SUA\+\_\+\+SNM\+\_\+\+DUNA}, \+\_\+sa\+\_\+duna)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (\textbf{ M3\+UA\+\_\+\+SNM\+\_\+\+DAVA}==\textbf{ SUA\+\_\+\+SNM\+\_\+\+DAVA}, \+\_\+sa\+\_\+dava)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (\textbf{ M3\+UA\+\_\+\+SNM\+\_\+\+DAUD}==\textbf{ SUA\+\_\+\+SNM\+\_\+\+DAUD}, \+\_\+sa\+\_\+dava)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (\textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}==\textbf{ SUA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \+\_\+sa\+\_\+aff\+\_\+pc)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (\textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}==\textbf{ SUA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}, \+\_\+sa\+\_\+rctx)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (\textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}==\textbf{ SUA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \+\_\+sa\+\_\+inf\+\_\+str)
\item 
static const char $\ast$ \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c} (void $\ast$ctx, const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$s7i, const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$ie\+\_\+aff\+\_\+pc)
\item 
static unsigned int \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp} (uint32\+\_\+t $\ast$rctx, unsigned int rctx\+\_\+size, struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$excl\+\_\+as)
\item 
static void \textbf{ xua\+\_\+tx\+\_\+snm\+\_\+available} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const uint32\+\_\+t $\ast$rctx, unsigned int num\+\_\+rctx, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, const char $\ast$info\+\_\+str, bool available)
\item 
static void \textbf{ xua\+\_\+tx\+\_\+upu} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const uint32\+\_\+t $\ast$rctx, unsigned int num\+\_\+rctx, uint32\+\_\+t \textbf{ dpc}, uint16\+\_\+t user, uint16\+\_\+t cause, const char $\ast$info\+\_\+str)
\item 
static void \textbf{ xua\+\_\+tx\+\_\+scon} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const uint32\+\_\+t $\ast$rctx, unsigned int num\+\_\+rctx, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, const uint32\+\_\+t $\ast$concerned\+\_\+dpc, const uint8\+\_\+t $\ast$cong\+\_\+level, const char $\ast$info\+\_\+string)
\item 
static void \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available\+\_\+to\+\_\+sccp} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$sccp, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, bool available)
\item 
void \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, const char $\ast$info\+\_\+str, bool available)
\item 
static void \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available\+\_\+to\+\_\+sccp} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$sccp, uint32\+\_\+t aff\+\_\+pc, uint32\+\_\+t aff\+\_\+ssn, uint32\+\_\+t \textbf{ smi}, bool available)
\item 
static void \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, uint32\+\_\+t aff\+\_\+pc, uint32\+\_\+t aff\+\_\+ssn, const uint32\+\_\+t $\ast$\textbf{ smi}, const char $\ast$info\+\_\+str, bool available)
\item 
static void \textbf{ xua\+\_\+snm\+\_\+upu} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, uint32\+\_\+t \textbf{ dpc}, uint16\+\_\+t user, uint16\+\_\+t cause, const char $\ast$info\+\_\+str)
\item 
static void \textbf{ xua\+\_\+snm\+\_\+scon} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, const uint32\+\_\+t $\ast$concerned\+\_\+dpc, const uint8\+\_\+t $\ast$cong\+\_\+level, const char $\ast$info\+\_\+string)
\item 
void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\label{xua__snm_8c_a668451879459fb8229cf3f66da64ef5e}} 
\index{xua\_snm.c@{xua\_snm.c}!format\_affected\_pcs\_c@{format\_affected\_pcs\_c}}
\index{format\_affected\_pcs\_c@{format\_affected\_pcs\_c}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{format\_affected\_pcs\_c()}
{\footnotesize\ttfamily static const char $\ast$ format\+\_\+affected\+\_\+pcs\+\_\+c (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{s7i,  }\item[{const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$}]{ie\+\_\+aff\+\_\+pc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon()}.

\mbox{\label{xua__snm_8c_ab5411ae2b38a8b73eef58353e3d81c70}} 
\index{xua\_snm.c@{xua\_snm.c}!get\_all\_rctx\_for\_asp@{get\_all\_rctx\_for\_asp}}
\index{get\_all\_rctx\_for\_asp@{get\_all\_rctx\_for\_asp}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{get\_all\_rctx\_for\_asp()}
{\footnotesize\ttfamily static unsigned int get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp (\begin{DoxyParamCaption}\item[{uint32\+\_\+t $\ast$}]{rctx,  }\item[{unsigned int}]{rctx\+\_\+size,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{excl\+\_\+as }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::context}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}.



Referenced by \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}, \textbf{ xua\+\_\+snm\+\_\+scon()}, and \textbf{ xua\+\_\+snm\+\_\+upu()}.

\mbox{\label{xua__snm_8c_ad4d69ecded4b8958f2ff085cfbb93d4c}} 
\index{xua\_snm.c@{xua\_snm.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{\textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}}]{ = {\ttfamily =\textbf{ SUA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}},  }\item[{\+\_\+sa\+\_\+aff\+\_\+pc}]{ }\end{DoxyParamCaption})}

\mbox{\label{xua__snm_8c_a111957f5ac69350453e964d8c86bdbaa}} 
\index{xua\_snm.c@{xua\_snm.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{\textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}}]{ = {\ttfamily =\textbf{ SUA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}},  }\item[{\+\_\+sa\+\_\+inf\+\_\+str}]{ }\end{DoxyParamCaption})}

\mbox{\label{xua__snm_8c_a6da885eeb8d723e852482e40e233c84b}} 
\index{xua\_snm.c@{xua\_snm.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{\textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}}]{ = {\ttfamily =\textbf{ SUA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}},  }\item[{\+\_\+sa\+\_\+rctx}]{ }\end{DoxyParamCaption})}

\mbox{\label{xua__snm_8c_a88caacec93c80552a704438f39be4ce8}} 
\index{xua\_snm.c@{xua\_snm.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{\textbf{ M3\+UA\+\_\+\+SNM\+\_\+\+DAUD}}]{ = {\ttfamily =\textbf{ SUA\+\_\+\+SNM\+\_\+\+DAUD}},  }\item[{\+\_\+sa\+\_\+dava}]{ }\end{DoxyParamCaption})}

\mbox{\label{xua__snm_8c_aa978f8897932c6b00e5adc2cc3f04375}} 
\index{xua\_snm.c@{xua\_snm.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{\textbf{ M3\+UA\+\_\+\+SNM\+\_\+\+DAVA}}]{ = {\ttfamily =\textbf{ SUA\+\_\+\+SNM\+\_\+\+DAVA}},  }\item[{\+\_\+sa\+\_\+dava}]{ }\end{DoxyParamCaption})}

\mbox{\label{xua__snm_8c_a2aa91497e14ee3bf0711ea970deebcd9}} 
\index{xua\_snm.c@{xua\_snm.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{osmo\_static\_assert()\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{\textbf{ M3\+UA\+\_\+\+SNM\+\_\+\+DUNA}}]{ = {\ttfamily =\textbf{ SUA\+\_\+\+SNM\+\_\+\+DUNA}},  }\item[{\+\_\+sa\+\_\+duna}]{ }\end{DoxyParamCaption})}

\mbox{\label{xua__snm_8c_a5ed4e065ea88037e89210a826fbe211e}} 
\index{xua\_snm.c@{xua\_snm.c}!sua\_snm\_ssn\_available@{sua\_snm\_ssn\_available}}
\index{sua\_snm\_ssn\_available@{sua\_snm\_ssn\_available}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{sua\_snm\_ssn\_available()}
{\footnotesize\ttfamily static void sua\+\_\+snm\+\_\+ssn\+\_\+available (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{uint32\+\_\+t}]{aff\+\_\+pc,  }\item[{uint32\+\_\+t}]{aff\+\_\+ssn,  }\item[{const uint32\+\_\+t $\ast$}]{smi,  }\item[{const char $\ast$}]{info\+\_\+str,  }\item[{bool}]{available }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+active()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ smi}, \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available\+\_\+to\+\_\+sccp()}, and \textbf{ sua\+\_\+tx\+\_\+snm\+\_\+available()}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}.

\mbox{\label{xua__snm_8c_a43f060b585c3bcf5bf2fb1ce00f0d5c2}} 
\index{xua\_snm.c@{xua\_snm.c}!sua\_snm\_ssn\_available\_to\_sccp@{sua\_snm\_ssn\_available\_to\_sccp}}
\index{sua\_snm\_ssn\_available\_to\_sccp@{sua\_snm\_ssn\_available\_to\_sccp}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{sua\_snm\_ssn\_available\_to\_sccp()}
{\footnotesize\ttfamily static void sua\+\_\+snm\+\_\+ssn\+\_\+available\+\_\+to\+\_\+sccp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{sccp,  }\item[{uint32\+\_\+t}]{aff\+\_\+pc,  }\item[{uint32\+\_\+t}]{aff\+\_\+ssn,  }\item[{uint32\+\_\+t}]{smi,  }\item[{bool}]{available }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed()}, \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited()}, and \textbf{ smi}.



Referenced by \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}.

\mbox{\label{xua__snm_8c_ab0a13bea02506a7c10cbc09eb5365cf0}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_snm\_pc\_available@{xua\_snm\_pc\_available}}
\index{xua\_snm\_pc\_available@{xua\_snm\_pc\_available}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_snm\_pc\_available()}
{\footnotesize\ttfamily void xua\+\_\+snm\+\_\+pc\+\_\+available (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc,  }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc,  }\item[{const char $\ast$}]{info\+\_\+str,  }\item[{bool}]{available }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+active()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available\+\_\+to\+\_\+sccp()}, and \textbf{ xua\+\_\+tx\+\_\+snm\+\_\+available()}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}.

\mbox{\label{xua__snm_8c_aaa313eeda58ad7b0183bafa6d7351419}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_snm\_pc\_available\_to\_sccp@{xua\_snm\_pc\_available\_to\_sccp}}
\index{xua\_snm\_pc\_available\_to\_sccp@{xua\_snm\_pc\_available\_to\_sccp}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_snm\_pc\_available\_to\_sccp()}
{\footnotesize\ttfamily static void xua\+\_\+snm\+\_\+pc\+\_\+available\+\_\+to\+\_\+sccp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{sccp,  }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc,  }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc,  }\item[{bool}]{available }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause()}, and \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume()}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}.

\mbox{\label{xua__snm_8c_af0a8709b1ca21e41a1c9d0d89fa5f041}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_snm\_rx\_daud@{xua\_snm\_rx\_daud}}
\index{xua\_snm\_rx\_daud@{xua\_snm\_rx\_daud}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_snm\_rx\_daud()}
{\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+daud (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})}



References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, and \textbf{ xua\+\_\+tx\+\_\+snm\+\_\+available()}.



Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+sg()}, \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}, and \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+sg()}.

\mbox{\label{xua__snm_8c_a4c96597e36bad63b9f666ca630fb7881}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_snm\_rx\_dava@{xua\_snm\_rx\_dava}}
\index{xua\_snm\_rx\_dava@{xua\_snm\_rx\_dava}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_snm\_rx\_dava()}
{\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+dava (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ smi}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SMI}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SSN}, \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p()}, \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}, and \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}.



Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, and \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}.

\mbox{\label{xua__snm_8c_aea11cd352ca23f5fcb6a07d00deff86b}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_snm\_rx\_duna@{xua\_snm\_rx\_duna}}
\index{xua\_snm\_rx\_duna@{xua\_snm\_rx\_duna}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_snm\_rx\_duna()}
{\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+duna (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ smi}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SMI}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SSN}, \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p()}, \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}, and \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}.



Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, and \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}.

\mbox{\label{xua__snm_8c_a13d36aa2ddc80797a8ec03ab6cdbebe8}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_snm\_rx\_dupu@{xua\_snm\_rx\_dupu}}
\index{xua\_snm\_rx\_dupu@{xua\_snm\_rx\_dupu}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_snm\_rx\_dupu()}
{\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+dupu (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+USER\+\_\+\+CAUSE}, \textbf{ mtp\+\_\+si\+\_\+vals}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+USER\+\_\+\+CAUSE}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32()}, and \textbf{ xua\+\_\+snm\+\_\+upu()}.



Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, and \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}.

\mbox{\label{xua__snm_8c_a0de81b0e4a0baa2f6eeca78ec84fc506}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_snm\_rx\_scon@{xua\_snm\_rx\_scon}}
\index{xua\_snm\_rx\_scon@{xua\_snm\_rx\_scon}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_snm\_rx\_scon()}
{\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+scon (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})}



References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+CONC\+\_\+\+DEST}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+CONG\+\_\+\+IND}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p()}, and \textbf{ xua\+\_\+snm\+\_\+scon()}.



Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}.

\mbox{\label{xua__snm_8c_add6b264fa09b199c57718f8715388c60}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_snm\_scon@{xua\_snm\_scon}}
\index{xua\_snm\_scon@{xua\_snm\_scon}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_snm\_scon()}
{\footnotesize\ttfamily static void xua\+\_\+snm\+\_\+scon (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc,  }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc,  }\item[{const uint32\+\_\+t $\ast$}]{concerned\+\_\+dpc,  }\item[{const uint8\+\_\+t $\ast$}]{cong\+\_\+level,  }\item[{const char $\ast$}]{info\+\_\+string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+active()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, and \textbf{ xua\+\_\+tx\+\_\+scon()}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon()}.

\mbox{\label{xua__snm_8c_a77a2cf4c3f8ccb4d07251152d647b267}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_snm\_upu@{xua\_snm\_upu}}
\index{xua\_snm\_upu@{xua\_snm\_upu}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_snm\_upu()}
{\footnotesize\ttfamily static void xua\+\_\+snm\+\_\+upu (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint16\+\_\+t}]{user,  }\item[{uint16\+\_\+t}]{cause,  }\item[{const char $\ast$}]{info\+\_\+str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ dpc}, \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ MTP\+\_\+\+SI\+\_\+\+SCCP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+active()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status()}, and \textbf{ xua\+\_\+tx\+\_\+upu()}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu()}.

\mbox{\label{xua__snm_8c_a47f13ba14d34718693d5293a1ec65a2e}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_tx\_scon@{xua\_tx\_scon}}
\index{xua\_tx\_scon@{xua\_tx\_scon}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_tx\_scon()}
{\footnotesize\ttfamily static void xua\+\_\+tx\+\_\+scon (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{const uint32\+\_\+t $\ast$}]{rctx,  }\item[{unsigned int}]{num\+\_\+rctx,  }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc,  }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc,  }\item[{const uint32\+\_\+t $\ast$}]{concerned\+\_\+dpc,  }\item[{const uint8\+\_\+t $\ast$}]{cong\+\_\+level,  }\item[{const char $\ast$}]{info\+\_\+string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ m3ua\+\_\+tx\+\_\+snm\+\_\+congestion()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, and \textbf{ sua\+\_\+tx\+\_\+snm\+\_\+congestion()}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+scon()}.

\mbox{\label{xua__snm_8c_acefced501347657d4d7646eccd6b9aed}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_tx\_snm\_available@{xua\_tx\_snm\_available}}
\index{xua\_tx\_snm\_available@{xua\_tx\_snm\_available}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_tx\_snm\_available()}
{\footnotesize\ttfamily static void xua\+\_\+tx\+\_\+snm\+\_\+available (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{const uint32\+\_\+t $\ast$}]{rctx,  }\item[{unsigned int}]{num\+\_\+rctx,  }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc,  }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc,  }\item[{const char $\ast$}]{info\+\_\+str,  }\item[{bool}]{available }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ m3ua\+\_\+tx\+\_\+snm\+\_\+available()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, and \textbf{ sua\+\_\+tx\+\_\+snm\+\_\+available()}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}.

\mbox{\label{xua__snm_8c_ac3e1876a06926afc8b89b4630fd696e2}} 
\index{xua\_snm.c@{xua\_snm.c}!xua\_tx\_upu@{xua\_tx\_upu}}
\index{xua\_tx\_upu@{xua\_tx\_upu}!xua\_snm.c@{xua\_snm.c}}
\doxysubsubsection{xua\_tx\_upu()}
{\footnotesize\ttfamily static void xua\+\_\+tx\+\_\+upu (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{const uint32\+\_\+t $\ast$}]{rctx,  }\item[{unsigned int}]{num\+\_\+rctx,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint16\+\_\+t}]{user,  }\item[{uint16\+\_\+t}]{cause,  }\item[{const char $\ast$}]{info\+\_\+str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ dpc}, \textbf{ m3ua\+\_\+tx\+\_\+dupu()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, and \textbf{ sua\+\_\+tx\+\_\+dupu()}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+upu()}.

