\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`\"{}ss7\+\_\+as.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}ss7\+\_\+asp.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}ss7\+\_\+internal.\+h\char`\"{}}\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()}.