\doxysection{src/sccp\+\_\+sclc.c File Reference}
\label{sccp__sclc_8c}\index{src/sccp\_sclc.c@{src/sccp\_sclc.c}}
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/timer.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/fsm.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sccp/sccp\+\_\+types.\+h$>$}\newline
{\ttfamily \#include "{}xua\+\_\+internal.\+h"{}}\newline
{\ttfamily \#include "{}ss7\+\_\+internal.\+h"{}}\newline
{\ttfamily \#include "{}sccp\+\_\+instance.\+h"{}}\newline
{\ttfamily \#include "{}sccp\+\_\+internal.\+h"{}}\newline
{\ttfamily \#include "{}sccp\+\_\+user.\+h"{}}\newline
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+cl} (uint32\+\_\+t event, struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim, int \textbf{ msg\+\_\+type})
\item 
static int \textbf{ xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, uint32\+\_\+t event, struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim, int \textbf{ msg\+\_\+type})
\item 
int \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, struct osmo\+\_\+prim\+\_\+hdr $\ast$oph)
\begin{DoxyCompactList}\small\item\em Main entrance function for primitives from SCCP User. \end{DoxyCompactList}\item 
int \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, struct osmo\+\_\+prim\+\_\+hdr $\ast$oph)
\begin{DoxyCompactList}\small\item\em Main entrance function for primitives from SCCP User. \end{DoxyCompactList}\item 
static int \textbf{ sclc\+\_\+rx\+\_\+cldt} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
static int \textbf{ sclc\+\_\+rx\+\_\+cldr} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
int \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\begin{DoxyCompactList}\small\item\em SCRC -\/$>$ SCLC (connectionless message) \end{DoxyCompactList}\item 
static struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ gen\+\_\+ret\+\_\+msg} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, const struct \textbf{ xua\+\_\+msg} $\ast$xua\+\_\+in, uint32\+\_\+t ret\+\_\+cause)
\item 
void \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua\+\_\+in, uint32\+\_\+t cause)
\begin{DoxyCompactList}\small\item\em SCRC -\/$>$ SCLC (Routing Failure. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\label{sccp__sclc_8c_a1301f84f940836db601ecaa2e4a307b8} 
\index{sccp\_sclc.c@{sccp\_sclc.c}!gen\_ret\_msg@{gen\_ret\_msg}}
\index{gen\_ret\_msg@{gen\_ret\_msg}!sccp\_sclc.c@{sccp\_sclc.c}}
\doxysubsubsection{gen\_ret\_msg()}
{\footnotesize\ttfamily static struct \textbf{ xua\+\_\+msg} $\ast$ gen\+\_\+ret\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua\+\_\+in,  }\item[{uint32\+\_\+t}]{ret\+\_\+cause }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ xua\+\_\+msg\+::hdr}, \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{ osmo\+\_\+sccp\+\_\+instance\+::route\+\_\+ctx}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+CAUSE\+\_\+\+T\+\_\+\+RETURN}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDR}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+CAUSE}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+CORR\+\_\+\+ID}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DATA}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DEST\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+IMPORTANCE}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+MSG\+\_\+\+PRIO}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SEGMENTATION}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SRC\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CL}, \textbf{ XUA\+\_\+\+HDR}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+u32()}, \textbf{ xua\+\_\+msg\+\_\+alloc()}, \textbf{ xua\+\_\+msg\+\_\+copy\+\_\+part()}, and \textbf{ xua\+\_\+msg\+\_\+free\+\_\+tag()}.



Referenced by \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}.

\label{sccp__sclc_8c_a839b843770fe7a81ec460ace5ddfe7d0} 
\index{sccp\_sclc.c@{sccp\_sclc.c}!sccp\_sclc\_rx\_from\_scrc@{sccp\_sclc\_rx\_from\_scrc}}
\index{sccp\_sclc\_rx\_from\_scrc@{sccp\_sclc\_rx\_from\_scrc}!sccp\_sclc.c@{sccp\_sclc.c}}
\doxysubsubsection{sccp\_sclc\_rx\_from\_scrc()}
{\footnotesize\ttfamily int sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})}



SCRC -\/$>$ SCLC (connectionless message) 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SCCP Instance in which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em xua} & SUA connectionless message \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative on error 
\end{DoxyReturn}


References \textbf{ \+\_\+\+LOGPSCI}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}, \textbf{ sclc\+\_\+rx\+\_\+cldr()}, \textbf{ sclc\+\_\+rx\+\_\+cldt()}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDR}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDT}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CL}, \textbf{ xua\+\_\+dialect\+\_\+sua}, and \textbf{ xua\+\_\+hdr\+\_\+dump()}.



Referenced by \textbf{ scrc\+\_\+node\+\_\+6()}, and \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9()}.

\label{sccp__sclc_8c_a7e7ee1fb7b747a510580b90125b5b865} 
\index{sccp\_sclc.c@{sccp\_sclc.c}!sccp\_sclc\_rx\_scrc\_rout\_fail@{sccp\_sclc\_rx\_scrc\_rout\_fail}}
\index{sccp\_sclc\_rx\_scrc\_rout\_fail@{sccp\_sclc\_rx\_scrc\_rout\_fail}!sccp\_sclc.c@{sccp\_sclc.c}}
\doxysubsubsection{sccp\_sclc\_rx\_scrc\_rout\_fail()}
{\footnotesize\ttfamily void sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua\+\_\+in,  }\item[{uint32\+\_\+t}]{cause }\end{DoxyParamCaption})}



SCRC -\/$>$ SCLC (Routing Failure. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SCCP Instance in which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em xua\+\_\+in} & Message that failed to be routed \\
\hline
\mbox{\texttt{ in}}  & {\em cause} & SCCP Return Cause \\
\hline
\end{DoxyParams}


References \textbf{ gen\+\_\+ret\+\_\+msg()}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ LOGPSCI}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()}, \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg()}, \textbf{ sclc\+\_\+rx\+\_\+cldr()}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDR}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDT}, \textbf{ xua\+\_\+dialect\+\_\+sua}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, and \textbf{ xua\+\_\+msg\+\_\+free()}.



Referenced by \textbf{ rout\+\_\+fail\+\_\+pending\+\_\+cb()}.

\label{sccp__sclc_8c_a5a395d329728106701783c2a6a1c965c} 
\index{sccp\_sclc.c@{sccp\_sclc.c}!sccp\_sclc\_user\_sap\_down@{sccp\_sclc\_user\_sap\_down}}
\index{sccp\_sclc\_user\_sap\_down@{sccp\_sclc\_user\_sap\_down}!sccp\_sclc.c@{sccp\_sclc.c}}
\doxysubsubsection{sccp\_sclc\_user\_sap\_down()}
{\footnotesize\ttfamily int sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})}



Main entrance function for primitives from SCCP User. 

Implies a msgb\+\_\+free(oph-\/$>$msg), otherwise the same as \doxyref{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}{p.}{sccp__sclc_8c_a60bc93a2c2c73fd5ff578713e0f1bde5}. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em scu} & SCCP User who is sending the primitive \\
\hline
 & {\em \mbox{[}on\mbox{]}} & oph Osmocom primitive header of the primitive \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative in case of error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, and \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}.

\label{sccp__sclc_8c_a60bc93a2c2c73fd5ff578713e0f1bde5} 
\index{sccp\_sclc.c@{sccp\_sclc.c}!sccp\_sclc\_user\_sap\_down\_nofree@{sccp\_sclc\_user\_sap\_down\_nofree}}
\index{sccp\_sclc\_user\_sap\_down\_nofree@{sccp\_sclc\_user\_sap\_down\_nofree}!sccp\_sclc.c@{sccp\_sclc.c}}
\doxysubsubsection{sccp\_sclc\_user\_sap\_down\_nofree()}
{\footnotesize\ttfamily int sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})}



Main entrance function for primitives from SCCP User. 

The caller is required to free oph-\/$>$msg, otherwise the same as \doxyref{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down()}{p.}{sccp__sclc_8c_a5a395d329728106701783c2a6a1c965c}. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em scu} & SCCP User who is sending the primitive \\
\hline
 & {\em \mbox{[}on\mbox{]}} & oph Osmocom primitive header of the primitive \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative in case of error 
\end{DoxyReturn}


References \textbf{ LOGPSCU}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA}, \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name()}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDT}, and \textbf{ xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}, and \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down()}.

\label{sccp__sclc_8c_afc57e5178424a9a1b9f558d9ef1ff853} 
\index{sccp\_sclc.c@{sccp\_sclc.c}!sclc\_rx\_cldr@{sclc\_rx\_cldr}}
\index{sclc\_rx\_cldr@{sclc\_rx\_cldr}!sccp\_sclc.c@{sccp\_sclc.c}}
\doxysubsubsection{sclc\_rx\_cldr()}
{\footnotesize\ttfamily static int sclc\+\_\+rx\+\_\+cldr (\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{ osmo\+\_\+scu\+\_\+notice\+\_\+param\+::called\+\_\+addr}, \textbf{ osmo\+\_\+scu\+\_\+notice\+\_\+param\+::calling\+\_\+addr}, \textbf{ osmo\+\_\+scu\+\_\+notice\+\_\+param\+::cause}, \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ osmo\+\_\+scu\+\_\+notice\+\_\+param\+::importance}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPSCI}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::notice}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+NOTICE}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ sccp\+\_\+msgb\+\_\+alloc()}, \textbf{ SCCP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ sccp\+\_\+user\+\_\+find()}, \textbf{ sccp\+\_\+user\+\_\+prim\+\_\+up()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ssn}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+CAUSE}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DATA}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DEST\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+IMPORTANCE}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SRC\+\_\+\+ADDR}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}, \textbf{ xua\+\_\+dialect\+\_\+sua}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, and \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32()}.



Referenced by \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc()}, and \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}.

\label{sccp__sclc_8c_a5e92adc1773c13bc44cf792c80d82bac} 
\index{sccp\_sclc.c@{sccp\_sclc.c}!sclc\_rx\_cldt@{sclc\_rx\_cldt}}
\index{sclc\_rx\_cldt@{sclc\_rx\_cldt}!sccp\_sclc.c@{sccp\_sclc.c}}
\doxysubsubsection{sclc\_rx\_cldt()}
{\footnotesize\ttfamily static int sclc\+\_\+rx\+\_\+cldt (\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{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::called\+\_\+addr}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::calling\+\_\+addr}, \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::importance}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::in\+\_\+sequence\+\_\+control}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPSCI}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::return\+\_\+option}, \textbf{ sccp\+\_\+msgb\+\_\+alloc()}, \textbf{ SCCP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ sccp\+\_\+user\+\_\+find()}, \textbf{ sccp\+\_\+user\+\_\+prim\+\_\+up()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ssn}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DATA}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DEST\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+IMPORTANCE}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+PROTO\+\_\+\+CLASS}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SEQ\+\_\+\+CTRL}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SRC\+\_\+\+ADDR}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::unitdata}, \textbf{ xua\+\_\+dialect\+\_\+sua}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, and \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32()}.



Referenced by \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc()}.

\label{sccp__sclc_8c_a39def419d82898a0282820ec19e76961} 
\index{sccp\_sclc.c@{sccp\_sclc.c}!xua\_gen\_encode\_and\_send@{xua\_gen\_encode\_and\_send}}
\index{xua\_gen\_encode\_and\_send@{xua\_gen\_encode\_and\_send}!sccp\_sclc.c@{sccp\_sclc.c}}
\doxysubsubsection{xua\_gen\_encode\_and\_send()}
{\footnotesize\ttfamily static int xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{uint32\+\_\+t}]{event,  }\item[{struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim,  }\item[{int}]{msg\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ msg\+\_\+type}, \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+cl()}, and \textbf{ xua\+\_\+msg\+\_\+free()}.



Referenced by \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}.

\label{sccp__sclc_8c_ab920c6c05f8d30dd1bdd39db7c694b13} 
\index{sccp\_sclc.c@{sccp\_sclc.c}!xua\_gen\_msg\_cl@{xua\_gen\_msg\_cl}}
\index{xua\_gen\_msg\_cl@{xua\_gen\_msg\_cl}!sccp\_sclc.c@{sccp\_sclc.c}}
\doxysubsubsection{xua\_gen\_msg\_cl()}
{\footnotesize\ttfamily static struct \textbf{ xua\+\_\+msg} $\ast$ xua\+\_\+gen\+\_\+msg\+\_\+cl (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{event,  }\item[{struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim,  }\item[{int}]{msg\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::called\+\_\+addr}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::calling\+\_\+addr}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::in\+\_\+sequence\+\_\+control}, \textbf{ msg\+\_\+type}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ NULL}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+UNITDATA\+\_\+\+REQ\+\_\+\+P\+\_\+\+SEQUENCE\+\_\+\+CONTROL\+\_\+\+NOT\+\_\+\+PRESENT}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sls}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDT}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DATA}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DEST\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+PROTO\+\_\+\+CLASS}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SEQ\+\_\+\+CTRL}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SRC\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CL}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::unitdata}, \textbf{ XUA\+\_\+\+HDR}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+data()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+u32()}, \textbf{ xua\+\_\+msg\+\_\+alloc()}, and \textbf{ xua\+\_\+msg\+\_\+free()}.



Referenced by \textbf{ xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}.

