\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 $<$errno.\+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\+\_\+instance.\+h\char`\"{}}\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`\"{}ss7\+\_\+route\+\_\+table.\+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 \textbf{ dpc})
\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)
\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 int \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_a57e2755da632b9ab8fd0c4bc391f78ab}} 
\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}]{dpc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ dpc}, \textbf{ LOGPSCI}, \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+dpc\+\_\+is\+\_\+accessible()}.



Referenced by \textbf{ scrc\+\_\+node\+\_\+2()}.

\mbox{\label{sccp__scrc_8c_a60cc2b3e601e995d0f2e302e97f41a86}} 
\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 int 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{ LOGPSCI}, \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\+\_\+dialect\+\_\+sua}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, \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{ xua\+\_\+msg\+::hdr}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset}, \textbf{ LOGPSCI}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::opc}, \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\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ sccp\+\_\+rout\+\_\+fail\+\_\+enqueue()}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sls}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, \textbf{ ss7\+\_\+instance\+\_\+lookup\+\_\+route()}, \textbf{ ss7\+\_\+route\+\_\+label\+\_\+to\+\_\+str()}, \textbf{ sua2sccp\+\_\+tx\+\_\+m3ua()}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SRC\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CO}, 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{ LOGPSCI}, \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}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, 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{ LOGPSCI}, \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}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, and \textbf{ xua\+\_\+msg\+\_\+dump()}.



Referenced by \textbf{ sccp\+\_\+conn\+\_\+xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}, \textbf{ sccp\+\_\+conn\+\_\+xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ tx\+\_\+coerr\+\_\+from\+\_\+xua()}, \textbf{ tx\+\_\+relco\+\_\+from\+\_\+xua()}, and \textbf{ tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway()}.

\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_a5fd14409cef582ddd5c59af6a58910eb}} 
\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 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc}, \textbf{ dpc\+\_\+accessible()}, \textbf{ LOGPSCI}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ri}, \textbf{ sccp\+\_\+available()}, \textbf{ sccp\+\_\+rout\+\_\+fail\+\_\+enqueue()}, \textbf{ scrc\+\_\+node\+\_\+12()}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DEST\+\_\+\+ADDR}, \textbf{ xua\+\_\+dialect\+\_\+sua}, and \textbf{ xua\+\_\+hdr\+\_\+dump()}.



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{ sccp\+\_\+rout\+\_\+fail\+\_\+enqueue()}, 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{ LOGPSCI}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ sccp\+\_\+rout\+\_\+fail\+\_\+enqueue()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()}, \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{ 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{ LOGPSCI}, \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\+\_\+hdr\+\_\+dump()}, \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{ LOGPSCI}, \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\+\_\+rout\+\_\+fail\+\_\+enqueue()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc()}, \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{ LOGPSCI}, \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()}.

