\doxysection{src/xua\+\_\+msg.h File Reference} \label{src_2xua__msg_8h}\index{src/xua\_msg.h@{src/xua\_msg.h}} {\ttfamily \#include \char`\"{}xua\+\_\+types.\+h\char`\"{}}\newline {\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/mtp\+\_\+sap.\+h$>$}\newline \doxysubsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ xua\+\_\+msg} \item struct \textbf{ xua\+\_\+msg\+\_\+part} \item struct \textbf{ xua\+\_\+msg\+\_\+class} \item struct \textbf{ xua\+\_\+dialect} \item struct \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map} \end{DoxyCompactItemize} \doxysubsection*{Macros} \begin{DoxyCompactItemize} \item \#define \textbf{ XUA\+\_\+\+HDR}(class, type)~((struct \textbf{ xua\+\_\+common\+\_\+hdr}) \{ .\textbf{ spare} = 0, .\textbf{ msg\+\_\+class} = (class), .\textbf{ msg\+\_\+type} = (type) \}) \end{DoxyCompactItemize} \doxysubsection*{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$msg, 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 struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ xua\+\_\+from\+\_\+msg} (const int \textbf{ version}, uint16\+\_\+t \textbf{ len}, uint8\+\_\+t $\ast$\textbf{ data}) \item struct msgb $\ast$ \textbf{ xua\+\_\+to\+\_\+msg} (const int \textbf{ version}, struct \textbf{ xua\+\_\+msg} $\ast$msg) \item struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ xua\+\_\+from\+\_\+nested} (struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$outer) \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 int \textbf{ xua\+\_\+msg\+\_\+get\+\_\+len} (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 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 char $\ast$ \textbf{ xua\+\_\+msg\+\_\+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 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}\end{DoxyCompactItemize} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item const struct \textbf{ xua\+\_\+dialect} \textbf{ xua\+\_\+dialect\+\_\+sua} \item const struct \textbf{ xua\+\_\+dialect} \textbf{ xua\+\_\+dialect\+\_\+m3ua} \end{DoxyCompactItemize} \doxysubsection{Macro Definition Documentation} \mbox{\label{src_2xua__msg_8h_a54c3f19b8755a268a33ba6b02b455b45}} \index{xua\_msg.h@{xua\_msg.h}!XUA\_HDR@{XUA\_HDR}} \index{XUA\_HDR@{XUA\_HDR}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{XUA\_HDR} {\footnotesize\ttfamily \#define XUA\+\_\+\+HDR(\begin{DoxyParamCaption}\item[{}]{class, }\item[{}]{type }\end{DoxyParamCaption})~((struct \textbf{ xua\+\_\+common\+\_\+hdr}) \{ .\textbf{ spare} = 0, .\textbf{ msg\+\_\+class} = (class), .\textbf{ msg\+\_\+type} = (type) \})} \doxysubsection{Function Documentation} \mbox{\label{src_2xua__msg_8h_a57bc23234174c710ba00aada6a4f9a3e}} \index{xua\_msg.h@{xua\_msg.h}!msgb\_t16l16vp\_put@{msgb\_t16l16vp\_put}} \index{msgb\_t16l16vp\_put@{msgb\_t16l16vp\_put}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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})} References \textbf{ data}, \textbf{ len}, and \textbf{ tag}. Referenced by \textbf{ msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32()}, and \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr()}. \mbox{\label{src_2xua__msg_8h_a6a68a942e39b6b95e1631c26ece536f9}} \index{xua\_msg.h@{xua\_msg.h}!msgb\_t16l16vp\_put\_u32@{msgb\_t16l16vp\_put\_u32}} \index{msgb\_t16l16vp\_put\_u32@{msgb\_t16l16vp\_put\_u32}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ msgb\+\_\+t16l16vp\+\_\+put()}, and \textbf{ tag}. Referenced by \textbf{ msgb\+\_\+append\+\_\+dereg\+\_\+res()}, \textbf{ msgb\+\_\+append\+\_\+reg\+\_\+res()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr()}, \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+dereg\+\_\+req()}, and \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req()}. \mbox{\label{src_2xua__msg_8h_a50ffc7dc3d0ef2fb98fd562cedee968c}} \index{xua\_msg.h@{xua\_msg.h}!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.h@{xua\_msg.h}} \doxysubsubsection{osmo\_xua\_msg\_tall\_ctx\_init()} {\footnotesize\ttfamily void osmo\+\_\+xua\+\_\+msg\+\_\+tall\+\_\+ctx\+\_\+init (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})} \mbox{\label{src_2xua__msg_8h_a0cb8214af12ccf4cea7b1736112c8960}} \index{xua\_msg.h@{xua\_msg.h}!xua\_class\_iei\_name@{xua\_class\_iei\_name}} \index{xua\_class\_iei\_name@{xua\_class\_iei\_name}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+class\+::iei\+\_\+names}. Referenced by \textbf{ xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies()}, and \textbf{ xua\+\_\+msg\+\_\+dump()}. \mbox{\label{src_2xua__msg_8h_ac81661d15760aa6efd3a4706952da090}} \index{xua\_msg.h@{xua\_msg.h}!xua\_class\_msg\_name@{xua\_class\_msg\_name}} \index{xua\_class\_msg\_name@{xua\_class\_msg\_name}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ msg\+\_\+type}, and \textbf{ xua\+\_\+msg\+\_\+class\+::msgt\+\_\+names}. Referenced by \textbf{ xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies()}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, and \textbf{ xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache()}. \mbox{\label{src_2xua__msg_8h_af3551c1ea17591d3f0c85ffda35f5c15}} \index{xua\_msg.h@{xua\_msg.h}!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.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+dialect\+::class}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+dialect\+::log\+\_\+subsys}, \textbf{ xua\+\_\+msg\+\_\+class\+::mand\+\_\+ies}, \textbf{ msg\+\_\+class}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ msg\+\_\+type}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}, \textbf{ xua\+\_\+msg\+\_\+class\+::name}, \textbf{ xua\+\_\+dialect\+::name}, \textbf{ xua\+\_\+class\+\_\+iei\+\_\+name()}, \textbf{ xua\+\_\+class\+\_\+msg\+\_\+name()}, and \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+msg()}, and \textbf{ sua\+\_\+rx\+\_\+msg()}. \mbox{\label{src_2xua__msg_8h_a519c87a5b3827bdf04061e05c775b809}} \index{xua\_msg.h@{xua\_msg.h}!xua\_from\_msg@{xua\_from\_msg}} \index{xua\_from\_msg@{xua\_from\_msg}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ data}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ len}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+length}, \textbf{ version}, \textbf{ xua\+\_\+common\+\_\+hdr\+::version}, \textbf{ xua\+\_\+from\+\_\+msg\+\_\+common()}, \textbf{ xua\+\_\+msg\+\_\+alloc()}, and \textbf{ xua\+\_\+msg\+\_\+free()}. Referenced by \textbf{ m3ua\+\_\+gen\+\_\+error\+\_\+msg()}, \textbf{ m3ua\+\_\+rx\+\_\+msg()}, and \textbf{ sua\+\_\+rx\+\_\+msg()}. \mbox{\label{src_2xua__msg_8h_a8a9236af5b42d8377789410aa0d8d28a}} \index{xua\_msg.h@{xua\_msg.h}!xua\_from\_nested@{xua\_from\_nested}} \index{xua\_from\_nested@{xua\_from\_nested}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ xua\+\_\+from\+\_\+msg\+\_\+common()}, \textbf{ xua\+\_\+msg\+\_\+alloc()}, and \textbf{ xua\+\_\+msg\+\_\+free()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+rsp()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req()}, and \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+rsp()}. \mbox{\label{src_2xua__msg_8h_a62487ca79d7198b3427c4fbaabb1f52a}} \index{xua\_msg.h@{xua\_msg.h}!xua\_hdr\_dump@{xua\_hdr\_dump}} \index{xua\_hdr\_dump@{xua\_hdr\_dump}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+dialect\+::class}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}, \textbf{ xua\+\_\+msg\+\_\+class\+::name}, and \textbf{ xua\+\_\+class\+\_\+msg\+\_\+name()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+msg()}, \textbf{ osmo\+\_\+sua\+\_\+to\+\_\+sccp()}, \textbf{ sccp\+\_\+find\+\_\+user()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref()}, \textbf{ sua\+\_\+rx\+\_\+msg()}, and \textbf{ xua\+\_\+msg\+\_\+dump()}. \mbox{\label{src_2xua__msg_8h_a4ae37412514cbebf20c8d32c7433ce0e}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_add\_data@{xua\_msg\_add\_data}} \index{xua\_msg\_add\_data@{xua\_msg\_add\_data}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ xua\+\_\+msg\+\_\+part\+::entry}, \textbf{ xua\+\_\+msg\+::headers}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ len}, \textbf{ xua\+\_\+msg\+\_\+part\+::tag}, and \textbf{ tag}. Referenced by \textbf{ m3ua\+\_\+encode\+\_\+duna()}, \textbf{ m3ua\+\_\+encode\+\_\+dupu()}, \textbf{ m3ua\+\_\+encode\+\_\+notify()}, \textbf{ m3ua\+\_\+gen\+\_\+error\+\_\+msg()}, \textbf{ m3ua\+\_\+tx\+\_\+snm\+\_\+congestion()}, \textbf{ sccp\+\_\+data\+\_\+to\+\_\+sua\+\_\+ptr()}, \textbf{ sccp\+\_\+longdata\+\_\+to\+\_\+sua\+\_\+ptr()}, \textbf{ sua\+\_\+encode\+\_\+duna()}, \textbf{ sua\+\_\+encode\+\_\+dupu()}, \textbf{ sua\+\_\+gen\+\_\+error\+\_\+msg()}, \textbf{ sua\+\_\+tx\+\_\+snm\+\_\+congestion()}, \textbf{ xua\+\_\+from\+\_\+msg\+\_\+common()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+cl()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+co()}, \textbf{ xua\+\_\+gen\+\_\+relre()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+asp\+\_\+rctx()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+opt()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+u32()}, and \textbf{ xua\+\_\+msg\+\_\+copy\+\_\+part()}. \mbox{\label{src_2xua__msg_8h_a9e3e22223c4529f0eb0e6cfdd558e5bd}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_add\_sccp\_addr@{xua\_msg\_add\_sccp\_addr}} \index{xua\_msg\_add\_sccp\_addr@{xua\_msg\_add\_sccp\_addr}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ osmo\+\_\+sccp\+\_\+addr\+::gt}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ip}, \textbf{ msgb\+\_\+t16l16vp\+\_\+put()}, \textbf{ msgb\+\_\+t16l16vp\+\_\+put\+\_\+u32()}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv4}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv6}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+IP}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ri}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ssn}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+IPv4}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+IPv6}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+PC}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SSN}, \textbf{ SUA\+\_\+\+RI\+\_\+\+GT}, \textbf{ SUA\+\_\+\+RI\+\_\+\+SSN\+\_\+\+IP}, \textbf{ SUA\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::v4}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::v6}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+data()}, and \textbf{ xua\+\_\+part\+\_\+add\+\_\+gt()}. Referenced by \textbf{ ensure\+\_\+opc\+\_\+in\+\_\+calling\+\_\+ssn()}, \textbf{ gen\+\_\+ret\+\_\+msg()}, \textbf{ patch\+\_\+sccp\+\_\+with\+\_\+pc()}, \textbf{ sccp\+\_\+addr\+\_\+to\+\_\+sua()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+cl()}, and \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+co()}. \mbox{\label{src_2xua__msg_8h_a7aa9bef616536b5e139c633ebbf06e74}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_add\_u32@{xua\_msg\_add\_u32}} \index{xua\_msg\_add\_u32@{xua\_msg\_add\_u32}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+add\+\_\+data()}. Referenced by \textbf{ gen\+\_\+coerr()}, \textbf{ gen\+\_\+coref\+\_\+without\+\_\+conn()}, \textbf{ gen\+\_\+relco()}, \textbf{ gen\+\_\+ret\+\_\+msg()}, \textbf{ gen\+\_\+rlsd()}, \textbf{ m3ua\+\_\+encode\+\_\+dupu()}, \textbf{ m3ua\+\_\+encode\+\_\+notify()}, \textbf{ m3ua\+\_\+gen\+\_\+error()}, \textbf{ m3ua\+\_\+tx\+\_\+snm\+\_\+congestion()}, \textbf{ m3ua\+\_\+tx\+\_\+xua\+\_\+as()}, \textbf{ peer\+\_\+send()}, \textbf{ peer\+\_\+send\+\_\+error()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+cc()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+cr()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+cref()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+dt1()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+err()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+it()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+ludt()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+ludts()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+rlc()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+rlsd()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+udt()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+udts()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+xudt()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+xudts()}, \textbf{ scoc\+\_\+fsm\+\_\+active()}, \textbf{ sua\+\_\+encode\+\_\+duna()}, \textbf{ sua\+\_\+encode\+\_\+dupu()}, \textbf{ sua\+\_\+gen\+\_\+error()}, \textbf{ sua\+\_\+tx\+\_\+snm\+\_\+congestion()}, \textbf{ sua\+\_\+tx\+\_\+xua\+\_\+as()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+cl()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+co()}, \textbf{ xua\+\_\+gen\+\_\+relre()}, and \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+opt()}. \mbox{\label{src_2xua__msg_8h_ab8d4d4ed146c5c8a89295d2570b450cc}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_alloc@{xua\_msg\_alloc}} \index{xua\_msg\_alloc@{xua\_msg\_alloc}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{xua\_msg\_alloc()} {\footnotesize\ttfamily struct \textbf{ xua\+\_\+msg} $\ast$ xua\+\_\+msg\+\_\+alloc (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+::headers}, and \textbf{ tall\+\_\+xua}. Referenced by \textbf{ gen\+\_\+coerr()}, \textbf{ gen\+\_\+coref\+\_\+without\+\_\+conn()}, \textbf{ gen\+\_\+relco()}, \textbf{ gen\+\_\+ret\+\_\+msg()}, \textbf{ gen\+\_\+rlsd()}, \textbf{ m3ua\+\_\+encode\+\_\+duna()}, \textbf{ m3ua\+\_\+encode\+\_\+dupu()}, \textbf{ m3ua\+\_\+encode\+\_\+notify()}, \textbf{ m3ua\+\_\+gen\+\_\+error()}, \textbf{ m3ua\+\_\+tx\+\_\+snm\+\_\+congestion()}, \textbf{ m3ua\+\_\+xfer\+\_\+from\+\_\+data()}, \textbf{ osmo\+\_\+sccp\+\_\+to\+\_\+xua()}, \textbf{ peer\+\_\+send()}, \textbf{ peer\+\_\+send\+\_\+error()}, \textbf{ scoc\+\_\+fsm\+\_\+active()}, \textbf{ sua\+\_\+encode\+\_\+duna()}, \textbf{ sua\+\_\+encode\+\_\+dupu()}, \textbf{ sua\+\_\+gen\+\_\+error()}, \textbf{ sua\+\_\+tx\+\_\+snm\+\_\+congestion()}, \textbf{ xua\+\_\+from\+\_\+msg()}, \textbf{ xua\+\_\+from\+\_\+nested()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+cl()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+co()}, and \textbf{ xua\+\_\+gen\+\_\+relre()}. \mbox{\label{src_2xua__msg_8h_a94a4a741ff48e3ebaf39f4b33f0777a4}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_copy\_part@{xua\_msg\_copy\_part}} \index{xua\_msg\_copy\_part@{xua\_msg\_copy\_part}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+data()}, and \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}. Referenced by \textbf{ gen\+\_\+coref\+\_\+without\+\_\+conn()}, \textbf{ gen\+\_\+ret\+\_\+msg()}, and \textbf{ peer\+\_\+send()}. \mbox{\label{src_2xua__msg_8h_a05f87933481a3016be1960d2fba2e48c}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_dump@{xua\_msg\_dump}} \index{xua\_msg\_dump@{xua\_msg\_dump}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+dialect\+::class}, \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+msg\+::headers}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+length}, \textbf{ xua\+\_\+msg\+\_\+part\+::tag}, \textbf{ xua\+\_\+common\+\_\+hdr\+::version}, \textbf{ xua\+\_\+class\+\_\+iei\+\_\+name()}, and \textbf{ xua\+\_\+hdr\+\_\+dump()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+err()}, \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg()}, \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg()}, \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}, and \textbf{ sua\+\_\+rx\+\_\+mgmt\+\_\+err()}. \mbox{\label{src_2xua__msg_8h_ac5e639d8b60940908a9e67cc354238b2}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_event\_map@{xua\_msg\_event\_map}} \index{xua\_msg\_event\_map@{xua\_msg\_event\_map}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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{\texttt{ in}} & {\em xua} & x\+UA message which is to be mapped \\ \hline \mbox{\texttt{ 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 \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map\+::event}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map\+::msg\+\_\+class}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map\+::msg\+\_\+type}, and \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+asp()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()}, and \textbf{ sua\+\_\+rx\+\_\+asp()}. \mbox{\label{src_2xua__msg_8h_a8dcdd2a1430667580aeba7f01f173a41}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_find\_tag@{xua\_msg\_find\_tag}} \index{xua\_msg\_find\_tag@{xua\_msg\_find\_tag}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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$}]{msg, }\item[{uint16\+\_\+t}]{tag }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+\_\+part\+::entry}, \textbf{ xua\+\_\+msg\+::headers}, \textbf{ xua\+\_\+msg\+\_\+part\+::tag}, and \textbf{ tag}. Referenced by \textbf{ data\+\_\+hdr\+\_\+from\+\_\+m3ua()}, \textbf{ handle\+\_\+rkey\+\_\+dereg\+\_\+resp()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ handle\+\_\+rkey\+\_\+reg\+\_\+resp()}, \textbf{ ipa\+\_\+tx\+\_\+xua\+\_\+as()}, \textbf{ m3ua\+\_\+decode\+\_\+notify()}, \textbf{ m3ua\+\_\+gen\+\_\+error\+\_\+msg()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+req()}, \textbf{ m3ua\+\_\+rx\+\_\+snm()}, \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ m3ua\+\_\+to\+\_\+xfer\+\_\+ind()}, \textbf{ sccp\+\_\+add\+\_\+long\+\_\+variable\+\_\+part()}, \textbf{ sccp\+\_\+add\+\_\+var\+\_\+addr()}, \textbf{ sccp\+\_\+add\+\_\+variable\+\_\+part()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sclc\+\_\+rx\+\_\+cldr()}, \textbf{ sclc\+\_\+rx\+\_\+cldt()}, \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}, \textbf{ scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ sua\+\_\+rx\+\_\+cl()}, \textbf{ sua\+\_\+rx\+\_\+co()}, \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+udt()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+udts()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+down()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}, \textbf{ xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies()}, \textbf{ xua\+\_\+msg\+\_\+copy\+\_\+part()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+len()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon()}. \mbox{\label{src_2xua__msg_8h_a0d8afb21bd36674bfe5667a99a5fe4fe}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_free@{xua\_msg\_free}} \index{xua\_msg\_free@{xua\_msg\_free}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{xua\_msg\_free()} {\footnotesize\ttfamily void xua\+\_\+msg\+\_\+free (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{msg }\end{DoxyParamCaption})} Referenced by \textbf{ encode\+\_\+notify()}, \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+sccp()}, \textbf{ m3ua\+\_\+gen\+\_\+error\+\_\+msg()}, \textbf{ m3ua\+\_\+rx\+\_\+msg()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+rsp()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+rsp()}, \textbf{ m3ua\+\_\+tx\+\_\+dupu()}, \textbf{ m3ua\+\_\+tx\+\_\+snm\+\_\+available()}, \textbf{ m3ua\+\_\+tx\+\_\+snm\+\_\+congestion()}, \textbf{ mtp\+\_\+user\+\_\+prim\+\_\+cb()}, \textbf{ osmo\+\_\+sccp\+\_\+to\+\_\+xua()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req()}, \textbf{ patch\+\_\+sccp\+\_\+with\+\_\+pc()}, \textbf{ peer\+\_\+send()}, \textbf{ peer\+\_\+send\+\_\+error()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ sua\+\_\+rx\+\_\+msg()}, \textbf{ tx\+\_\+coerr\+\_\+from\+\_\+xua()}, \textbf{ tx\+\_\+relco\+\_\+from\+\_\+xua()}, \textbf{ tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway()}, \textbf{ xua\+\_\+from\+\_\+msg()}, \textbf{ xua\+\_\+from\+\_\+nested()}, \textbf{ xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+cl()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+co()}, and \textbf{ xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send()}. \mbox{\label{src_2xua__msg_8h_a1752bcc3fc7877ffa316f2b119cf5ad7}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_free\_tag@{xua\_msg\_free\_tag}} \index{xua\_msg\_free\_tag@{xua\_msg\_free\_tag}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+part\+::entry}, \textbf{ xua\+\_\+msg\+::headers}, \textbf{ xua\+\_\+msg\+\_\+part\+::tag}, and \textbf{ tag}. Referenced by \textbf{ ensure\+\_\+opc\+\_\+in\+\_\+calling\+\_\+ssn()}, \textbf{ gen\+\_\+ret\+\_\+msg()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, and \textbf{ patch\+\_\+sccp\+\_\+with\+\_\+pc()}. \mbox{\label{src_2xua__msg_8h_a226130ae01cded282663cbc573904322}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_get\_len@{xua\_msg\_get\_len}} \index{xua\_msg\_get\_len@{xua\_msg\_get\_len}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{xua\_msg\_get\_len()} {\footnotesize\ttfamily int xua\+\_\+msg\+\_\+get\+\_\+len (\begin{DoxyParamCaption}\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{uint16\+\_\+t}]{iei }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+\_\+part\+::len}, and \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}. Referenced by \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+udt()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+udts()}, and \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+xudt()}. \mbox{\label{src_2xua__msg_8h_a1f7ddc788afc203cfea212db354637f6}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_get\_str@{xua\_msg\_get\_str}} \index{xua\_msg\_get\_str@{xua\_msg\_get\_str}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, and \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+str()}. Referenced by \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon()}. \mbox{\label{src_2xua__msg_8h_aadb3f62f8d043f6581b75fcd8df5bd60}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_get\_u32@{xua\_msg\_get\_u32}} \index{xua\_msg\_get\_u32@{xua\_msg\_get\_u32}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, and \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}. Referenced by \textbf{ handle\+\_\+rkey\+\_\+dereg\+\_\+resp()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ handle\+\_\+rkey\+\_\+reg\+\_\+resp()}, \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+err()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ sclc\+\_\+rx\+\_\+cldr()}, \textbf{ sclc\+\_\+rx\+\_\+cldt()}, \textbf{ scoc\+\_\+fsm\+\_\+active()}, \textbf{ scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out()}, \textbf{ scoc\+\_\+fsm\+\_\+idle()}, \textbf{ scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf()}, \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}, \textbf{ scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}, \textbf{ store\+\_\+local\+\_\+ref()}, \textbf{ sua\+\_\+rx\+\_\+mgmt\+\_\+err()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+cc()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+cr()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+cref()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+dt1()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+err()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+it()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+ludt()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+ludts()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+rlsd()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+udt()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+udts()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+xudt()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+xudts()}, \textbf{ tx\+\_\+coerr\+\_\+from\+\_\+xua()}, \textbf{ tx\+\_\+relco\+\_\+from\+\_\+xua()}, \textbf{ tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu()}. \mbox{\label{src_2xua__msg_8h_a1205b61c12ca975bdb5f9f50c7ffeeb7}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_get\_u32p@{xua\_msg\_get\_u32p}} \index{xua\_msg\_get\_u32p@{xua\_msg\_get\_u32p}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, and \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}. Referenced by \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon()}. \mbox{\label{src_2xua__msg_8h_ab6a0c897991b24960e62a9b48c3d1b84}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_part\_get\_str@{xua\_msg\_part\_get\_str}} \index{xua\_msg\_part\_get\_str@{xua\_msg\_part\_get\_str}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, and \textbf{ xua\+\_\+msg\+\_\+part\+::len}. Referenced by \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}. \mbox{\label{src_2xua__msg_8h_a7e4537948a6e8d3fabb02bfc72eb5aa2}} \index{xua\_msg.h@{xua\_msg.h}!xua\_msg\_part\_get\_u32@{xua\_msg\_part\_get\_u32}} \index{xua\_msg\_part\_get\_u32@{xua\_msg\_part\_get\_u32}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, and \textbf{ xua\+\_\+msg\+\_\+part\+::len}. Referenced by \textbf{ m3ua\+\_\+decode\+\_\+notify()}, \textbf{ m3ua\+\_\+rx\+\_\+snm()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ sccp\+\_\+msg\+\_\+add\+\_\+sua\+\_\+opt()}, \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+down()}, \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}. \mbox{\label{src_2xua__msg_8h_a55609b987a5b336d0bf230c212e1494f}} \index{xua\_msg.h@{xua\_msg.h}!xua\_part\_add\_gt@{xua\_part\_add\_gt}} \index{xua\_part\_add\_gt@{xua\_part\_add\_gt}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{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 \textbf{ osmo\+\_\+sccp\+\_\+gt\+::digits}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::gti}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::nai}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::npi}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+GT}, and \textbf{ osmo\+\_\+sccp\+\_\+gt\+::tt}. Referenced by \textbf{ xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr()}. \mbox{\label{src_2xua__msg_8h_a4526383535d877579662a12cbe5b72c3}} \index{xua\_msg.h@{xua\_msg.h}!xua\_to\_msg@{xua\_to\_msg}} \index{xua\_to\_msg@{xua\_to\_msg}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{xua\_to\_msg()} {\footnotesize\ttfamily struct msgb $\ast$ xua\+\_\+to\+\_\+msg (\begin{DoxyParamCaption}\item[{const int}]{version, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{msg }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+msg\+::headers}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+length}, \textbf{ xua\+\_\+common\+\_\+hdr\+::spare}, \textbf{ xua\+\_\+msg\+\_\+part\+::tag}, \textbf{ version}, and \textbf{ xua\+\_\+common\+\_\+hdr\+::version}. Referenced by \textbf{ encode\+\_\+notify()}, \textbf{ m3ua\+\_\+to\+\_\+msg()}, \textbf{ peer\+\_\+send()}, \textbf{ peer\+\_\+send\+\_\+error()}, and \textbf{ sua\+\_\+to\+\_\+msg()}. \doxysubsection{Variable Documentation} \mbox{\label{src_2xua__msg_8h_a14e3c740216dbf27160e15377d4dbd43}} \index{xua\_msg.h@{xua\_msg.h}!xua\_dialect\_m3ua@{xua\_dialect\_m3ua}} \index{xua\_dialect\_m3ua@{xua\_dialect\_m3ua}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{xua\_dialect\_m3ua} {\footnotesize\ttfamily const struct \textbf{ xua\+\_\+dialect} xua\+\_\+dialect\+\_\+m3ua\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+err()}, and \textbf{ m3ua\+\_\+rx\+\_\+msg()}. \mbox{\label{src_2xua__msg_8h_aa9dfe79ab4a2b83e4d478b10c973c0b0}} \index{xua\_msg.h@{xua\_msg.h}!xua\_dialect\_sua@{xua\_dialect\_sua}} \index{xua\_dialect\_sua@{xua\_dialect\_sua}!xua\_msg.h@{xua\_msg.h}} \doxysubsubsection{xua\_dialect\_sua} {\footnotesize\ttfamily const struct \textbf{ xua\+\_\+dialect} xua\+\_\+dialect\+\_\+sua\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ osmo\+\_\+sua\+\_\+to\+\_\+sccp()}, \textbf{ sccp\+\_\+find\+\_\+user()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref()}, \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg()}, \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg()}, \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}, \textbf{ sua\+\_\+rx\+\_\+mgmt\+\_\+err()}, \textbf{ sua\+\_\+rx\+\_\+msg()}, and \textbf{ xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache()}.