\section{src/xua\+\_\+msg.c File Reference}
\label{xua__msg_8c}\index{src/xua\+\_\+msg.\+c@{src/xua\+\_\+msg.\+c}}
{\ttfamily \#include $<$osmocom/sigtran/xua\+\_\+msg.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/talloc.\+h$>$}\newline
{\ttfamily \#include $<$arpa/inet.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ osmo\+\_\+xua\+\_\+msg\+\_\+tall\+\_\+ctx\+\_\+init} (void $\ast$ctx)
\item 
struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ xua\+\_\+msg\+\_\+alloc} (void)
\item 
void \textbf{ xua\+\_\+msg\+\_\+free} (struct \textbf{ xua\+\_\+msg} $\ast$msg)
\item 
int \textbf{ xua\+\_\+msg\+\_\+add\+\_\+data} (struct \textbf{ xua\+\_\+msg} $\ast$msg, uint16\+\_\+t \textbf{ tag}, uint16\+\_\+t \textbf{ len}, const uint8\+\_\+t $\ast$dat)
\item 
struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$ \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag} (const struct \textbf{ xua\+\_\+msg} $\ast$xua, uint16\+\_\+t \textbf{ tag})
\item 
int \textbf{ xua\+\_\+msg\+\_\+free\+\_\+tag} (struct \textbf{ xua\+\_\+msg} $\ast$xua, uint16\+\_\+t \textbf{ tag})
\item 
int \textbf{ xua\+\_\+msg\+\_\+copy\+\_\+part} (struct \textbf{ xua\+\_\+msg} $\ast$xua\+\_\+out, uint16\+\_\+t tag\+\_\+out, const struct \textbf{ xua\+\_\+msg} $\ast$xua\+\_\+in, uint16\+\_\+t tag\+\_\+in)
\item 
static int \textbf{ xua\+\_\+from\+\_\+msg\+\_\+common} (struct \textbf{ xua\+\_\+msg} $\ast$msg, const uint8\+\_\+t $\ast$\textbf{ data}, uint16\+\_\+t pos, uint16\+\_\+t \textbf{ len})
\item 
struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ xua\+\_\+from\+\_\+msg} (const int \textbf{ version}, uint16\+\_\+t \textbf{ len}, uint8\+\_\+t $\ast$\textbf{ data})
\item 
struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ xua\+\_\+from\+\_\+nested} (struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$outer)
\item 
struct msgb $\ast$ \textbf{ xua\+\_\+to\+\_\+msg} (const int \textbf{ version}, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
int \textbf{ msgb\+\_\+t16l16vp\+\_\+put} (struct msgb $\ast$msg, uint16\+\_\+t \textbf{ tag}, uint16\+\_\+t \textbf{ len}, const uint8\+\_\+t $\ast$\textbf{ data})
\item 
int \textbf{ msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32} (struct msgb $\ast$msg, uint16\+\_\+t \textbf{ tag}, uint32\+\_\+t val)
\item 
int \textbf{ xua\+\_\+msg\+\_\+add\+\_\+u32} (struct \textbf{ xua\+\_\+msg} $\ast$xua, uint16\+\_\+t iei, uint32\+\_\+t val)
\item 
uint32\+\_\+t \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32} (const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$part)
\item 
uint32\+\_\+t \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32} (const struct \textbf{ xua\+\_\+msg} $\ast$xua, uint16\+\_\+t iei)
\item 
const uint32\+\_\+t $\ast$ \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p} (const struct \textbf{ xua\+\_\+msg} $\ast$xua, uint16\+\_\+t iei, uint32\+\_\+t $\ast$out)
\item 
const char $\ast$ \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+str} (const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$part)
\item 
const char $\ast$ \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str} (const struct \textbf{ xua\+\_\+msg} $\ast$xua, uint16\+\_\+t iei)
\item 
void \textbf{ xua\+\_\+part\+\_\+add\+\_\+gt} (struct msgb $\ast$msg, const struct \textbf{ osmo\+\_\+sccp\+\_\+gt} $\ast$gt)
\item 
int \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr} (struct \textbf{ xua\+\_\+msg} $\ast$xua, uint16\+\_\+t iei, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$addr)
\item 
int \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map} (const struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map} $\ast$maps, unsigned int num\+\_\+maps)
\begin{DoxyCompactList}\small\item\em Map from a \doxyref{xua\+\_\+msg}{p.}{structxua__msg} (class+type) to an event. \end{DoxyCompactList}\item 
const char $\ast$ \textbf{ xua\+\_\+class\+\_\+msg\+\_\+name} (const struct \textbf{ xua\+\_\+msg\+\_\+class} $\ast$xmc, uint16\+\_\+t \textbf{ msg\+\_\+type})
\item 
const char $\ast$ \textbf{ xua\+\_\+class\+\_\+iei\+\_\+name} (const struct \textbf{ xua\+\_\+msg\+\_\+class} $\ast$xmc, uint16\+\_\+t iei)
\item 
char $\ast$ \textbf{ xua\+\_\+hdr\+\_\+dump} (struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ xua\+\_\+dialect} $\ast$dialect)
\item 
int \textbf{ xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies} (const struct \textbf{ xua\+\_\+dialect} $\ast$dialect, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
static void \textbf{ append\+\_\+to\+\_\+buf} (char $\ast$buf, bool $\ast$comma, const char $\ast$fmt,...)
\item 
char $\ast$ \textbf{ xua\+\_\+msg\+\_\+dump} (struct \textbf{ xua\+\_\+msg} $\ast$xua, const struct \textbf{ xua\+\_\+dialect} $\ast$dialect)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static void $\ast$ \textbf{ tall\+\_\+xua} = N\+U\+LL
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\mbox{\label{xua__msg_8c_adae94d8d0f87919d1c997e43c0860399}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!append\+\_\+to\+\_\+buf@{append\+\_\+to\+\_\+buf}}
\index{append\+\_\+to\+\_\+buf@{append\+\_\+to\+\_\+buf}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{append\+\_\+to\+\_\+buf()}
{\footnotesize\ttfamily static void append\+\_\+to\+\_\+buf (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf,  }\item[{bool $\ast$}]{comma,  }\item[{const char $\ast$}]{fmt,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Referenced by xua\+\_\+msg\+\_\+dump().

\mbox{\label{xua__msg_8c_a57bc23234174c710ba00aada6a4f9a3e}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!msgb\+\_\+t16l16vp\+\_\+put@{msgb\+\_\+t16l16vp\+\_\+put}}
\index{msgb\+\_\+t16l16vp\+\_\+put@{msgb\+\_\+t16l16vp\+\_\+put}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{msgb\+\_\+t16l16vp\+\_\+put()}
{\footnotesize\ttfamily int msgb\+\_\+t16l16vp\+\_\+put (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg,  }\item[{uint16\+\_\+t}]{tag,  }\item[{uint16\+\_\+t}]{len,  }\item[{const uint8\+\_\+t $\ast$}]{data }\end{DoxyParamCaption})}



Referenced by msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32(), and xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr().

\mbox{\label{xua__msg_8c_a6a68a942e39b6b95e1631c26ece536f9}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32@{msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32}}
\index{msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32@{msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32()}
{\footnotesize\ttfamily int msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32 (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg,  }\item[{uint16\+\_\+t}]{tag,  }\item[{uint32\+\_\+t}]{val }\end{DoxyParamCaption})}



References msgb\+\_\+t16l16vp\+\_\+put().



Referenced by msgb\+\_\+append\+\_\+dereg\+\_\+res(), msgb\+\_\+append\+\_\+reg\+\_\+res(), xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr(), xua\+\_\+rkm\+\_\+send\+\_\+dereg\+\_\+req(), and xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req().

\mbox{\label{xua__msg_8c_a50ffc7dc3d0ef2fb98fd562cedee968c}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!osmo\+\_\+xua\+\_\+msg\+\_\+tall\+\_\+ctx\+\_\+init@{osmo\+\_\+xua\+\_\+msg\+\_\+tall\+\_\+ctx\+\_\+init}}
\index{osmo\+\_\+xua\+\_\+msg\+\_\+tall\+\_\+ctx\+\_\+init@{osmo\+\_\+xua\+\_\+msg\+\_\+tall\+\_\+ctx\+\_\+init}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{osmo\+\_\+xua\+\_\+msg\+\_\+tall\+\_\+ctx\+\_\+init()}
{\footnotesize\ttfamily void osmo\+\_\+xua\+\_\+msg\+\_\+tall\+\_\+ctx\+\_\+init (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})}



References tall\+\_\+xua.

\mbox{\label{xua__msg_8c_aecfade23ae77895a3fdcf986a7b0758b}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+class\+\_\+iei\+\_\+name@{xua\+\_\+class\+\_\+iei\+\_\+name}}
\index{xua\+\_\+class\+\_\+iei\+\_\+name@{xua\+\_\+class\+\_\+iei\+\_\+name}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+class\+\_\+iei\+\_\+name()}
{\footnotesize\ttfamily const char$\ast$ xua\+\_\+class\+\_\+iei\+\_\+name (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg\+\_\+class} $\ast$}]{xmc,  }\item[{uint16\+\_\+t}]{iei }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+class\+::iei\+\_\+names.



Referenced by xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies(), and xua\+\_\+msg\+\_\+dump().

\mbox{\label{xua__msg_8c_ac582ebee144dd1fe54182ec3cce0d547}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+class\+\_\+msg\+\_\+name@{xua\+\_\+class\+\_\+msg\+\_\+name}}
\index{xua\+\_\+class\+\_\+msg\+\_\+name@{xua\+\_\+class\+\_\+msg\+\_\+name}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+class\+\_\+msg\+\_\+name()}
{\footnotesize\ttfamily const char$\ast$ xua\+\_\+class\+\_\+msg\+\_\+name (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg\+\_\+class} $\ast$}]{xmc,  }\item[{uint16\+\_\+t}]{msg\+\_\+type }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+class\+::msgt\+\_\+names.



Referenced by xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies(), xua\+\_\+hdr\+\_\+dump(), and xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache().

\mbox{\label{xua__msg_8c_af3551c1ea17591d3f0c85ffda35f5c15}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies@{xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies}}
\index{xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies@{xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies()}
{\footnotesize\ttfamily int xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+dialect} $\ast$}]{dialect,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})}



References xua\+\_\+dialect\+::class, xua\+\_\+msg\+::hdr, xua\+\_\+dialect\+::log\+\_\+subsys, xua\+\_\+msg\+\_\+class\+::mand\+\_\+ies, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class, msg\+\_\+class, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, msg\+\_\+type, xua\+\_\+msg\+\_\+class\+::name, xua\+\_\+dialect\+::name, xua\+\_\+class\+\_\+iei\+\_\+name(), xua\+\_\+class\+\_\+msg\+\_\+name(), and xua\+\_\+msg\+\_\+find\+\_\+tag().



Referenced by m3ua\+\_\+rx\+\_\+msg(), and sua\+\_\+rx\+\_\+msg().

\mbox{\label{xua__msg_8c_a96a04072a9c8b1692b581ed3d62c6013}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+from\+\_\+msg@{xua\+\_\+from\+\_\+msg}}
\index{xua\+\_\+from\+\_\+msg@{xua\+\_\+from\+\_\+msg}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+from\+\_\+msg()}
{\footnotesize\ttfamily struct \textbf{ xua\+\_\+msg}$\ast$ xua\+\_\+from\+\_\+msg (\begin{DoxyParamCaption}\item[{const int}]{version,  }\item[{uint16\+\_\+t}]{len,  }\item[{uint8\+\_\+t $\ast$}]{data }\end{DoxyParamCaption})}



References xua\+\_\+msg\+::hdr, len, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+length, xua\+\_\+common\+\_\+hdr\+::version, xua\+\_\+from\+\_\+msg\+\_\+common(), xua\+\_\+msg\+\_\+alloc(), and xua\+\_\+msg\+\_\+free().



Referenced by m3ua\+\_\+rx\+\_\+msg(), and sua\+\_\+rx\+\_\+msg().

\mbox{\label{xua__msg_8c_a8889cf47f6e9655163e2a8ba3f0ee72d}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+from\+\_\+msg\+\_\+common@{xua\+\_\+from\+\_\+msg\+\_\+common}}
\index{xua\+\_\+from\+\_\+msg\+\_\+common@{xua\+\_\+from\+\_\+msg\+\_\+common}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+from\+\_\+msg\+\_\+common()}
{\footnotesize\ttfamily static int xua\+\_\+from\+\_\+msg\+\_\+common (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{msg,  }\item[{const uint8\+\_\+t $\ast$}]{data,  }\item[{uint16\+\_\+t}]{pos,  }\item[{uint16\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References xua\+\_\+parameter\+\_\+hdr\+::data, xua\+\_\+parameter\+\_\+hdr\+::len, xua\+\_\+parameter\+\_\+hdr\+::tag, and xua\+\_\+msg\+\_\+add\+\_\+data().



Referenced by xua\+\_\+from\+\_\+msg(), and xua\+\_\+from\+\_\+nested().

\mbox{\label{xua__msg_8c_ab89882080911a98edfe2ec79ca230dac}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+from\+\_\+nested@{xua\+\_\+from\+\_\+nested}}
\index{xua\+\_\+from\+\_\+nested@{xua\+\_\+from\+\_\+nested}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+from\+\_\+nested()}
{\footnotesize\ttfamily struct \textbf{ xua\+\_\+msg}$\ast$ xua\+\_\+from\+\_\+nested (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$}]{outer }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+part\+::dat, xua\+\_\+msg\+\_\+part\+::len, xua\+\_\+from\+\_\+msg\+\_\+common(), xua\+\_\+msg\+\_\+alloc(), and xua\+\_\+msg\+\_\+free().



Referenced by m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+rsp(), m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req(), and m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+rsp().

\mbox{\label{xua__msg_8c_a57533a1a952b2649b20e89696db4715c}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+hdr\+\_\+dump@{xua\+\_\+hdr\+\_\+dump}}
\index{xua\+\_\+hdr\+\_\+dump@{xua\+\_\+hdr\+\_\+dump}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+hdr\+\_\+dump()}
{\footnotesize\ttfamily char$\ast$ xua\+\_\+hdr\+\_\+dump (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{const struct \textbf{ xua\+\_\+dialect} $\ast$}]{dialect }\end{DoxyParamCaption})}



References xua\+\_\+dialect\+::class, xua\+\_\+msg\+::hdr, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, xua\+\_\+msg\+\_\+class\+::name, and xua\+\_\+class\+\_\+msg\+\_\+name().



Referenced by m3ua\+\_\+rx\+\_\+msg(), osmo\+\_\+sua\+\_\+to\+\_\+sccp(), sccp\+\_\+find\+\_\+user(), sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc(), sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc(), sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc(), sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref(), sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail(), sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref(), sua\+\_\+rx\+\_\+msg(), and xua\+\_\+msg\+\_\+dump().

\mbox{\label{xua__msg_8c_a4ae37412514cbebf20c8d32c7433ce0e}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+add\+\_\+data@{xua\+\_\+msg\+\_\+add\+\_\+data}}
\index{xua\+\_\+msg\+\_\+add\+\_\+data@{xua\+\_\+msg\+\_\+add\+\_\+data}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+add\+\_\+data()}
{\footnotesize\ttfamily int xua\+\_\+msg\+\_\+add\+\_\+data (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{msg,  }\item[{uint16\+\_\+t}]{tag,  }\item[{uint16\+\_\+t}]{len,  }\item[{const uint8\+\_\+t $\ast$}]{dat }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+part\+::dat, xua\+\_\+msg\+\_\+part\+::entry, xua\+\_\+msg\+::headers, xua\+\_\+msg\+\_\+part\+::len, len, xua\+\_\+msg\+\_\+part\+::tag, and tag.



Referenced by m3ua\+\_\+encode\+\_\+duna(), m3ua\+\_\+encode\+\_\+dupu(), m3ua\+\_\+encode\+\_\+notify(), m3ua\+\_\+gen\+\_\+error\+\_\+msg(), m3ua\+\_\+tx\+\_\+snm\+\_\+congestion(), sccp\+\_\+data\+\_\+to\+\_\+sua\+\_\+ptr(), sua\+\_\+encode\+\_\+duna(), sua\+\_\+encode\+\_\+dupu(), sua\+\_\+gen\+\_\+error\+\_\+msg(), sua\+\_\+tx\+\_\+snm\+\_\+congestion(), xua\+\_\+from\+\_\+msg\+\_\+common(), xua\+\_\+gen\+\_\+msg\+\_\+cl(), xua\+\_\+gen\+\_\+msg\+\_\+co(), xua\+\_\+gen\+\_\+relre(), xua\+\_\+msg\+\_\+add\+\_\+asp\+\_\+rctx(), xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr(), xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+opt(), xua\+\_\+msg\+\_\+add\+\_\+u32(), and xua\+\_\+msg\+\_\+copy\+\_\+part().

\mbox{\label{xua__msg_8c_a9e3e22223c4529f0eb0e6cfdd558e5bd}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr@{xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr}}
\index{xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr@{xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr()}
{\footnotesize\ttfamily int xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{uint16\+\_\+t}]{iei,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{addr }\end{DoxyParamCaption})}



References osmo\+\_\+sccp\+\_\+addr\+::gt, osmo\+\_\+sccp\+\_\+addr\+::ip, msgb\+\_\+t16l16vp\+\_\+put(), msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32(), O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+A\+D\+D\+R\+\_\+\+T\+\_\+\+GT, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+A\+D\+D\+R\+\_\+\+T\+\_\+\+I\+Pv4, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+A\+D\+D\+R\+\_\+\+T\+\_\+\+I\+Pv6, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+A\+D\+D\+R\+\_\+\+T\+\_\+\+PC, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+A\+D\+D\+R\+\_\+\+T\+\_\+\+S\+SN, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+I\+\_\+\+GT, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+I\+\_\+\+S\+S\+N\+\_\+\+IP, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+I\+\_\+\+S\+S\+N\+\_\+\+PC, osmo\+\_\+sccp\+\_\+addr\+::pc, osmo\+\_\+sccp\+\_\+addr\+::presence, osmo\+\_\+sccp\+\_\+addr\+::ri, osmo\+\_\+sccp\+\_\+addr\+::ssn, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+I\+Pv4, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+I\+Pv6, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+PC, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+SN, S\+U\+A\+\_\+\+R\+I\+\_\+\+GT, S\+U\+A\+\_\+\+R\+I\+\_\+\+S\+S\+N\+\_\+\+IP, S\+U\+A\+\_\+\+R\+I\+\_\+\+S\+S\+N\+\_\+\+PC, osmo\+\_\+sccp\+\_\+addr\+::v4, osmo\+\_\+sccp\+\_\+addr\+::v6, xua\+\_\+msg\+\_\+add\+\_\+data(), and xua\+\_\+part\+\_\+add\+\_\+gt().



Referenced by ensure\+\_\+opc\+\_\+in\+\_\+calling\+\_\+ssn(), gen\+\_\+ret\+\_\+msg(), patch\+\_\+sccp\+\_\+with\+\_\+pc(), sccp\+\_\+addr\+\_\+to\+\_\+sua(), xua\+\_\+gen\+\_\+msg\+\_\+cl(), and xua\+\_\+gen\+\_\+msg\+\_\+co().

\mbox{\label{xua__msg_8c_a7aa9bef616536b5e139c633ebbf06e74}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+add\+\_\+u32@{xua\+\_\+msg\+\_\+add\+\_\+u32}}
\index{xua\+\_\+msg\+\_\+add\+\_\+u32@{xua\+\_\+msg\+\_\+add\+\_\+u32}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+add\+\_\+u32()}
{\footnotesize\ttfamily int xua\+\_\+msg\+\_\+add\+\_\+u32 (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{uint16\+\_\+t}]{iei,  }\item[{uint32\+\_\+t}]{val }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+add\+\_\+data().



Referenced by gen\+\_\+coerr(), gen\+\_\+coref\+\_\+without\+\_\+conn(), gen\+\_\+relco(), gen\+\_\+ret\+\_\+msg(), gen\+\_\+rlsd(), m3ua\+\_\+encode\+\_\+dupu(), m3ua\+\_\+encode\+\_\+notify(), m3ua\+\_\+gen\+\_\+error(), m3ua\+\_\+tx\+\_\+snm\+\_\+congestion(), m3ua\+\_\+tx\+\_\+xua\+\_\+as(), peer\+\_\+send(), peer\+\_\+send\+\_\+error(), sccp\+\_\+to\+\_\+xua\+\_\+cc(), sccp\+\_\+to\+\_\+xua\+\_\+cr(), sccp\+\_\+to\+\_\+xua\+\_\+cref(), sccp\+\_\+to\+\_\+xua\+\_\+dt1(), sccp\+\_\+to\+\_\+xua\+\_\+err(), sccp\+\_\+to\+\_\+xua\+\_\+it(), sccp\+\_\+to\+\_\+xua\+\_\+rlc(), sccp\+\_\+to\+\_\+xua\+\_\+rlsd(), sccp\+\_\+to\+\_\+xua\+\_\+udt(), sccp\+\_\+to\+\_\+xua\+\_\+udts(), sccp\+\_\+to\+\_\+xua\+\_\+xudt(), sccp\+\_\+to\+\_\+xua\+\_\+xudts(), scoc\+\_\+fsm\+\_\+active(), sua\+\_\+encode\+\_\+duna(), sua\+\_\+encode\+\_\+dupu(), sua\+\_\+gen\+\_\+error(), sua\+\_\+tx\+\_\+snm\+\_\+congestion(), sua\+\_\+tx\+\_\+xua\+\_\+as(), xua\+\_\+gen\+\_\+msg\+\_\+cl(), xua\+\_\+gen\+\_\+msg\+\_\+co(), xua\+\_\+gen\+\_\+relre(), and xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+opt().

\mbox{\label{xua__msg_8c_a51eeb072307a55a456cc0633b4221cc5}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+alloc@{xua\+\_\+msg\+\_\+alloc}}
\index{xua\+\_\+msg\+\_\+alloc@{xua\+\_\+msg\+\_\+alloc}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+alloc()}
{\footnotesize\ttfamily struct \textbf{ xua\+\_\+msg}$\ast$ xua\+\_\+msg\+\_\+alloc (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



References xua\+\_\+msg\+::headers, and tall\+\_\+xua.



Referenced by gen\+\_\+coerr(), gen\+\_\+coref\+\_\+without\+\_\+conn(), gen\+\_\+relco(), gen\+\_\+ret\+\_\+msg(), gen\+\_\+rlsd(), m3ua\+\_\+encode\+\_\+duna(), m3ua\+\_\+encode\+\_\+dupu(), m3ua\+\_\+encode\+\_\+notify(), m3ua\+\_\+gen\+\_\+error(), m3ua\+\_\+tx\+\_\+snm\+\_\+congestion(), m3ua\+\_\+xfer\+\_\+from\+\_\+data(), osmo\+\_\+sccp\+\_\+to\+\_\+xua(), peer\+\_\+send(), peer\+\_\+send\+\_\+error(), scoc\+\_\+fsm\+\_\+active(), sua\+\_\+encode\+\_\+duna(), sua\+\_\+encode\+\_\+dupu(), sua\+\_\+gen\+\_\+error(), sua\+\_\+tx\+\_\+snm\+\_\+congestion(), xua\+\_\+from\+\_\+msg(), xua\+\_\+from\+\_\+nested(), xua\+\_\+gen\+\_\+msg\+\_\+cl(), xua\+\_\+gen\+\_\+msg\+\_\+co(), and xua\+\_\+gen\+\_\+relre().

\mbox{\label{xua__msg_8c_a94a4a741ff48e3ebaf39f4b33f0777a4}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+copy\+\_\+part@{xua\+\_\+msg\+\_\+copy\+\_\+part}}
\index{xua\+\_\+msg\+\_\+copy\+\_\+part@{xua\+\_\+msg\+\_\+copy\+\_\+part}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+copy\+\_\+part()}
{\footnotesize\ttfamily int xua\+\_\+msg\+\_\+copy\+\_\+part (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua\+\_\+out,  }\item[{uint16\+\_\+t}]{tag\+\_\+out,  }\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua\+\_\+in,  }\item[{uint16\+\_\+t}]{tag\+\_\+in }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+part\+::dat, xua\+\_\+msg\+\_\+part\+::len, xua\+\_\+msg\+\_\+add\+\_\+data(), and xua\+\_\+msg\+\_\+find\+\_\+tag().



Referenced by gen\+\_\+coref\+\_\+without\+\_\+conn(), gen\+\_\+ret\+\_\+msg(), and peer\+\_\+send().

\mbox{\label{xua__msg_8c_a601be8f22aee7bd488e69dc60c911733}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+dump@{xua\+\_\+msg\+\_\+dump}}
\index{xua\+\_\+msg\+\_\+dump@{xua\+\_\+msg\+\_\+dump}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+dump()}
{\footnotesize\ttfamily char$\ast$ xua\+\_\+msg\+\_\+dump (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{const struct \textbf{ xua\+\_\+dialect} $\ast$}]{dialect }\end{DoxyParamCaption})}



References append\+\_\+to\+\_\+buf(), xua\+\_\+dialect\+::class, xua\+\_\+msg\+\_\+part\+::dat, xua\+\_\+msg\+::hdr, xua\+\_\+msg\+::headers, xua\+\_\+msg\+\_\+part\+::len, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+length, xua\+\_\+msg\+\_\+part\+::tag, xua\+\_\+common\+\_\+hdr\+::version, xua\+\_\+class\+\_\+iei\+\_\+name(), and xua\+\_\+hdr\+\_\+dump().



Referenced by m3ua\+\_\+rx\+\_\+mgmt\+\_\+err(), sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg(), sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg(), scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua(), and sua\+\_\+rx\+\_\+mgmt\+\_\+err().

\mbox{\label{xua__msg_8c_ac5e639d8b60940908a9e67cc354238b2}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+event\+\_\+map@{xua\+\_\+msg\+\_\+event\+\_\+map}}
\index{xua\+\_\+msg\+\_\+event\+\_\+map@{xua\+\_\+msg\+\_\+event\+\_\+map}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+event\+\_\+map()}
{\footnotesize\ttfamily int \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map} (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{const struct \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map} $\ast$}]{maps,  }\item[{unsigned int}]{num\+\_\+maps }\end{DoxyParamCaption})}



Map from a \doxyref{xua\+\_\+msg}{p.}{structxua__msg} (class+type) to an event. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em xua} & x\+UA message which is to be mapped \\
\hline
\mbox{\tt in}  & {\em maps} & Table containing msg type+class -\/$>$ event maps [aram[in] num\+\_\+maps number of entries in maps \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
event $>$= 0; negative on error (no map found) 
\end{DoxyReturn}


References xua\+\_\+msg\+\_\+event\+\_\+map\+::event, xua\+\_\+msg\+::hdr, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class, xua\+\_\+msg\+\_\+event\+\_\+map\+::msg\+\_\+class, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, and xua\+\_\+msg\+\_\+event\+\_\+map\+::msg\+\_\+type.



Referenced by m3ua\+\_\+rx\+\_\+asp(), sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc(), and sua\+\_\+rx\+\_\+asp().

\mbox{\label{xua__msg_8c_a9b47369cc8ede3ca3fca109214983849}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+find\+\_\+tag@{xua\+\_\+msg\+\_\+find\+\_\+tag}}
\index{xua\+\_\+msg\+\_\+find\+\_\+tag@{xua\+\_\+msg\+\_\+find\+\_\+tag}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+find\+\_\+tag()}
{\footnotesize\ttfamily struct \textbf{ xua\+\_\+msg\+\_\+part}$\ast$ xua\+\_\+msg\+\_\+find\+\_\+tag (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{uint16\+\_\+t}]{tag }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+part\+::entry, xua\+\_\+msg\+::headers, and xua\+\_\+msg\+\_\+part\+::tag.



Referenced by data\+\_\+hdr\+\_\+from\+\_\+m3ua(), handle\+\_\+rkey\+\_\+dereg\+\_\+resp(), handle\+\_\+rkey\+\_\+reg(), handle\+\_\+rkey\+\_\+reg\+\_\+resp(), ipa\+\_\+tx\+\_\+xua\+\_\+as(), m3ua\+\_\+decode\+\_\+notify(), m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+req(), m3ua\+\_\+rx\+\_\+snm\+\_\+asp(), m3ua\+\_\+rx\+\_\+xfer(), m3ua\+\_\+to\+\_\+xfer\+\_\+ind(), sccp\+\_\+add\+\_\+var\+\_\+addr(), sccp\+\_\+add\+\_\+variable\+\_\+part(), sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc(), sclc\+\_\+rx\+\_\+cldr(), sclc\+\_\+rx\+\_\+cldt(), scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua(), scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), sua\+\_\+addr\+\_\+parse(), sua\+\_\+rx\+\_\+cl(), sua\+\_\+rx\+\_\+co(), sua\+\_\+rx\+\_\+snm\+\_\+asp(), sua\+\_\+to\+\_\+sccp\+\_\+udt(), sua\+\_\+to\+\_\+sccp\+\_\+udts(), xua\+\_\+asp\+\_\+fsm\+\_\+down(), xua\+\_\+asp\+\_\+fsm\+\_\+inactive(), xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies(), xua\+\_\+msg\+\_\+copy\+\_\+part(), xua\+\_\+msg\+\_\+get\+\_\+str(), xua\+\_\+msg\+\_\+get\+\_\+u32(), xua\+\_\+msg\+\_\+get\+\_\+u32p(), xua\+\_\+snm\+\_\+rx\+\_\+daud(), xua\+\_\+snm\+\_\+rx\+\_\+dava(), xua\+\_\+snm\+\_\+rx\+\_\+duna(), and xua\+\_\+snm\+\_\+rx\+\_\+scon().

\mbox{\label{xua__msg_8c_a0d8afb21bd36674bfe5667a99a5fe4fe}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+free@{xua\+\_\+msg\+\_\+free}}
\index{xua\+\_\+msg\+\_\+free@{xua\+\_\+msg\+\_\+free}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+free()}
{\footnotesize\ttfamily void xua\+\_\+msg\+\_\+free (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{msg }\end{DoxyParamCaption})}



Referenced by encode\+\_\+notify(), ipa\+\_\+rx\+\_\+msg\+\_\+sccp(), m3ua\+\_\+rx\+\_\+msg(), m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+rsp(), m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req(), m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+rsp(), m3ua\+\_\+tx\+\_\+dupu(), m3ua\+\_\+tx\+\_\+snm\+\_\+available(), m3ua\+\_\+tx\+\_\+snm\+\_\+congestion(), mtp\+\_\+user\+\_\+prim\+\_\+cb(), osmo\+\_\+sccp\+\_\+to\+\_\+xua(), osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req(), patch\+\_\+sccp\+\_\+with\+\_\+pc(), peer\+\_\+send(), peer\+\_\+send\+\_\+error(), sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail(), sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail(), sua\+\_\+rx\+\_\+msg(), tx\+\_\+coerr\+\_\+from\+\_\+xua(), tx\+\_\+relco\+\_\+from\+\_\+xua(), tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway(), xua\+\_\+from\+\_\+msg(), xua\+\_\+from\+\_\+nested(), xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), xua\+\_\+gen\+\_\+msg\+\_\+cl(), xua\+\_\+gen\+\_\+msg\+\_\+co(), and xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send().

\mbox{\label{xua__msg_8c_a1752bcc3fc7877ffa316f2b119cf5ad7}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+free\+\_\+tag@{xua\+\_\+msg\+\_\+free\+\_\+tag}}
\index{xua\+\_\+msg\+\_\+free\+\_\+tag@{xua\+\_\+msg\+\_\+free\+\_\+tag}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+free\+\_\+tag()}
{\footnotesize\ttfamily int xua\+\_\+msg\+\_\+free\+\_\+tag (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{uint16\+\_\+t}]{tag }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+part\+::entry, xua\+\_\+msg\+::headers, and xua\+\_\+msg\+\_\+part\+::tag.



Referenced by ensure\+\_\+opc\+\_\+in\+\_\+calling\+\_\+ssn(), gen\+\_\+ret\+\_\+msg(), m3ua\+\_\+rx\+\_\+xfer(), and patch\+\_\+sccp\+\_\+with\+\_\+pc().

\mbox{\label{xua__msg_8c_a70bf85464b33558dc2a3e679c0f4b709}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+get\+\_\+str@{xua\+\_\+msg\+\_\+get\+\_\+str}}
\index{xua\+\_\+msg\+\_\+get\+\_\+str@{xua\+\_\+msg\+\_\+get\+\_\+str}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+get\+\_\+str()}
{\footnotesize\ttfamily const char$\ast$ xua\+\_\+msg\+\_\+get\+\_\+str (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{uint16\+\_\+t}]{iei }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+find\+\_\+tag(), and xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+str().



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

\mbox{\label{xua__msg_8c_aadb3f62f8d043f6581b75fcd8df5bd60}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+get\+\_\+u32@{xua\+\_\+msg\+\_\+get\+\_\+u32}}
\index{xua\+\_\+msg\+\_\+get\+\_\+u32@{xua\+\_\+msg\+\_\+get\+\_\+u32}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+get\+\_\+u32()}
{\footnotesize\ttfamily uint32\+\_\+t xua\+\_\+msg\+\_\+get\+\_\+u32 (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{uint16\+\_\+t}]{iei }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+find\+\_\+tag(), and xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32().



Referenced by handle\+\_\+rkey\+\_\+dereg\+\_\+resp(), handle\+\_\+rkey\+\_\+reg(), handle\+\_\+rkey\+\_\+reg\+\_\+resp(), m3ua\+\_\+rx\+\_\+mgmt\+\_\+err(), sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc(), sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail(), sclc\+\_\+rx\+\_\+cldr(), sclc\+\_\+rx\+\_\+cldt(), scoc\+\_\+fsm\+\_\+active(), scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out(), scoc\+\_\+fsm\+\_\+idle(), scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf(), scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua(), scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), store\+\_\+local\+\_\+ref(), sua\+\_\+rx\+\_\+mgmt\+\_\+err(), sua\+\_\+to\+\_\+sccp\+\_\+cc(), sua\+\_\+to\+\_\+sccp\+\_\+cr(), sua\+\_\+to\+\_\+sccp\+\_\+cref(), sua\+\_\+to\+\_\+sccp\+\_\+dt1(), sua\+\_\+to\+\_\+sccp\+\_\+err(), sua\+\_\+to\+\_\+sccp\+\_\+it(), sua\+\_\+to\+\_\+sccp\+\_\+rlsd(), sua\+\_\+to\+\_\+sccp\+\_\+udt(), sua\+\_\+to\+\_\+sccp\+\_\+udts(), sua\+\_\+to\+\_\+sccp\+\_\+xudt(), sua\+\_\+to\+\_\+sccp\+\_\+xudts(), tx\+\_\+coerr\+\_\+from\+\_\+xua(), tx\+\_\+relco\+\_\+from\+\_\+xua(), tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway(), xua\+\_\+asp\+\_\+fsm\+\_\+inactive(), and xua\+\_\+snm\+\_\+rx\+\_\+dupu().

\mbox{\label{xua__msg_8c_a152d92abb49f1502f43ab6c7e757c556}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+get\+\_\+u32p@{xua\+\_\+msg\+\_\+get\+\_\+u32p}}
\index{xua\+\_\+msg\+\_\+get\+\_\+u32p@{xua\+\_\+msg\+\_\+get\+\_\+u32p}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+get\+\_\+u32p()}
{\footnotesize\ttfamily const uint32\+\_\+t$\ast$ xua\+\_\+msg\+\_\+get\+\_\+u32p (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{uint16\+\_\+t}]{iei,  }\item[{uint32\+\_\+t $\ast$}]{out }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+find\+\_\+tag(), and xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32().



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

\mbox{\label{xua__msg_8c_aa2a5cc5711585be658597a29d82761bb}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+str@{xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+str}}
\index{xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+str@{xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+str}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+str()}
{\footnotesize\ttfamily const char$\ast$ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+str (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$}]{part }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+part\+::dat, and xua\+\_\+msg\+\_\+part\+::len.



Referenced by xua\+\_\+msg\+\_\+get\+\_\+str().

\mbox{\label{xua__msg_8c_a7e4537948a6e8d3fabb02bfc72eb5aa2}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32@{xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32}}
\index{xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32@{xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}
{\footnotesize\ttfamily uint32\+\_\+t xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32 (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$}]{part }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+part\+::dat, and xua\+\_\+msg\+\_\+part\+::len.



Referenced by m3ua\+\_\+decode\+\_\+notify(), sccp\+\_\+msg\+\_\+add\+\_\+sua\+\_\+opt(), scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua(), xua\+\_\+asp\+\_\+fsm\+\_\+down(), xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp(), xua\+\_\+msg\+\_\+get\+\_\+u32(), xua\+\_\+msg\+\_\+get\+\_\+u32p(), xua\+\_\+snm\+\_\+rx\+\_\+dava(), and xua\+\_\+snm\+\_\+rx\+\_\+duna().

\mbox{\label{xua__msg_8c_a55609b987a5b336d0bf230c212e1494f}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+part\+\_\+add\+\_\+gt@{xua\+\_\+part\+\_\+add\+\_\+gt}}
\index{xua\+\_\+part\+\_\+add\+\_\+gt@{xua\+\_\+part\+\_\+add\+\_\+gt}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+part\+\_\+add\+\_\+gt()}
{\footnotesize\ttfamily void xua\+\_\+part\+\_\+add\+\_\+gt (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+gt} $\ast$}]{gt }\end{DoxyParamCaption})}



References osmo\+\_\+sccp\+\_\+gt\+::digits, osmo\+\_\+sccp\+\_\+gt\+::gti, osmo\+\_\+sccp\+\_\+gt\+::nai, osmo\+\_\+sccp\+\_\+gt\+::npi, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+GT, and osmo\+\_\+sccp\+\_\+gt\+::tt.



Referenced by xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr().

\mbox{\label{xua__msg_8c_a52106a6464d1549d4067882eca617816}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!xua\+\_\+to\+\_\+msg@{xua\+\_\+to\+\_\+msg}}
\index{xua\+\_\+to\+\_\+msg@{xua\+\_\+to\+\_\+msg}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{xua\+\_\+to\+\_\+msg()}
{\footnotesize\ttfamily struct msgb$\ast$ xua\+\_\+to\+\_\+msg (\begin{DoxyParamCaption}\item[{const int}]{version,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})}



References xua\+\_\+msg\+\_\+part\+::dat, xua\+\_\+msg\+::hdr, xua\+\_\+msg\+::headers, xua\+\_\+msg\+\_\+part\+::len, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+length, xua\+\_\+common\+\_\+hdr\+::spare, xua\+\_\+msg\+\_\+part\+::tag, xua\+\_\+common\+\_\+hdr\+::version, and version.



Referenced by encode\+\_\+notify(), m3ua\+\_\+to\+\_\+msg(), peer\+\_\+send(), peer\+\_\+send\+\_\+error(), and sua\+\_\+to\+\_\+msg().



\subsection{Variable Documentation}
\mbox{\label{xua__msg_8c_ab2b19db9aa8651fd8e875a108046ea0a}} 
\index{xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}!tall\+\_\+xua@{tall\+\_\+xua}}
\index{tall\+\_\+xua@{tall\+\_\+xua}!xua\+\_\+msg.\+c@{xua\+\_\+msg.\+c}}
\subsubsection{tall\+\_\+xua}
{\footnotesize\ttfamily void$\ast$ tall\+\_\+xua = N\+U\+LL\hspace{0.3cm}{\ttfamily [static]}}



Referenced by osmo\+\_\+xua\+\_\+msg\+\_\+tall\+\_\+ctx\+\_\+init(), and xua\+\_\+msg\+\_\+alloc().

