\doxysection{src/sccp\+\_\+scrc.c File Reference} \label{sccp__scrc_8c}\index{src/sccp\_scrc.c@{src/sccp\_scrc.c}} {\ttfamily \#include $<$stdbool.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sccp/sccp\+\_\+types.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+sap.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+helpers.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/protocol/sua.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/protocol/mtp.\+h$>$}\newline {\ttfamily \#include \char`\"{}sccp\+\_\+internal.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}ss7\+\_\+as.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}ss7\+\_\+instance.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}ss7\+\_\+linkset.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}ss7\+\_\+route.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}xua\+\_\+internal.\+h\char`\"{}}\newline \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item static bool \textbf{ sua\+\_\+is\+\_\+connectionless} (struct \textbf{ xua\+\_\+msg} $\ast$xua) \item static bool \textbf{ sua\+\_\+is\+\_\+cr} (struct \textbf{ xua\+\_\+msg} $\ast$xua) \item static bool \textbf{ dpc\+\_\+accessible} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t pc) \item static bool \textbf{ sccp\+\_\+available} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$addr) \item static int \textbf{ sua2sccp\+\_\+tx\+\_\+m3ua} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$sua) \item static int \textbf{ gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called) \item static int \textbf{ translate} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called, struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$translated) \item static int \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called) \item static int \textbf{ scrc\+\_\+node\+\_\+12} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called) \item static int \textbf{ scrc\+\_\+node\+\_\+2} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called) \item static int \textbf{ scrc\+\_\+node\+\_\+7} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called) \item static int \textbf{ scrc\+\_\+node\+\_\+4} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, uint32\+\_\+t return\+\_\+cause) \item static int \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called) \item static int \textbf{ scrc\+\_\+node\+\_\+6} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called) \item int \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item int \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item static void \textbf{ ensure\+\_\+opc\+\_\+in\+\_\+calling\+\_\+ssn} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item int \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \end{DoxyCompactItemize} \doxysubsection{Function Documentation} \mbox{\label{sccp__scrc_8c_a5d01d5e6c84311a0882e49ad38eea70d}} \index{sccp\_scrc.c@{sccp\_scrc.c}!dpc\_accessible@{dpc\_accessible}} \index{dpc\_accessible@{dpc\_accessible}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{dpc\_accessible()} {\footnotesize\ttfamily static bool dpc\+\_\+accessible (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Referenced by \textbf{ scrc\+\_\+node\+\_\+2()}. \mbox{\label{sccp__scrc_8c_a0d5f1d394590e904c60a7f6f163a0bd3}} \index{sccp\_scrc.c@{sccp\_scrc.c}!ensure\_opc\_in\_calling\_ssn@{ensure\_opc\_in\_calling\_ssn}} \index{ensure\_opc\_in\_calling\_ssn@{ensure\_opc\_in\_calling\_ssn}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{ensure\_opc\_in\_calling\_ssn()} {\footnotesize\ttfamily static void ensure\+\_\+opc\+\_\+in\+\_\+calling\+\_\+ssn (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ri}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SRC\+\_\+\+ADDR}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr()}, and \textbf{ xua\+\_\+msg\+\_\+free\+\_\+tag()}. Referenced by \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}. \mbox{\label{sccp__scrc_8c_a380d89325d9e54afdc145da6dec83494}} \index{sccp\_scrc.c@{sccp\_scrc.c}!gen\_mtp\_transfer\_req\_xua@{gen\_mtp\_transfer\_req\_xua}} \index{gen\_mtp\_transfer\_req\_xua@{gen\_mtp\_transfer\_req\_xua}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{gen\_mtp\_transfer\_req\_xua()} {\footnotesize\ttfamily static int gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+dump()}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, \textbf{ sua2sccp\+\_\+tx\+\_\+m3ua()}, and \textbf{ sua\+\_\+tx\+\_\+xua\+\_\+as()}. Referenced by \textbf{ scrc\+\_\+node\+\_\+12()}. \mbox{\label{sccp__scrc_8c_abbfd31c616112bb9f9c7cdb90f133bb2}} \index{sccp\_scrc.c@{sccp\_scrc.c}!sccp\_available@{sccp\_available}} \index{sccp\_available@{sccp\_available}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{sccp\_available()} {\footnotesize\ttfamily static bool sccp\+\_\+available (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{addr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Referenced by \textbf{ scrc\+\_\+node\+\_\+2()}. \mbox{\label{sccp__scrc_8c_a8dc48be976019be4ab89019aabcb3bbc}} \index{sccp\_scrc.c@{sccp\_scrc.c}!sccp\_scrc\_rx\_sclc\_msg@{sccp\_scrc\_rx\_sclc\_msg}} \index{sccp\_scrc\_rx\_sclc\_msg@{sccp\_scrc\_rx\_sclc\_msg}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{sccp\_scrc\_rx\_sclc\_msg()} {\footnotesize\ttfamily int sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+GT}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ri}, \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common()}, \textbf{ scrc\+\_\+node\+\_\+12()}, \textbf{ scrc\+\_\+node\+\_\+7()}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDR}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DEST\+\_\+\+ADDR}, \textbf{ xua\+\_\+dialect\+\_\+sua}, and \textbf{ xua\+\_\+msg\+\_\+dump()}. Referenced by \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, and \textbf{ xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}. \mbox{\label{sccp__scrc_8c_a15a6de5f59a65101717acc2d1597d955}} \index{sccp\_scrc.c@{sccp\_scrc.c}!sccp\_scrc\_rx\_scoc\_conn\_msg@{sccp\_scrc\_rx\_scoc\_conn\_msg}} \index{sccp\_scrc\_rx\_scoc\_conn\_msg@{sccp\_scrc\_rx\_scoc\_conn\_msg}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{sccp\_scrc\_rx\_scoc\_conn\_msg()} {\footnotesize\ttfamily int sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}, \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common()}, \textbf{ scrc\+\_\+node\+\_\+2()}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+CO\+\_\+\+CORE}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DEST\+\_\+\+ADDR}, \textbf{ xua\+\_\+dialect\+\_\+sua}, and \textbf{ xua\+\_\+msg\+\_\+dump()}. Referenced by \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ tx\+\_\+coerr\+\_\+from\+\_\+xua()}, \textbf{ tx\+\_\+relco\+\_\+from\+\_\+xua()}, \textbf{ tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway()}, \textbf{ xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}, and \textbf{ xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send()}. \mbox{\label{sccp__scrc_8c_a0835707585d940ad8f6148dfc0aa5ab6}} \index{sccp\_scrc.c@{sccp\_scrc.c}!scrc\_local\_out\_common@{scrc\_local\_out\_common}} \index{scrc\_local\_out\_common@{scrc\_local\_out\_common}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{scrc\_local\_out\_common()} {\footnotesize\ttfamily static int scrc\+\_\+local\+\_\+out\+\_\+common (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, \textbf{ scrc\+\_\+node\+\_\+12()}, \textbf{ scrc\+\_\+node\+\_\+4()}, \textbf{ scrc\+\_\+node\+\_\+6()}, \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9()}, and \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}. Referenced by \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg()}, and \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg()}. \mbox{\label{sccp__scrc_8c_a11671f4f6423431dc065740c55cd57da}} \index{sccp\_scrc.c@{sccp\_scrc.c}!scrc\_node\_12@{scrc\_node\_12}} \index{scrc\_node\_12@{scrc\_node\_12}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{scrc\_node\_12()} {\footnotesize\ttfamily static int scrc\+\_\+node\+\_\+12 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua()}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}. Referenced by \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg()}, \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common()}, \textbf{ scrc\+\_\+node\+\_\+2()}, and \textbf{ scrc\+\_\+node\+\_\+7()}. \mbox{\label{sccp__scrc_8c_a22f86d81524d915991479f85a35e9f03}} \index{sccp\_scrc.c@{sccp\_scrc.c}!scrc\_node\_2@{scrc\_node\_2}} \index{scrc\_node\_2@{scrc\_node\_2}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{scrc\_node\_2()} {\footnotesize\ttfamily static int scrc\+\_\+node\+\_\+2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ dpc\+\_\+accessible()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ sccp\+\_\+available()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, and \textbf{ scrc\+\_\+node\+\_\+12()}. Referenced by \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg()}. \mbox{\label{sccp__scrc_8c_af39d4dd94b6c39f8f58d38d8fb2aa2fc}} \index{sccp\_scrc.c@{sccp\_scrc.c}!scrc\_node\_4@{scrc\_node\_4}} \index{scrc\_node\_4@{scrc\_node\_4}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{scrc\_node\_4()} {\footnotesize\ttfamily static int scrc\+\_\+node\+\_\+4 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{uint32\+\_\+t}]{return\+\_\+cause }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, and \textbf{ sua\+\_\+is\+\_\+connectionless()}. Referenced by \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common()}, \textbf{ scrc\+\_\+node\+\_\+6()}, \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}, and \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9()}. \mbox{\label{sccp__scrc_8c_af08b87cb11a415196c1facbfba464ceb}} \index{sccp\_scrc.c@{sccp\_scrc.c}!scrc\_node\_6@{scrc\_node\_6}} \index{scrc\_node\_6@{scrc\_node\_6}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{scrc\_node\_6()} {\footnotesize\ttfamily static int scrc\+\_\+node\+\_\+6 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ sccp\+\_\+user\+\_\+find()}, \textbf{ scrc\+\_\+node\+\_\+4()}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ssn}, and \textbf{ sua\+\_\+is\+\_\+connectionless()}. Referenced by \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common()}, and \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}. \mbox{\label{sccp__scrc_8c_a070ac248c0dfa5a3de10492361c0e138}} \index{sccp\_scrc.c@{sccp\_scrc.c}!scrc\_node\_7@{scrc\_node\_7}} \index{scrc\_node\_7@{scrc\_node\_7}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{scrc\_node\_7()} {\footnotesize\ttfamily static int scrc\+\_\+node\+\_\+7 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ scrc\+\_\+node\+\_\+12()}, and \textbf{ sua\+\_\+is\+\_\+connectionless()}. Referenced by \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg()}, and \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9()}. \mbox{\label{sccp__scrc_8c_a52d608a935f14519bcf883fc7858145e}} \index{sccp\_scrc.c@{sccp\_scrc.c}!scrc\_rx\_mtp\_xfer\_ind\_xua@{scrc\_rx\_mtp\_xfer\_ind\_xua}} \index{scrc\_rx\_mtp\_xfer\_ind\_xua@{scrc\_rx\_mtp\_xfer\_ind\_xua}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{scrc\_rx\_mtp\_xfer\_ind\_xua()} {\footnotesize\ttfamily int scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ ensure\+\_\+opc\+\_\+in\+\_\+calling\+\_\+ssn()}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+GT}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ri}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ scrc\+\_\+node\+\_\+4()}, \textbf{ scrc\+\_\+node\+\_\+6()}, \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9()}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DEST\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+PROTO\+\_\+\+CLASS}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+S7\+\_\+\+HOP\+\_\+\+CTR}, \textbf{ sua\+\_\+is\+\_\+connectionless()}, \textbf{ sua\+\_\+is\+\_\+cr()}, \textbf{ xua\+\_\+dialect\+\_\+sua}, \textbf{ xua\+\_\+msg\+\_\+dump()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32()}, and \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}. Referenced by \textbf{ mtp\+\_\+user\+\_\+prim\+\_\+cb()}, \textbf{ sua\+\_\+rx\+\_\+cl()}, and \textbf{ sua\+\_\+rx\+\_\+co()}. \mbox{\label{sccp__scrc_8c_a685df4cbe1dd977b0ec71a07befb2849}} \index{sccp\_scrc.c@{sccp\_scrc.c}!scrc\_translate\_node\_9@{scrc\_translate\_node\_9}} \index{scrc\_translate\_node\_9@{scrc\_translate\_node\_9}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{scrc\_translate\_node\_9()} {\footnotesize\ttfamily static int scrc\+\_\+translate\+\_\+node\+\_\+9 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+IP}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ri}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ scrc\+\_\+node\+\_\+4()}, \textbf{ scrc\+\_\+node\+\_\+7()}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, \textbf{ sua\+\_\+is\+\_\+connectionless()}, and \textbf{ translate()}. Referenced by \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common()}, and \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}. \mbox{\label{sccp__scrc_8c_a191c01e789000adc5dd92e5420b95fdf}} \index{sccp\_scrc.c@{sccp\_scrc.c}!sua2sccp\_tx\_m3ua@{sua2sccp\_tx\_m3ua}} \index{sua2sccp\_tx\_m3ua@{sua2sccp\_tx\_m3ua}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{sua2sccp\_tx\_m3ua()} {\footnotesize\ttfamily static int sua2sccp\+\_\+tx\+\_\+m3ua (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{sua }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ MTP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ MTP\+\_\+\+SI\+\_\+\+SCCP}, \textbf{ MTP\+\_\+\+SIO}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::network\+\_\+indicator}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+MTP\+\_\+\+PRIM\+\_\+\+TRANSFER}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req()}, \textbf{ osmo\+\_\+sua\+\_\+to\+\_\+sccp()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sio}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sls}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::transfer}, and \textbf{ osmo\+\_\+mtp\+\_\+prim\+::u}. Referenced by \textbf{ gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua()}. \mbox{\label{sccp__scrc_8c_a72d8bf1f591dfbf56d014bb1e20f98df}} \index{sccp\_scrc.c@{sccp\_scrc.c}!sua\_is\_connectionless@{sua\_is\_connectionless}} \index{sua\_is\_connectionless@{sua\_is\_connectionless}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{sua\_is\_connectionless()} {\footnotesize\ttfamily static bool sua\+\_\+is\+\_\+connectionless (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, and \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CL}. Referenced by \textbf{ scrc\+\_\+node\+\_\+4()}, \textbf{ scrc\+\_\+node\+\_\+6()}, \textbf{ scrc\+\_\+node\+\_\+7()}, \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}, and \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9()}. \mbox{\label{sccp__scrc_8c_af6c0c460544dac169d3c06f4e9106258}} \index{sccp\_scrc.c@{sccp\_scrc.c}!sua\_is\_cr@{sua\_is\_cr}} \index{sua\_is\_cr@{sua\_is\_cr}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{sua\_is\_cr()} {\footnotesize\ttfamily static bool sua\+\_\+is\+\_\+cr (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}, \textbf{ SUA\+\_\+\+CO\+\_\+\+CORE}, and \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CO}. Referenced by \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}. \mbox{\label{sccp__scrc_8c_ad93e25e7428c37f208160752d1112422}} \index{sccp\_scrc.c@{sccp\_scrc.c}!translate@{translate}} \index{translate@{translate}!sccp\_scrc.c@{sccp\_scrc.c}} \doxysubsubsection{translate()} {\footnotesize\ttfamily static int translate (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called, }\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{translated }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Referenced by \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9()}.