\doxysection{src/xua\+\_\+internal.h File Reference} \label{xua__internal_8h}\index{src/xua\_internal.h@{src/xua\_internal.h}} {\ttfamily \#include $<$osmocom/core/tdef.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline {\ttfamily \#include \char`\"{}xua\+\_\+msg.\+h\char`\"{}}\newline \doxysubsection*{Macros} \begin{DoxyCompactItemize} \item \#define \textbf{ M3\+UA\+\_\+\+MSG\+\_\+\+SIZE}~2048 \item \#define \textbf{ M3\+UA\+\_\+\+MSG\+\_\+\+HEADROOM}~512 \item \#define \textbf{ CS7\+\_\+\+STR}~\char`\"{}ITU-\/T Signaling System 7\textbackslash{}n\char`\"{} \item \#define \textbf{ PC\+\_\+\+STR}~\char`\"{}Point Code\textbackslash{}n\char`\"{} \item \#define \textbf{ INST\+\_\+\+STR}~\char`\"{}An instance of the SS7 stack\textbackslash{}n\char`\"{} \end{DoxyCompactItemize} \doxysubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer} \{ \newline \textbf{ SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+T\+\_\+\+WAIT\+\_\+\+ASP\+\_\+\+UP} = 1 , \textbf{ SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+T\+\_\+\+WAIT\+\_\+\+NOTIFY} , \textbf{ SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+T\+\_\+\+WAIT\+\_\+\+NOTIY\+\_\+\+RKM} , \textbf{ SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+T\+\_\+\+WAIT\+\_\+\+RK\+\_\+\+REG\+\_\+\+RESP} , \newline \textbf{ SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+TIMERS\+\_\+\+LEN} \} \end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item int \textbf{ sua\+\_\+addr\+\_\+parse\+\_\+part} (struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$out, const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$param) \begin{DoxyCompactList}\small\item\em parse SCCP address from given x\+UA message part \end{DoxyCompactList}\item int \textbf{ sua\+\_\+addr\+\_\+parse} (struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$out, struct \textbf{ xua\+\_\+msg} $\ast$xua, uint16\+\_\+t iei) \begin{DoxyCompactList}\small\item\em parse SCCP address from given x\+UA message IE \end{DoxyCompactList}\item int \textbf{ sua\+\_\+parse\+\_\+gt} (struct \textbf{ osmo\+\_\+sccp\+\_\+gt} $\ast$gt, const uint8\+\_\+t $\ast$\textbf{ data}, unsigned int datalen) \begin{DoxyCompactList}\small\item\em Decode SUA Global Title according to RFC3868 Section 3.\+10.\+2.\+3. \end{DoxyCompactList}\item struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+to\+\_\+xua} (struct msgb $\ast$msg) \begin{DoxyCompactList}\small\item\em convert SCCP message to a SUA message \end{DoxyCompactList}\item struct msgb $\ast$ \textbf{ osmo\+\_\+sua\+\_\+to\+\_\+sccp} (struct \textbf{ xua\+\_\+msg} $\ast$xua) \begin{DoxyCompactList}\small\item\em convert parsed SUA message to SCCP message \end{DoxyCompactList}\item int \textbf{ sua\+\_\+rx\+\_\+msg} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct msgb $\ast$msg) \begin{DoxyCompactList}\small\item\em process SUA message received from socket \end{DoxyCompactList}\item int \textbf{ sua\+\_\+tx\+\_\+xua\+\_\+as} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua) \begin{DoxyCompactList}\small\item\em Send a given x\+UA message via a given SUA Application Server. \end{DoxyCompactList}\item void \textbf{ sua\+\_\+tx\+\_\+snm\+\_\+available} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const uint32\+\_\+t $\ast$rctx, unsigned int num\+\_\+rctx, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, const uint32\+\_\+t $\ast$aff\+\_\+ssn, const uint32\+\_\+t $\ast$\textbf{ smi}, const char $\ast$info\+\_\+string, bool available) \begin{DoxyCompactList}\small\item\em Transmit SSNM DUNA/\+DAVA message indicating [un]availability of certain point code[s]. \end{DoxyCompactList}\item void \textbf{ sua\+\_\+tx\+\_\+snm\+\_\+congestion} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const uint32\+\_\+t $\ast$rctx, unsigned int num\+\_\+rctx, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, const uint32\+\_\+t $\ast$ssn, const uint8\+\_\+t cong\+\_\+level, const char $\ast$info\+\_\+string) \begin{DoxyCompactList}\small\item\em Transmit SSNM SCON message indicating congestion. \end{DoxyCompactList}\item void \textbf{ sua\+\_\+tx\+\_\+dupu} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const uint32\+\_\+t $\ast$rctx, unsigned int num\+\_\+rctx, uint32\+\_\+t \textbf{ dpc}, uint16\+\_\+t user, uint16\+\_\+t cause, const char $\ast$info\+\_\+str) \begin{DoxyCompactList}\small\item\em Transmit SSNM DUPU message indicating user unavailability. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$ \textbf{ m3ua\+\_\+to\+\_\+xfer\+\_\+ind} (struct \textbf{ xua\+\_\+msg} $\ast$xua) \item int \textbf{ m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item int \textbf{ m3ua\+\_\+tx\+\_\+xua\+\_\+as} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua) \begin{DoxyCompactList}\small\item\em Send a given x\+UA message via a given M3\+UA Application Server. \end{DoxyCompactList}\item void \textbf{ m3ua\+\_\+tx\+\_\+snm\+\_\+available} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const uint32\+\_\+t $\ast$rctx, unsigned int num\+\_\+rctx, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, const char $\ast$info\+\_\+string, bool available) \begin{DoxyCompactList}\small\item\em Transmit SSNM DUNA/\+DAVA message indicating [un]availability of certain point code[s]. \end{DoxyCompactList}\item void \textbf{ m3ua\+\_\+tx\+\_\+snm\+\_\+congestion} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const uint32\+\_\+t $\ast$rctx, unsigned int num\+\_\+rctx, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, const uint32\+\_\+t $\ast$concerned\+\_\+dpc, const uint8\+\_\+t $\ast$cong\+\_\+level, const char $\ast$info\+\_\+string) \begin{DoxyCompactList}\small\item\em Transmit SSNM SCON message indicating congestion. \end{DoxyCompactList}\item void \textbf{ m3ua\+\_\+tx\+\_\+dupu} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const uint32\+\_\+t $\ast$rctx, unsigned int num\+\_\+rctx, uint32\+\_\+t \textbf{ dpc}, uint16\+\_\+t user, uint16\+\_\+t cause, const char $\ast$info\+\_\+str) \begin{DoxyCompactList}\small\item\em Transmit SSNM DUPU message indicating user unavailability. \end{DoxyCompactList}\item void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item void \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item int \textbf{ m3ua\+\_\+rx\+\_\+msg} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct msgb $\ast$msg) \begin{DoxyCompactList}\small\item\em process M3\+UA message received from socket \end{DoxyCompactList}\item struct msgb $\ast$ \textbf{ m3ua\+\_\+msgb\+\_\+alloc} (const char $\ast$name) \item struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ m3ua\+\_\+xfer\+\_\+from\+\_\+data} (const struct \textbf{ m3ua\+\_\+data\+\_\+hdr} $\ast$data\+\_\+hdr, const uint8\+\_\+t $\ast$\textbf{ data}, unsigned int data\+\_\+len) \item struct \textbf{ m3ua\+\_\+data\+\_\+hdr} $\ast$ \textbf{ data\+\_\+hdr\+\_\+from\+\_\+m3ua} (struct \textbf{ xua\+\_\+msg} $\ast$xua) \item void \textbf{ m3ua\+\_\+dh\+\_\+to\+\_\+xfer\+\_\+param} (struct \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param} $\ast$param, const struct \textbf{ m3ua\+\_\+data\+\_\+hdr} $\ast$mdh) \item void \textbf{ mtp\+\_\+xfer\+\_\+param\+\_\+to\+\_\+m3ua\+\_\+dh} (struct \textbf{ m3ua\+\_\+data\+\_\+hdr} $\ast$mdh, const struct \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param} $\ast$param) \item struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ m3ua\+\_\+encode\+\_\+notify} (const struct \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify} $\ast$npar) \item int \textbf{ m3ua\+\_\+decode\+\_\+notify} (struct \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify} $\ast$npar, void $\ast$ctx, const struct \textbf{ xua\+\_\+msg} $\ast$xua) \item int \textbf{ m3ua\+\_\+rx\+\_\+rkm} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item void \textbf{ xua\+\_\+rkm\+\_\+cleanup\+\_\+dyn\+\_\+as\+\_\+for\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \item struct \textbf{ osmo\+\_\+xlm\+\_\+prim} $\ast$ \textbf{ xua\+\_\+xlm\+\_\+prim\+\_\+alloc} (enum \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+type} prim\+\_\+type, enum osmo\+\_\+prim\+\_\+operation op) \item void \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct \textbf{ osmo\+\_\+xlm\+\_\+prim} $\ast$prim) \item void \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, enum \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+type} prim\+\_\+type, enum osmo\+\_\+prim\+\_\+operation op) \item void \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const uint32\+\_\+t $\ast$aff\+\_\+pc, unsigned int num\+\_\+aff\+\_\+pc, const char $\ast$info\+\_\+str, bool available) \item static const char $\ast$ \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+name} (enum \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer} val) \item int \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct msgb $\ast$msg) \item int \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$$\ast$as, const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$rctx\+\_\+ie) \begin{DoxyCompactList}\small\item\em Find the AS for given ASP + optional routing context IE. \end{DoxyCompactList}\item int \textbf{ ipa\+\_\+tx\+\_\+xua\+\_\+as} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ xua\+\_\+msg} $\ast$xua) \begin{DoxyCompactList}\small\item\em Send a given x\+UA message via a given IPA \char`\"{}\+Application Server\char`\"{}. \end{DoxyCompactList}\item int \textbf{ ipa\+\_\+rx\+\_\+msg} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct msgb $\ast$msg, uint8\+\_\+t \textbf{ sls}) \begin{DoxyCompactList}\small\item\em process M3\+UA message received from socket \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ ipa\+\_\+find\+\_\+as\+\_\+for\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \item int \textbf{ osmo\+\_\+isup\+\_\+party\+\_\+parse} (char $\ast$out\+\_\+digits, const uint8\+\_\+t $\ast$in, unsigned int in\+\_\+num\+\_\+bytes, bool odd) \begin{DoxyCompactList}\small\item\em Parse ISUP style address of BCD digets. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+parse} (struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$out, const uint8\+\_\+t $\ast$addr, unsigned int addrlen) \begin{DoxyCompactList}\small\item\em Parse wire-\/encoded SCCP address into \doxyref{osmo\+\_\+sccp\+\_\+addr}{p.}{structosmo__sccp__addr}. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+encode} (struct msgb $\ast$msg, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$in) \begin{DoxyCompactList}\small\item\em encode a SCCP address from parsed format to wire format \end{DoxyCompactList}\item int \textbf{ ss7\+\_\+asp\+\_\+rx\+\_\+unknown} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, int ppid\+\_\+mux, struct msgb $\ast$msg) \end{DoxyCompactItemize} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item const struct \textbf{ xua\+\_\+msg\+\_\+class} \textbf{ m3ua\+\_\+msg\+\_\+class\+\_\+mgmt} \item const struct \textbf{ xua\+\_\+msg\+\_\+class} \textbf{ m3ua\+\_\+msg\+\_\+class\+\_\+snm} \item const struct \textbf{ xua\+\_\+msg\+\_\+class} \textbf{ m3ua\+\_\+msg\+\_\+class\+\_\+rkm} \item const struct \textbf{ xua\+\_\+msg\+\_\+class} \textbf{ m3ua\+\_\+msg\+\_\+class\+\_\+aspsm} \item const struct \textbf{ xua\+\_\+msg\+\_\+class} \textbf{ m3ua\+\_\+msg\+\_\+class\+\_\+asptm} \item const struct value\+\_\+string \textbf{ m3ua\+\_\+err\+\_\+names} [$\,$] \item const struct value\+\_\+string \textbf{ m3ua\+\_\+ntfy\+\_\+type\+\_\+names} [$\,$] \item const struct value\+\_\+string \textbf{ m3ua\+\_\+ntfy\+\_\+stchg\+\_\+names} [$\,$] \item const struct value\+\_\+string \textbf{ m3ua\+\_\+ntfy\+\_\+other\+\_\+names} [$\,$] \item const struct osmo\+\_\+tdef \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+defaults} [\textbf{ SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+TIMERS\+\_\+\+LEN}] \item const struct value\+\_\+string \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+names} [$\,$] \item struct osmo\+\_\+fsm \textbf{ xua\+\_\+default\+\_\+lm\+\_\+fsm} \item const struct value\+\_\+string \textbf{ m3ua\+\_\+rkm\+\_\+reg\+\_\+status\+\_\+vals} [$\,$] \item const struct value\+\_\+string \textbf{ m3ua\+\_\+rkm\+\_\+dereg\+\_\+status\+\_\+vals} [$\,$] \end{DoxyCompactItemize} \doxysubsection{Macro Definition Documentation} \mbox{\label{xua__internal_8h_ad788266d373ac76d807afcb62fbbe19d}} \index{xua\_internal.h@{xua\_internal.h}!CS7\_STR@{CS7\_STR}} \index{CS7\_STR@{CS7\_STR}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{CS7\_STR} {\footnotesize\ttfamily \#define CS7\+\_\+\+STR~\char`\"{}ITU-\/T Signaling System 7\textbackslash{}n\char`\"{}} \mbox{\label{xua__internal_8h_a38728b918d70320ea5e7c07687f584c4}} \index{xua\_internal.h@{xua\_internal.h}!INST\_STR@{INST\_STR}} \index{INST\_STR@{INST\_STR}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{INST\_STR} {\footnotesize\ttfamily \#define INST\+\_\+\+STR~\char`\"{}An instance of the SS7 stack\textbackslash{}n\char`\"{}} \mbox{\label{xua__internal_8h_a0a663c3db596ddb20df217c428675585}} \index{xua\_internal.h@{xua\_internal.h}!M3UA\_MSG\_HEADROOM@{M3UA\_MSG\_HEADROOM}} \index{M3UA\_MSG\_HEADROOM@{M3UA\_MSG\_HEADROOM}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{M3UA\_MSG\_HEADROOM} {\footnotesize\ttfamily \#define M3\+UA\+\_\+\+MSG\+\_\+\+HEADROOM~512} \mbox{\label{xua__internal_8h_abd0d34f59b10a9030dfbd87f24239f57}} \index{xua\_internal.h@{xua\_internal.h}!M3UA\_MSG\_SIZE@{M3UA\_MSG\_SIZE}} \index{M3UA\_MSG\_SIZE@{M3UA\_MSG\_SIZE}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{M3UA\_MSG\_SIZE} {\footnotesize\ttfamily \#define M3\+UA\+\_\+\+MSG\+\_\+\+SIZE~2048} \mbox{\label{xua__internal_8h_ae1a8027d8962d120ef6c12ab6979bbc9}} \index{xua\_internal.h@{xua\_internal.h}!PC\_STR@{PC\_STR}} \index{PC\_STR@{PC\_STR}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{PC\_STR} {\footnotesize\ttfamily \#define PC\+\_\+\+STR~\char`\"{}Point Code\textbackslash{}n\char`\"{}} \doxysubsection{Enumeration Type Documentation} \mbox{\label{xua__internal_8h_acc059812ff062bc7a14e4e77b764d2d3}} \index{xua\_internal.h@{xua\_internal.h}!ss7\_asp\_lm\_timer@{ss7\_asp\_lm\_timer}} \index{ss7\_asp\_lm\_timer@{ss7\_asp\_lm\_timer}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{ss7\_asp\_lm\_timer} {\footnotesize\ttfamily enum \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_ASP\_LM\_T\_WAIT\_ASP\_UP@{SS7\_ASP\_LM\_T\_WAIT\_ASP\_UP}!xua\_internal.h@{xua\_internal.h}}\index{xua\_internal.h@{xua\_internal.h}!SS7\_ASP\_LM\_T\_WAIT\_ASP\_UP@{SS7\_ASP\_LM\_T\_WAIT\_ASP\_UP}}}\mbox{\label{xua__internal_8h_acc059812ff062bc7a14e4e77b764d2d3a09086d4eeec6cf08c67fa22df289ea00}} SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+T\+\_\+\+WAIT\+\_\+\+ASP\+\_\+\+UP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_ASP\_LM\_T\_WAIT\_NOTIFY@{SS7\_ASP\_LM\_T\_WAIT\_NOTIFY}!xua\_internal.h@{xua\_internal.h}}\index{xua\_internal.h@{xua\_internal.h}!SS7\_ASP\_LM\_T\_WAIT\_NOTIFY@{SS7\_ASP\_LM\_T\_WAIT\_NOTIFY}}}\mbox{\label{xua__internal_8h_acc059812ff062bc7a14e4e77b764d2d3a31bb229ae3154608fb32175d784f7d00}} SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+T\+\_\+\+WAIT\+\_\+\+NOTIFY&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_ASP\_LM\_T\_WAIT\_NOTIY\_RKM@{SS7\_ASP\_LM\_T\_WAIT\_NOTIY\_RKM}!xua\_internal.h@{xua\_internal.h}}\index{xua\_internal.h@{xua\_internal.h}!SS7\_ASP\_LM\_T\_WAIT\_NOTIY\_RKM@{SS7\_ASP\_LM\_T\_WAIT\_NOTIY\_RKM}}}\mbox{\label{xua__internal_8h_acc059812ff062bc7a14e4e77b764d2d3ad98f60fcc228d6d2012a22a0bd10cd97}} SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+T\+\_\+\+WAIT\+\_\+\+NOTIY\+\_\+\+RKM&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_ASP\_LM\_T\_WAIT\_RK\_REG\_RESP@{SS7\_ASP\_LM\_T\_WAIT\_RK\_REG\_RESP}!xua\_internal.h@{xua\_internal.h}}\index{xua\_internal.h@{xua\_internal.h}!SS7\_ASP\_LM\_T\_WAIT\_RK\_REG\_RESP@{SS7\_ASP\_LM\_T\_WAIT\_RK\_REG\_RESP}}}\mbox{\label{xua__internal_8h_acc059812ff062bc7a14e4e77b764d2d3a578484eaa252e14e1254403b80d8cb5c}} SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+T\+\_\+\+WAIT\+\_\+\+RK\+\_\+\+REG\+\_\+\+RESP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_ASP\_LM\_TIMERS\_LEN@{SS7\_ASP\_LM\_TIMERS\_LEN}!xua\_internal.h@{xua\_internal.h}}\index{xua\_internal.h@{xua\_internal.h}!SS7\_ASP\_LM\_TIMERS\_LEN@{SS7\_ASP\_LM\_TIMERS\_LEN}}}\mbox{\label{xua__internal_8h_acc059812ff062bc7a14e4e77b764d2d3a25bb5fdb3a6a669c61b2d9c8b395e472}} SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+TIMERS\+\_\+\+LEN&\\ \hline \end{DoxyEnumFields} \doxysubsection{Function Documentation} \mbox{\label{xua__internal_8h_a3f7fbf35c6b49191b784a22cb7d9b30c}} \index{xua\_internal.h@{xua\_internal.h}!data\_hdr\_from\_m3ua@{data\_hdr\_from\_m3ua}} \index{data\_hdr\_from\_m3ua@{data\_hdr\_from\_m3ua}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{data\_hdr\_from\_m3ua()} {\footnotesize\ttfamily struct \textbf{ m3ua\+\_\+data\+\_\+hdr} $\ast$ data\+\_\+hdr\+\_\+from\+\_\+m3ua (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+PROT\+\_\+\+DATA}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+XFER}, \textbf{ M3\+UA\+\_\+\+XFER\+\_\+\+DATA}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}, and \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}. Referenced by \textbf{ hmdt\+\_\+message\+\_\+for\+\_\+distribution()}, and \textbf{ m3ua\+\_\+rx\+\_\+xfer()}. \mbox{\label{xua__internal_8h_a12edf7cefcd3d762bed8d90334498121}} \index{xua\_internal.h@{xua\_internal.h}!ipa\_find\_as\_for\_asp@{ipa\_find\_as\_for\_asp}} \index{ipa\_find\_as\_for\_asp@{ipa\_find\_as\_for\_asp}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{ipa\_find\_as\_for\_asp()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ ipa\+\_\+find\+\_\+as\+\_\+for\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}. Referenced by \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+start()}, and \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+sccp()}. \mbox{\label{xua__internal_8h_a1b8e22b504c31fbddfa6ddbdf1e5c9a3}} \index{xua\_internal.h@{xua\_internal.h}!ipa\_rx\_msg@{ipa\_rx\_msg}} \index{ipa\_rx\_msg@{ipa\_rx\_msg}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{ipa\_rx\_msg()} {\footnotesize\ttfamily int ipa\+\_\+rx\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct msgb $\ast$}]{msg, }\item[{uint8\+\_\+t}]{sls }\end{DoxyParamCaption})} process M3\+UA message received from socket \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & Application Server Process receiving {\itshape msg} \\ \hline \mbox{\texttt{ in}} & {\em msg} & received message buffer. Callee takes ownership! \\ \hline \mbox{\texttt{ in}} & {\em sls} & The SLS (signaling link selector) field to use in the generated M3\+UA header \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+ccm()}, \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+sccp()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ sls}, and \textbf{ ss7\+\_\+asp\+\_\+rx\+\_\+unknown()}. Referenced by \textbf{ ipa\+\_\+cli\+\_\+read\+\_\+cb()}, and \textbf{ ss7\+\_\+asp\+\_\+ipa\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}. \mbox{\label{xua__internal_8h_a4473443b022e57cc48e07677c14650ae}} \index{xua\_internal.h@{xua\_internal.h}!ipa\_tx\_xua\_as@{ipa\_tx\_xua\_as}} \index{ipa\_tx\_xua\_as@{ipa\_tx\_xua\_as}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{ipa\_tx\_xua\_as()} {\footnotesize\ttfamily int ipa\+\_\+tx\+\_\+xua\+\_\+as (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} Send a given x\+UA message via a given IPA \char`\"{}\+Application Server\char`\"{}. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server through which to send {\itshape xua} \\ \hline \mbox{\texttt{ in}} & {\em xua} & x\+UA message to be sent \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPAS}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+PROT\+\_\+\+DATA}, \textbf{ MTP\+\_\+\+SI\+\_\+\+SCCP}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::si}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg()}, and \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}. Referenced by \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}. \mbox{\label{xua__internal_8h_a446729f54e5da95d3eefc9ae04248cdf}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_decode\_notify@{m3ua\_decode\_notify}} \index{m3ua\_decode\_notify@{m3ua\_decode\_notify}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_decode\_notify()} {\footnotesize\ttfamily int m3ua\+\_\+decode\+\_\+notify (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify} $\ast$}]{npar, }\item[{void $\ast$}]{ctx, }\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::asp\+\_\+id}, \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::info\+\_\+string}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+ASP\+\_\+\+ID}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+STATUS}, \textbf{ NOTIFY\+\_\+\+PAR\+\_\+\+P\+\_\+\+ASP\+\_\+\+ID}, \textbf{ NOTIFY\+\_\+\+PAR\+\_\+\+P\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::presence}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::route\+\_\+ctx}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::status\+\_\+info}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::status\+\_\+type}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, and \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}, and \textbf{ sua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}. \mbox{\label{xua__internal_8h_ac1a04dfbafd50c05516ed474fd6337f3}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_dh\_to\_xfer\_param@{m3ua\_dh\_to\_xfer\_param}} \index{m3ua\_dh\_to\_xfer\_param@{m3ua\_dh\_to\_xfer\_param}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_dh\_to\_xfer\_param()} {\footnotesize\ttfamily void m3ua\+\_\+dh\+\_\+to\+\_\+xfer\+\_\+param (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param} $\ast$}]{param, }\item[{const struct \textbf{ m3ua\+\_\+data\+\_\+hdr} $\ast$}]{mdh }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::dpc}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::mp}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::ni}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::opc}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::si}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sio}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sls}, and \textbf{ m3ua\+\_\+data\+\_\+hdr\+::sls}. Referenced by \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+sccp()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, and \textbf{ m3ua\+\_\+to\+\_\+xfer\+\_\+ind()}. \mbox{\label{xua__internal_8h_a975de21b0ab355435bd1581b61488112}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_encode\_notify@{m3ua\_encode\_notify}} \index{m3ua\_encode\_notify@{m3ua\_encode\_notify}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_encode\_notify()} {\footnotesize\ttfamily struct \textbf{ xua\+\_\+msg} $\ast$ m3ua\+\_\+encode\+\_\+notify (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify} $\ast$}]{npar }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::asp\+\_\+id}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::info\+\_\+string}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+ASP\+\_\+\+ID}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+STATUS}, \textbf{ M3\+UA\+\_\+\+MGMT\+\_\+\+NTFY}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+MGMT}, \textbf{ M3\+UA\+\_\+\+NOTIFY}, \textbf{ NOTIFY\+\_\+\+PAR\+\_\+\+P\+\_\+\+ASP\+\_\+\+ID}, \textbf{ NOTIFY\+\_\+\+PAR\+\_\+\+P\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::presence}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::route\+\_\+ctx}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::status\+\_\+info}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+notify\+::status\+\_\+type}, \textbf{ XUA\+\_\+\+HDR}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+data()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+u32()}, and \textbf{ xua\+\_\+msg\+\_\+alloc()}. Referenced by \textbf{ encode\+\_\+notify()}. \mbox{\label{xua__internal_8h_a8bc0dfc719354cd380bb206d25c33c6a}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_hmdc\_rx\_from\_l2@{m3ua\_hmdc\_rx\_from\_l2}} \index{m3ua\_hmdc\_rx\_from\_l2@{m3ua\_hmdc\_rx\_from\_l2}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_hmdc\_rx\_from\_l2()} {\footnotesize\ttfamily int m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc}, \textbf{ dpc}, \textbf{ hmdt\+\_\+message\+\_\+for\+\_\+distribution()}, \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}. Referenced by \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+sccp()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, and \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req()}. \mbox{\label{xua__internal_8h_abc7b70b4bd07197a65948096afeb0584}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_msgb\_alloc@{m3ua\_msgb\_alloc}} \index{m3ua\_msgb\_alloc@{m3ua\_msgb\_alloc}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_msgb\_alloc()} {\footnotesize\ttfamily struct msgb $\ast$ m3ua\+\_\+msgb\+\_\+alloc (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name }\end{DoxyParamCaption})} References \textbf{ M3\+UA\+\_\+\+MSG\+\_\+\+HEADROOM}, and \textbf{ M3\+UA\+\_\+\+MSG\+\_\+\+SIZE}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+req()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req()}, \textbf{ m3ua\+\_\+to\+\_\+xfer\+\_\+ind()}, \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+dereg\+\_\+req()}, and \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req()}. \mbox{\label{xua__internal_8h_a3dd5abc2f138a16910f323c9e52427e6}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_rx\_msg@{m3ua\_rx\_msg}} \index{m3ua\_rx\_msg@{m3ua\_rx\_msg}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_rx\_msg()} {\footnotesize\ttfamily int m3ua\+\_\+rx\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})} process M3\+UA message received from socket \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & Application Server Process receiving msg \\ \hline \mbox{\texttt{ in}} & {\em msg} & received message buffer \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ xua\+\_\+common\+\_\+hdr\+::data}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+ERR\+\_\+\+INVAL\+\_\+\+STREAM\+\_\+\+ID}, \textbf{ M3\+UA\+\_\+\+ERR\+\_\+\+INVALID\+\_\+\+VERSION}, \textbf{ M3\+UA\+\_\+\+ERR\+\_\+\+MISSING\+\_\+\+PARAM}, \textbf{ M3\+UA\+\_\+\+ERR\+\_\+\+PARAM\+\_\+\+FIELD\+\_\+\+ERR}, \textbf{ M3\+UA\+\_\+\+ERR\+\_\+\+UNSUPP\+\_\+\+MSG\+\_\+\+CLASS}, \textbf{ m3ua\+\_\+gen\+\_\+error\+\_\+msg()}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+ASPSM}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+ASPTM}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+MGMT}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+RKM}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+SNM}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+XFER}, \textbf{ m3ua\+\_\+rx\+\_\+asp()}, \textbf{ m3ua\+\_\+rx\+\_\+mgmt()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm()}, \textbf{ m3ua\+\_\+rx\+\_\+snm()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ m3ua\+\_\+tx\+\_\+xua\+\_\+asp()}, \textbf{ M3\+UA\+\_\+\+VERSION}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ xua\+\_\+common\+\_\+hdr\+::version}, \textbf{ xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies()}, \textbf{ xua\+\_\+dialect\+\_\+m3ua}, \textbf{ xua\+\_\+from\+\_\+msg()}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, and \textbf{ xua\+\_\+msg\+\_\+free()}. Referenced by \textbf{ ss7\+\_\+asp\+\_\+m3ua\+\_\+tcp\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}. \mbox{\label{xua__internal_8h_ab1e4c28a5dd577eb9d4ce2d32edf76d2}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_rx\_rkm@{m3ua\_rx\_rkm}} \index{m3ua\_rx\_rkm@{m3ua\_rx\_rkm}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_rx\_rkm()} {\footnotesize\ttfamily int m3ua\+\_\+rx\+\_\+rkm (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+RKM\+\_\+\+DEREG\+\_\+\+REQ}, \textbf{ M3\+UA\+\_\+\+RKM\+\_\+\+DEREG\+\_\+\+RSP}, \textbf{ M3\+UA\+\_\+\+RKM\+\_\+\+REG\+\_\+\+REQ}, \textbf{ M3\+UA\+\_\+\+RKM\+\_\+\+REG\+\_\+\+RSP}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+req()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+rsp()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+rsp()}, and \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+msg()}. \mbox{\label{xua__internal_8h_a24f194897e3f4c4afcb473a08c65b5a3}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_to\_xfer\_ind@{m3ua\_to\_xfer\_ind}} \index{m3ua\_to\_xfer\_ind@{m3ua\_to\_xfer\_ind}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_to\_xfer\_ind()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$ m3ua\+\_\+to\+\_\+xfer\+\_\+ind (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ m3ua\+\_\+dh\+\_\+to\+\_\+xfer\+\_\+param()}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+PROT\+\_\+\+DATA}, \textbf{ m3ua\+\_\+msgb\+\_\+alloc()}, \textbf{ MTP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+MTP\+\_\+\+PRIM\+\_\+\+TRANSFER}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::transfer}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::u}, and \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}. Referenced by \textbf{ deliver\+\_\+to\+\_\+mtp\+\_\+user()}. \mbox{\label{xua__internal_8h_a1c5313831d11ce7e46d3187313de900f}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_tx\_dupu@{m3ua\_tx\_dupu}} \index{m3ua\_tx\_dupu@{m3ua\_tx\_dupu}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_tx\_dupu()} {\footnotesize\ttfamily void m3ua\+\_\+tx\+\_\+dupu (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{const uint32\+\_\+t $\ast$}]{rctx, }\item[{unsigned int}]{num\+\_\+rctx, }\item[{uint32\+\_\+t}]{dpc, }\item[{uint16\+\_\+t}]{user, }\item[{uint16\+\_\+t}]{cause, }\item[{const char $\ast$}]{info\+\_\+str }\end{DoxyParamCaption})} Transmit SSNM DUPU message indicating user unavailability. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & ASP through which to transmit message. Must be ACTIVE. \\ \hline \mbox{\texttt{ in}} & {\em rctx} & array of Routing Contexts in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+rctx} & number of rctx \\ \hline \mbox{\texttt{ in}} & {\em dpc} & affected point code \\ \hline \mbox{\texttt{ in}} & {\em user} & the user (SI) that is unavailable \\ \hline \mbox{\texttt{ in}} & {\em cause} & the cause of the user unavailability \\ \hline \mbox{\texttt{ in}} & {\em info\+\_\+string} & optional information string (can be NULL). \\ \hline \end{DoxyParams} References \textbf{ dpc}, \textbf{ m3ua\+\_\+encode\+\_\+dupu()}, \textbf{ m3ua\+\_\+tx\+\_\+xua\+\_\+asp()}, and \textbf{ xua\+\_\+msg\+\_\+free()}. Referenced by \textbf{ xua\+\_\+tx\+\_\+upu()}. \mbox{\label{xua__internal_8h_a23b023b06ccad4da2a92be978a9f23a3}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_tx\_snm\_available@{m3ua\_tx\_snm\_available}} \index{m3ua\_tx\_snm\_available@{m3ua\_tx\_snm\_available}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_tx\_snm\_available()} {\footnotesize\ttfamily void m3ua\+\_\+tx\+\_\+snm\+\_\+available (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{const uint32\+\_\+t $\ast$}]{rctx, }\item[{unsigned int}]{num\+\_\+rctx, }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc, }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc, }\item[{const char $\ast$}]{info\+\_\+string, }\item[{bool}]{available }\end{DoxyParamCaption})} Transmit SSNM DUNA/\+DAVA message indicating [un]availability of certain point code[s]. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & ASP through which to transmit message. Must be ACTIVE. \\ \hline \mbox{\texttt{ in}} & {\em rctx} & array of Routing Contexts in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+rctx} & number of rctx \\ \hline \mbox{\texttt{ in}} & {\em aff\+\_\+pc} & array of \textquotesingle{}Affected Point Code\textquotesingle{} in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+aff\+\_\+pc} & number of aff\+\_\+pc \\ \hline \mbox{\texttt{ in}} & {\em info\+\_\+string} & optional information string (can be NULL). \\ \hline \mbox{\texttt{ in}} & {\em available} & are aff\+\_\+pc now available (true) or unavailable (false) \\ \hline \end{DoxyParams} References \textbf{ m3ua\+\_\+encode\+\_\+dava()}, \textbf{ m3ua\+\_\+encode\+\_\+duna()}, \textbf{ m3ua\+\_\+tx\+\_\+xua\+\_\+asp()}, and \textbf{ xua\+\_\+msg\+\_\+free()}. Referenced by \textbf{ xua\+\_\+tx\+\_\+snm\+\_\+available()}. \mbox{\label{xua__internal_8h_ada55bfcb1a816dd0ef97a9eb8ef3030f}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_tx\_snm\_congestion@{m3ua\_tx\_snm\_congestion}} \index{m3ua\_tx\_snm\_congestion@{m3ua\_tx\_snm\_congestion}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_tx\_snm\_congestion()} {\footnotesize\ttfamily void m3ua\+\_\+tx\+\_\+snm\+\_\+congestion (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{const uint32\+\_\+t $\ast$}]{rctx, }\item[{unsigned int}]{num\+\_\+rctx, }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc, }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc, }\item[{const uint32\+\_\+t $\ast$}]{concerned\+\_\+dpc, }\item[{const uint8\+\_\+t $\ast$}]{cong\+\_\+level, }\item[{const char $\ast$}]{info\+\_\+string }\end{DoxyParamCaption})} Transmit SSNM SCON message indicating congestion. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & ASP through which to transmit message. Must be ACTIVE. \\ \hline \mbox{\texttt{ in}} & {\em rctx} & array of Routing Contexts in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+rctx} & number of rctx \\ \hline \mbox{\texttt{ in}} & {\em aff\+\_\+pc} & array of \textquotesingle{}Affected Point Code\textquotesingle{} in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+aff\+\_\+pc} & number of aff\+\_\+pc \\ \hline \mbox{\texttt{ in}} & {\em concerned\+\_\+dpc} & optional concerned DPC (can be NULL) \\ \hline \mbox{\texttt{ in}} & {\em cong\+\_\+level} & optional congestion level (can be NULL) \\ \hline \mbox{\texttt{ in}} & {\em info\+\_\+string} & optional information string (can be NULL). \\ \hline \end{DoxyParams} References \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+CONC\+\_\+\+DEST}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+CONG\+\_\+\+IND}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+SNM}, \textbf{ M3\+UA\+\_\+\+SNM\+\_\+\+SCON}, \textbf{ m3ua\+\_\+tx\+\_\+xua\+\_\+asp()}, \textbf{ M3\+UA\+\_\+\+VERSION}, \textbf{ xua\+\_\+common\+\_\+hdr\+::version}, \textbf{ XUA\+\_\+\+HDR}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+data()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+u32()}, \textbf{ xua\+\_\+msg\+\_\+alloc()}, and \textbf{ xua\+\_\+msg\+\_\+free()}. Referenced by \textbf{ xua\+\_\+tx\+\_\+scon()}. \mbox{\label{xua__internal_8h_a2d947fe12b0e169755b8b4f2951b721e}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_tx\_xua\_as@{m3ua\_tx\_xua\_as}} \index{m3ua\_tx\_xua\_as@{m3ua\_tx\_xua\_as}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_tx\_xua\_as()} {\footnotesize\ttfamily int m3ua\+\_\+tx\+\_\+xua\+\_\+as (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} Send a given x\+UA message via a given M3\+UA Application Server. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server through which to send xua \\ \hline \mbox{\texttt{ in}} & {\em xua} & x\+UA message to be sent \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::context}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ m3ua\+\_\+to\+\_\+msg()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}, \textbf{ XUA\+\_\+\+AS\+\_\+\+E\+\_\+\+TRANSFER\+\_\+\+REQ}, and \textbf{ xua\+\_\+msg\+\_\+add\+\_\+u32()}. Referenced by \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}. \mbox{\label{xua__internal_8h_a1e63cc510ba1ebc335a86bd371bcb4aa}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_xfer\_from\_data@{m3ua\_xfer\_from\_data}} \index{m3ua\_xfer\_from\_data@{m3ua\_xfer\_from\_data}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_xfer\_from\_data()} {\footnotesize\ttfamily struct \textbf{ xua\+\_\+msg} $\ast$ m3ua\+\_\+xfer\+\_\+from\+\_\+data (\begin{DoxyParamCaption}\item[{const struct \textbf{ m3ua\+\_\+data\+\_\+hdr} $\ast$}]{data\+\_\+hdr, }\item[{const uint8\+\_\+t $\ast$}]{data, }\item[{unsigned int}]{data\+\_\+len }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ data}, \textbf{ xua\+\_\+msg\+\_\+part\+::entry}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+msg\+::headers}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+PROT\+\_\+\+DATA}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+XFER}, \textbf{ M3\+UA\+\_\+\+XFER\+\_\+\+DATA}, \textbf{ xua\+\_\+msg\+\_\+part\+::tag}, \textbf{ XUA\+\_\+\+HDR}, and \textbf{ xua\+\_\+msg\+\_\+alloc()}. Referenced by \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+sccp()}, and \textbf{ mtp\+\_\+prim\+\_\+to\+\_\+m3ua()}. \mbox{\label{xua__internal_8h_a62fec3de2da183f6a7d87e9e84eadbe8}} \index{xua\_internal.h@{xua\_internal.h}!mtp\_xfer\_param\_to\_m3ua\_dh@{mtp\_xfer\_param\_to\_m3ua\_dh}} \index{mtp\_xfer\_param\_to\_m3ua\_dh@{mtp\_xfer\_param\_to\_m3ua\_dh}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{mtp\_xfer\_param\_to\_m3ua\_dh()} {\footnotesize\ttfamily void mtp\+\_\+xfer\+\_\+param\+\_\+to\+\_\+m3ua\+\_\+dh (\begin{DoxyParamCaption}\item[{struct \textbf{ m3ua\+\_\+data\+\_\+hdr} $\ast$}]{mdh, }\item[{const struct \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param} $\ast$}]{param }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::dpc}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::mp}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::ni}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::opc}, \textbf{ m3ua\+\_\+data\+\_\+hdr\+::si}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sio}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sls}, and \textbf{ m3ua\+\_\+data\+\_\+hdr\+::sls}. Referenced by \textbf{ mtp\+\_\+prim\+\_\+to\+\_\+m3ua()}. \mbox{\label{xua__internal_8h_a3f5e0d75271a5a2fda1821e9c9a720d9}} \index{xua\_internal.h@{xua\_internal.h}!osmo\_isup\_party\_parse@{osmo\_isup\_party\_parse}} \index{osmo\_isup\_party\_parse@{osmo\_isup\_party\_parse}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{osmo\_isup\_party\_parse()} {\footnotesize\ttfamily int osmo\+\_\+isup\+\_\+party\+\_\+parse (\begin{DoxyParamCaption}\item[{char $\ast$}]{out\+\_\+digits, }\item[{const uint8\+\_\+t $\ast$}]{in, }\item[{unsigned int}]{in\+\_\+num\+\_\+bytes, }\item[{bool}]{odd }\end{DoxyParamCaption})} Parse ISUP style address of BCD digets. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em out\+\_\+digits} & user-\/allocated buffer for ASCII digits \\ \hline \mbox{\texttt{ in}} & {\em in} & BCD-\/encoded digits \\ \hline \mbox{\texttt{ in}} & {\em in\+\_\+num\+\_\+bytes} & Size of in in bytes \\ \hline \mbox{\texttt{ in}} & {\em odd} & Odd (true) or even (false) number of digits \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} number of digits generated \end{DoxyReturn} Referenced by \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+parse()}. \mbox{\label{xua__internal_8h_ad9945ae60f1cdc481da3b70e15a50adf}} \index{xua\_internal.h@{xua\_internal.h}!osmo\_sccp\_addr\_encode@{osmo\_sccp\_addr\_encode}} \index{osmo\_sccp\_addr\_encode@{osmo\_sccp\_addr\_encode}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{osmo\_sccp\_addr\_encode()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+addr\+\_\+encode (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{in }\end{DoxyParamCaption})} encode a SCCP address from parsed format to wire format \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em msg} & message buffer to which address is to be appended \\ \hline \mbox{\texttt{ in}} & {\em in} & data structure describing SCCP address \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} number of bytes written to msg \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+gt\+::digits}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::gt}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::gti}, \textbf{ msgb\+\_\+put\+\_\+u16le()}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::nai}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::npi}, \textbf{ osmo\+\_\+isup\+\_\+party\+\_\+encode()}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+NAI\+\_\+\+ONLY}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+NO\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+NPL\+\_\+\+ENC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+NPL\+\_\+\+ENC\+\_\+\+NAI}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+ONLY}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+GT}, \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}, and \textbf{ osmo\+\_\+sccp\+\_\+gt\+::tt}. Referenced by \textbf{ sua\+\_\+addr\+\_\+to\+\_\+sccp()}. \mbox{\label{xua__internal_8h_ade18fb9db8c9b52bc2ffc22af64d1d08}} \index{xua\_internal.h@{xua\_internal.h}!osmo\_sccp\_addr\_parse@{osmo\_sccp\_addr\_parse}} \index{osmo\_sccp\_addr\_parse@{osmo\_sccp\_addr\_parse}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{osmo\_sccp\_addr\_parse()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+addr\+\_\+parse (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{out, }\item[{const uint8\+\_\+t $\ast$}]{addr, }\item[{unsigned int}]{addrlen }\end{DoxyParamCaption})} Parse wire-\/encoded SCCP address into \doxyref{osmo\+\_\+sccp\+\_\+addr}{p.}{structosmo__sccp__addr}. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em out} & user-\/allocated output data structure \\ \hline \mbox{\texttt{ in}} & {\em addr} & wire-\/encoded SCCP address \\ \hline \mbox{\texttt{ in}} & {\em addrlen} & Size of addr in bytes \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 in case of success, negative on error According to Q.\+713/3.4 and RFC3868/3.\+10.\+2 \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+gt\+::digits}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::gt}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::gti}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::nai}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::npi}, \textbf{ osmo\+\_\+isup\+\_\+party\+\_\+parse()}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+NAI\+\_\+\+ONLY}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+NO\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+NPL\+\_\+\+ENC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+NPL\+\_\+\+ENC\+\_\+\+NAI}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+ONLY}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+GT}, \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}, and \textbf{ osmo\+\_\+sccp\+\_\+gt\+::tt}. Referenced by \textbf{ sccp\+\_\+addr\+\_\+to\+\_\+sua()}. \mbox{\label{xua__internal_8h_aa2abebd0d9bde73c25cda86c785efe9a}} \index{xua\_internal.h@{xua\_internal.h}!osmo\_sccp\_to\_xua@{osmo\_sccp\_to\_xua}} \index{osmo\_sccp\_to\_xua@{osmo\_sccp\_to\_xua}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{osmo\_sccp\_to\_xua()} {\footnotesize\ttfamily struct \textbf{ xua\+\_\+msg} $\ast$ osmo\+\_\+sccp\+\_\+to\+\_\+xua (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})} convert SCCP message to a SUA message \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em msg} & message buffer holding SCCP message at l2h \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} callee-\/allocated x\+UA message on success; NULL on error \end{DoxyReturn} References \textbf{ xua\+\_\+msg\+::hdr}, \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{ SUA\+\_\+\+CL\+\_\+\+CLDR}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDT}, \textbf{ SUA\+\_\+\+CO\+\_\+\+COAK}, \textbf{ SUA\+\_\+\+CO\+\_\+\+CODT}, \textbf{ SUA\+\_\+\+CO\+\_\+\+COERR}, \textbf{ SUA\+\_\+\+CO\+\_\+\+COIT}, \textbf{ SUA\+\_\+\+CO\+\_\+\+CORE}, \textbf{ SUA\+\_\+\+CO\+\_\+\+COREF}, \textbf{ SUA\+\_\+\+CO\+\_\+\+RELCO}, \textbf{ SUA\+\_\+\+CO\+\_\+\+RELRE}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CL}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CO}, \textbf{ XUA\+\_\+\+HDR}, \textbf{ xua\+\_\+msg\+\_\+alloc()}, and \textbf{ xua\+\_\+msg\+\_\+free()}. Referenced by \textbf{ mtp\+\_\+user\+\_\+prim\+\_\+cb()}, and \textbf{ patch\+\_\+sccp\+\_\+with\+\_\+pc()}. \mbox{\label{xua__internal_8h_ab1f91915d46cc987f3dbd839b544e3ae}} \index{xua\_internal.h@{xua\_internal.h}!osmo\_sua\_to\_sccp@{osmo\_sua\_to\_sccp}} \index{osmo\_sua\_to\_sccp@{osmo\_sua\_to\_sccp}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{osmo\_sua\_to\_sccp()} {\footnotesize\ttfamily struct msgb $\ast$ osmo\+\_\+sua\+\_\+to\+\_\+sccp (\begin{DoxyParamCaption}\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} convert parsed SUA message to SCCP message \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em xua} & parsed SUA message to be converted \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} callee-\/allocated msgb containing encoded SCCP message \end{DoxyReturn} References \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type}, \textbf{ sccp\+\_\+msgb\+\_\+alloc()}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDR}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDT}, \textbf{ SUA\+\_\+\+CO\+\_\+\+COAK}, \textbf{ SUA\+\_\+\+CO\+\_\+\+CODT}, \textbf{ SUA\+\_\+\+CO\+\_\+\+COERR}, \textbf{ SUA\+\_\+\+CO\+\_\+\+COIT}, \textbf{ SUA\+\_\+\+CO\+\_\+\+CORE}, \textbf{ SUA\+\_\+\+CO\+\_\+\+COREF}, \textbf{ SUA\+\_\+\+CO\+\_\+\+RELCO}, \textbf{ SUA\+\_\+\+CO\+\_\+\+RELRE}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CL}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CO}, \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\+\_\+rlc()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+rlsd()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+udt()}, \textbf{ sua\+\_\+to\+\_\+sccp\+\_\+udts()}, \textbf{ xua\+\_\+dialect\+\_\+sua}, and \textbf{ xua\+\_\+hdr\+\_\+dump()}. Referenced by \textbf{ patch\+\_\+sccp\+\_\+with\+\_\+pc()}, and \textbf{ sua2sccp\+\_\+tx\+\_\+m3ua()}. \mbox{\label{xua__internal_8h_a59acf4035919b1db42dd12ad57f780c6}} \index{xua\_internal.h@{xua\_internal.h}!ss7\_asp\_lm\_timer\_name@{ss7\_asp\_lm\_timer\_name}} \index{ss7\_asp\_lm\_timer\_name@{ss7\_asp\_lm\_timer\_name}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{ss7\_asp\_lm\_timer\_name()} {\footnotesize\ttfamily static const char $\ast$ ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+names}. \mbox{\label{xua__internal_8h_a5985c0ec7dc547dd06de3f9be8b8be9b}} \index{xua\_internal.h@{xua\_internal.h}!ss7\_asp\_rx\_unknown@{ss7\_asp\_rx\_unknown}} \index{ss7\_asp\_rx\_unknown@{ss7\_asp\_rx\_unknown}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{ss7\_asp\_rx\_unknown()} {\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+rx\+\_\+unknown (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{int}]{ppid\+\_\+mux, }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}, \textbf{ LOGPASP}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, and \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+UNKNOWN}. Referenced by \textbf{ ipa\+\_\+rx\+\_\+msg()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}. \mbox{\label{xua__internal_8h_a18968e95f6331dc53432486aafea2908}} \index{xua\_internal.h@{xua\_internal.h}!sua\_addr\_parse@{sua\_addr\_parse}} \index{sua\_addr\_parse@{sua\_addr\_parse}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{sua\_addr\_parse()} {\footnotesize\ttfamily int sua\+\_\+addr\+\_\+parse (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{out, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{uint16\+\_\+t}]{iei }\end{DoxyParamCaption})} parse SCCP address from given x\+UA message IE \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em out} & caller-\/allocated decoded SCCP address struct \\ \hline \mbox{\texttt{ in}} & {\em xua} & x\+UA message \\ \hline \mbox{\texttt{ in}} & {\em iei} & Information Element Identifier inside xua \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ sua\+\_\+addr\+\_\+parse\+\_\+part()}, and \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}. Referenced by \textbf{ ensure\+\_\+opc\+\_\+in\+\_\+calling\+\_\+ssn()}, \textbf{ gen\+\_\+ret\+\_\+msg()}, \textbf{ patch\+\_\+sccp\+\_\+with\+\_\+pc()}, \textbf{ sccp\+\_\+find\+\_\+user()}, \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg()}, \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg()}, \textbf{ sclc\+\_\+rx\+\_\+cldr()}, \textbf{ sclc\+\_\+rx\+\_\+cldt()}, \textbf{ scoc\+\_\+fsm\+\_\+idle()}, \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()}, and \textbf{ scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}. \mbox{\label{xua__internal_8h_a7de76938697dd304626a142441ed079d}} \index{xua\_internal.h@{xua\_internal.h}!sua\_addr\_parse\_part@{sua\_addr\_parse\_part}} \index{sua\_addr\_parse\_part@{sua\_addr\_parse\_part}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{sua\_addr\_parse\_part()} {\footnotesize\ttfamily int sua\+\_\+addr\+\_\+parse\+\_\+part (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{out, }\item[{const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$}]{param }\end{DoxyParamCaption})} parse SCCP address from given x\+UA message part \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em out} & caller-\/allocated decoded SCCP address struct \\ \hline \mbox{\texttt{ in}} & {\em param} & x\+UA message part containing address \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::gt}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ip}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ xua\+\_\+parameter\+\_\+hdr\+::len}, \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\+\_\+\+GT}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+IPv4}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+IPv6}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+PC}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SSN}, \textbf{ sua\+\_\+parse\+\_\+gt()}, \textbf{ SUA\+\_\+\+RI\+\_\+\+GT}, \textbf{ SUA\+\_\+\+RI\+\_\+\+HOST}, \textbf{ SUA\+\_\+\+RI\+\_\+\+SSN\+\_\+\+IP}, \textbf{ SUA\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC}, \textbf{ xua\+\_\+msg\+\_\+part\+::tag}, \textbf{ xua\+\_\+parameter\+\_\+hdr\+::tag}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::v4}, and \textbf{ osmo\+\_\+sccp\+\_\+addr\+::v6}. Referenced by \textbf{ sua\+\_\+addr\+\_\+parse()}, and \textbf{ sua\+\_\+addr\+\_\+to\+\_\+sccp()}. \mbox{\label{xua__internal_8h_add0364dcfc7833a3662d0accfcf4aff6}} \index{xua\_internal.h@{xua\_internal.h}!sua\_parse\_gt@{sua\_parse\_gt}} \index{sua\_parse\_gt@{sua\_parse\_gt}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{sua\_parse\_gt()} {\footnotesize\ttfamily int sua\+\_\+parse\+\_\+gt (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+gt} $\ast$}]{gt, }\item[{const uint8\+\_\+t $\ast$}]{data, }\item[{unsigned int}]{datalen }\end{DoxyParamCaption})} Decode SUA Global Title according to RFC3868 Section 3.\+10.\+2.\+3. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em gt} & User-\/allocated structure for decoded output \\ \hline \mbox{\texttt{ in}} & {\em data} & binary-\/encoded data \\ \hline \mbox{\texttt{ in}} & {\em datalen} & length of \doxyref{data}{p.}{xua__types_8h_ab0c873a3738c31ba573548faa50188bc} in octets \\ \hline \end{DoxyParams} References \textbf{ data}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::digits}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::gti}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::nai}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::npi}, and \textbf{ osmo\+\_\+sccp\+\_\+gt\+::tt}. Referenced by \textbf{ sua\+\_\+addr\+\_\+parse\+\_\+part()}. \mbox{\label{xua__internal_8h_a5aaa70aafac5abbc003a1a27dc05ea56}} \index{xua\_internal.h@{xua\_internal.h}!sua\_rx\_msg@{sua\_rx\_msg}} \index{sua\_rx\_msg@{sua\_rx\_msg}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{sua\_rx\_msg()} {\footnotesize\ttfamily int sua\+\_\+rx\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})} process SUA message received from socket \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & Application Server Process receiving msg \\ \hline \mbox{\texttt{ in}} & {\em msg} & received message buffer \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ xua\+\_\+common\+\_\+hdr\+::data}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ LOGPASP}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ MTP\+\_\+\+SI\+\_\+\+SCCP}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sio}, \textbf{ SUA\+\_\+\+ERR\+\_\+\+INVAL\+\_\+\+STREAM\+\_\+\+ID}, \textbf{ SUA\+\_\+\+ERR\+\_\+\+INVALID\+\_\+\+VERSION}, \textbf{ SUA\+\_\+\+ERR\+\_\+\+MISSING\+\_\+\+PARAM}, \textbf{ SUA\+\_\+\+ERR\+\_\+\+PARAM\+\_\+\+FIELD\+\_\+\+ERR}, \textbf{ SUA\+\_\+\+ERR\+\_\+\+UNSUPP\+\_\+\+MSG\+\_\+\+CLASS}, \textbf{ sua\+\_\+gen\+\_\+error\+\_\+msg()}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+ASPSM}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+ASPTM}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CL}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CO}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+MGMT}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+RKM}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+SNM}, \textbf{ sua\+\_\+rx\+\_\+asp()}, \textbf{ sua\+\_\+rx\+\_\+cl()}, \textbf{ sua\+\_\+rx\+\_\+co()}, \textbf{ sua\+\_\+rx\+\_\+mgmt()}, \textbf{ sua\+\_\+rx\+\_\+snm()}, \textbf{ sua\+\_\+tx\+\_\+xua\+\_\+asp()}, \textbf{ SUA\+\_\+\+VERSION}, \textbf{ xua\+\_\+common\+\_\+hdr\+::version}, \textbf{ xua\+\_\+dialect\+\_\+check\+\_\+all\+\_\+mand\+\_\+ies()}, \textbf{ xua\+\_\+dialect\+\_\+sua}, \textbf{ xua\+\_\+from\+\_\+msg()}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, and \textbf{ xua\+\_\+msg\+\_\+free()}. Referenced by \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}. \mbox{\label{xua__internal_8h_aefcb707da3aed3aa9f7b86aedae01353}} \index{xua\_internal.h@{xua\_internal.h}!sua\_tx\_dupu@{sua\_tx\_dupu}} \index{sua\_tx\_dupu@{sua\_tx\_dupu}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{sua\_tx\_dupu()} {\footnotesize\ttfamily void sua\+\_\+tx\+\_\+dupu (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{const uint32\+\_\+t $\ast$}]{rctx, }\item[{unsigned int}]{num\+\_\+rctx, }\item[{uint32\+\_\+t}]{dpc, }\item[{uint16\+\_\+t}]{user, }\item[{uint16\+\_\+t}]{cause, }\item[{const char $\ast$}]{info\+\_\+str }\end{DoxyParamCaption})} Transmit SSNM DUPU message indicating user unavailability. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & ASP through which to transmit message. Must be ACTIVE. \\ \hline \mbox{\texttt{ in}} & {\em rctx} & array of Routing Contexts in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+rctx} & number of rctx \\ \hline \mbox{\texttt{ in}} & {\em dpc} & affected point code \\ \hline \mbox{\texttt{ in}} & {\em user} & the user (SI) that is unavailable \\ \hline \mbox{\texttt{ in}} & {\em cause} & the cause of the user unavailability \\ \hline \mbox{\texttt{ in}} & {\em info\+\_\+string} & optional information string (can be NULL). \\ \hline \end{DoxyParams} References \textbf{ dpc}, \textbf{ sua\+\_\+encode\+\_\+dupu()}, and \textbf{ sua\+\_\+tx\+\_\+xua\+\_\+asp()}. Referenced by \textbf{ xua\+\_\+tx\+\_\+upu()}. \mbox{\label{xua__internal_8h_a2cde7522ac8680baeb866a1af378ed02}} \index{xua\_internal.h@{xua\_internal.h}!sua\_tx\_snm\_available@{sua\_tx\_snm\_available}} \index{sua\_tx\_snm\_available@{sua\_tx\_snm\_available}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{sua\_tx\_snm\_available()} {\footnotesize\ttfamily void sua\+\_\+tx\+\_\+snm\+\_\+available (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{const uint32\+\_\+t $\ast$}]{rctx, }\item[{unsigned int}]{num\+\_\+rctx, }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc, }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc, }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+ssn, }\item[{const uint32\+\_\+t $\ast$}]{smi, }\item[{const char $\ast$}]{info\+\_\+string, }\item[{bool}]{available }\end{DoxyParamCaption})} Transmit SSNM DUNA/\+DAVA message indicating [un]availability of certain point code[s]. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & ASP through whihc to transmit message. Must be ACTIVE. \\ \hline \mbox{\texttt{ in}} & {\em rctx} & array of Routing Contexts in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+rctx} & number of rctx \\ \hline \mbox{\texttt{ in}} & {\em aff\+\_\+pc} & array of \textquotesingle{}Affected Point Code\textquotesingle{} in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+aff\+\_\+pc} & number of aff\+\_\+pc \\ \hline \mbox{\texttt{ in}} & {\em aff\+\_\+ssn} & affected SSN (optional) \\ \hline \mbox{\texttt{ in}} & {\em smi} & subsystem multiplicity indicator (optional) \\ \hline \mbox{\texttt{ in}} & {\em info\+\_\+string} & optional information strng (can be NULL). \\ \hline \mbox{\texttt{ in}} & {\em available} & are aff\+\_\+pc now available (true) or unavailable (false) \\ \hline \end{DoxyParams} References \textbf{ smi}, \textbf{ sua\+\_\+encode\+\_\+dava()}, \textbf{ sua\+\_\+encode\+\_\+duna()}, and \textbf{ sua\+\_\+tx\+\_\+xua\+\_\+asp()}. Referenced by \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, and \textbf{ xua\+\_\+tx\+\_\+snm\+\_\+available()}. \mbox{\label{xua__internal_8h_a789d06732c5551dc33ad1b0ef35edc72}} \index{xua\_internal.h@{xua\_internal.h}!sua\_tx\_snm\_congestion@{sua\_tx\_snm\_congestion}} \index{sua\_tx\_snm\_congestion@{sua\_tx\_snm\_congestion}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{sua\_tx\_snm\_congestion()} {\footnotesize\ttfamily void sua\+\_\+tx\+\_\+snm\+\_\+congestion (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{const uint32\+\_\+t $\ast$}]{rctx, }\item[{unsigned int}]{num\+\_\+rctx, }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc, }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc, }\item[{const uint32\+\_\+t $\ast$}]{ssn, }\item[{const uint8\+\_\+t}]{cong\+\_\+level, }\item[{const char $\ast$}]{info\+\_\+string }\end{DoxyParamCaption})} Transmit SSNM SCON message indicating congestion. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & ASP through which to transmit message. Must be ACTIVE. \\ \hline \mbox{\texttt{ in}} & {\em rctx} & array of Routing Contexts in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+rctx} & number of rctx \\ \hline \mbox{\texttt{ in}} & {\em aff\+\_\+pc} & array of \textquotesingle{}Affected Point Code\textquotesingle{} in network byte order. \\ \hline \mbox{\texttt{ in}} & {\em num\+\_\+aff\+\_\+pc} & number of aff\+\_\+pc \\ \hline \mbox{\texttt{ in}} & {\em ssn} & optional SSN (can be NULL) \\ \hline \mbox{\texttt{ in}} & {\em cong\+\_\+level} & optional congestion level (can be NULL) \\ \hline \mbox{\texttt{ in}} & {\em info\+\_\+string} & optional information string (can be NULL). \\ \hline \end{DoxyParams} References \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+CONG\+\_\+\+LEVEL}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SSN}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+SNM}, \textbf{ SUA\+\_\+\+SNM\+\_\+\+SCON}, \textbf{ SUA\+\_\+\+VERSION}, \textbf{ xua\+\_\+common\+\_\+hdr\+::version}, \textbf{ XUA\+\_\+\+HDR}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+data()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+u32()}, and \textbf{ xua\+\_\+msg\+\_\+alloc()}. Referenced by \textbf{ xua\+\_\+tx\+\_\+scon()}. \mbox{\label{xua__internal_8h_a67d65e0238a6e2d679e6c72fab31b395}} \index{xua\_internal.h@{xua\_internal.h}!sua\_tx\_xua\_as@{sua\_tx\_xua\_as}} \index{sua\_tx\_xua\_as@{sua\_tx\_xua\_as}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{sua\_tx\_xua\_as()} {\footnotesize\ttfamily int sua\+\_\+tx\+\_\+xua\+\_\+as (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} Send a given x\+UA message via a given SUA Application Server. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server through which to send xua \\ \hline \mbox{\texttt{ in}} & {\em xua} & x\+UA message to be sent \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::context}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+ROUTE\+\_\+\+CTX}, \textbf{ sua\+\_\+to\+\_\+msg()}, \textbf{ XUA\+\_\+\+AS\+\_\+\+E\+\_\+\+TRANSFER\+\_\+\+REQ}, and \textbf{ xua\+\_\+msg\+\_\+add\+\_\+u32()}. Referenced by \textbf{ gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua()}. \mbox{\label{xua__internal_8h_af79f59cb9478eaa7ef5b9801c5be2ef9}} \index{xua\_internal.h@{xua\_internal.h}!xua\_as\_transmit\_msg@{xua\_as\_transmit\_msg}} \index{xua\_as\_transmit\_msg@{xua\_as\_transmit\_msg}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_as\_transmit\_msg()} {\footnotesize\ttfamily int xua\+\_\+as\+\_\+transmit\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})} References \textbf{ \+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+TMOD}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+select\+\_\+asp()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+ROUNDROBIN}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+send()}, and \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast()}. Referenced by \textbf{ ipa\+\_\+tx\+\_\+xua\+\_\+as()}, \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+active()}, and \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+pending()}. \mbox{\label{xua__internal_8h_a65ed2433ab5f6146c201c56823b96509}} \index{xua\_internal.h@{xua\_internal.h}!xua\_asp\_send\_xlm\_prim@{xua\_asp\_send\_xlm\_prim}} \index{xua\_asp\_send\_xlm\_prim@{xua\_asp\_send\_xlm\_prim}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_asp\_send\_xlm\_prim()} {\footnotesize\ttfamily void xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct \textbf{ osmo\+\_\+xlm\+\_\+prim} $\ast$}]{prim }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::lm}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+::oph}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+name()}, and \textbf{ osmo\+\_\+xua\+\_\+layer\+\_\+manager\+::prim\+\_\+cb}. Referenced by \textbf{ handle\+\_\+rkey\+\_\+dereg\+\_\+resp()}, \textbf{ handle\+\_\+rkey\+\_\+reg\+\_\+resp()}, \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+err()}, \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}, and \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple()}. \mbox{\label{xua__internal_8h_ae2c4024524aae252f01907024a2560c0}} \index{xua\_internal.h@{xua\_internal.h}!xua\_asp\_send\_xlm\_prim\_simple@{xua\_asp\_send\_xlm\_prim\_simple}} \index{xua\_asp\_send\_xlm\_prim\_simple@{xua\_asp\_send\_xlm\_prim\_simple}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_asp\_send\_xlm\_prim\_simple()} {\footnotesize\ttfamily void xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{enum \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+type}}]{prim\+\_\+type, }\item[{enum osmo\+\_\+prim\+\_\+operation}]{op }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim()}, and \textbf{ xua\+\_\+xlm\+\_\+prim\+\_\+alloc()}. Referenced by \textbf{ send\+\_\+xlm\+\_\+prim\+\_\+simple()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, \textbf{ xua\+\_\+accept\+\_\+cb()}, \textbf{ xua\+\_\+cli\+\_\+close()}, \textbf{ xua\+\_\+cli\+\_\+connect\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}. \mbox{\label{xua__internal_8h_a1c94e3d373d31d7d27cd9e6784f25619}} \index{xua\_internal.h@{xua\_internal.h}!xua\_find\_as\_for\_asp@{xua\_find\_as\_for\_asp}} \index{xua\_find\_as\_for\_asp@{xua\_find\_as\_for\_asp}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_find\_as\_for\_asp()} {\footnotesize\ttfamily int xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$$\ast$}]{as, }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{const struct \textbf{ xua\+\_\+msg\+\_\+part} $\ast$}]{rctx\+\_\+ie }\end{DoxyParamCaption})} Find the AS for given ASP + optional routing context IE. if rctx\+\_\+ie == NULL, we assume that this ASP is only part of a single AS; if rctx\+\_\+ie is given, then we look-\/up the ASP based on the routing context, and verify that this ASP is part of it. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em as} & caller-\/provided address-\/of-\/pointer to store the found AS \\ \hline \mbox{\texttt{ in}} & {\em asp} & ASP for which we want to look-\/up the AS \\ \hline \mbox{\texttt{ in}} & {\em rctx\+\_\+ie} & routing context IE (may be NULL) to use for look-\/up \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 in case of success; \{M3\+UA,SUA\}\+\_\+\+ERR\+\_\+$\ast$ code in case of error. \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ find\+\_\+single\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+ERR\+\_\+\+INVAL\+\_\+\+ROUT\+\_\+\+CTX}, \textbf{ M3\+UA\+\_\+\+ERR\+\_\+\+NO\+\_\+\+CONFGD\+\_\+\+AS\+\_\+\+FOR\+\_\+\+ASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, and \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ sua\+\_\+rx\+\_\+cl()}, \textbf{ sua\+\_\+rx\+\_\+co()}, and \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}. \mbox{\label{xua__internal_8h_a4f931cf9215d8295d2f7fdc86328ceb9}} \index{xua\_internal.h@{xua\_internal.h}!xua\_rkm\_cleanup\_dyn\_as\_for\_asp@{xua\_rkm\_cleanup\_dyn\_as\_for\_asp}} \index{xua\_rkm\_cleanup\_dyn\_as\_for\_asp@{xua\_rkm\_cleanup\_dyn\_as\_for\_asp}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_rkm\_cleanup\_dyn\_as\_for\_asp()} {\footnotesize\ttfamily void xua\+\_\+rkm\+\_\+cleanup\+\_\+dyn\+\_\+as\+\_\+for\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+::rkm\+\_\+dyn\+\_\+allocated}. Referenced by \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb()}. \mbox{\label{xua__internal_8h_ab0a13bea02506a7c10cbc09eb5365cf0}} \index{xua\_internal.h@{xua\_internal.h}!xua\_snm\_pc\_available@{xua\_snm\_pc\_available}} \index{xua\_snm\_pc\_available@{xua\_snm\_pc\_available}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_snm\_pc\_available()} {\footnotesize\ttfamily void xua\+\_\+snm\+\_\+pc\+\_\+available (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{const uint32\+\_\+t $\ast$}]{aff\+\_\+pc, }\item[{unsigned int}]{num\+\_\+aff\+\_\+pc, }\item[{const char $\ast$}]{info\+\_\+str, }\item[{bool}]{available }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+active()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available\+\_\+to\+\_\+sccp()}, and \textbf{ xua\+\_\+tx\+\_\+snm\+\_\+available()}. Referenced by \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}. \mbox{\label{xua__internal_8h_af0a8709b1ca21e41a1c9d0d89fa5f041}} \index{xua\_internal.h@{xua\_internal.h}!xua\_snm\_rx\_daud@{xua\_snm\_rx\_daud}} \index{xua\_snm\_rx\_daud@{xua\_snm\_rx\_daud}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_snm\_rx\_daud()} {\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+daud (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, and \textbf{ xua\+\_\+tx\+\_\+snm\+\_\+available()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+sg()}, \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}, and \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+sg()}. \mbox{\label{xua__internal_8h_a4c96597e36bad63b9f666ca630fb7881}} \index{xua\_internal.h@{xua\_internal.h}!xua\_snm\_rx\_dava@{xua\_snm\_rx\_dava}} \index{xua\_snm\_rx\_dava@{xua\_snm\_rx\_dava}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_snm\_rx\_dava()} {\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+dava (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ smi}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SMI}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SSN}, \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p()}, \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}, and \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, and \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}. \mbox{\label{xua__internal_8h_aea11cd352ca23f5fcb6a07d00deff86b}} \index{xua\_internal.h@{xua\_internal.h}!xua\_snm\_rx\_duna@{xua\_snm\_rx\_duna}} \index{xua\_snm\_rx\_duna@{xua\_snm\_rx\_duna}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_snm\_rx\_duna()} {\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+duna (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ smi}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SMI}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SSN}, \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p()}, \textbf{ xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32()}, and \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, and \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}. \mbox{\label{xua__internal_8h_a13d36aa2ddc80797a8ec03ab6cdbebe8}} \index{xua\_internal.h@{xua\_internal.h}!xua\_snm\_rx\_dupu@{xua\_snm\_rx\_dupu}} \index{xua\_snm\_rx\_dupu@{xua\_snm\_rx\_dupu}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_snm\_rx\_dupu()} {\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+dupu (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+USER\+\_\+\+CAUSE}, \textbf{ mtp\+\_\+si\+\_\+vals}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+USER\+\_\+\+CAUSE}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32()}, and \textbf{ xua\+\_\+snm\+\_\+upu()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, and \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}. \mbox{\label{xua__internal_8h_a0de81b0e4a0baa2f6eeca78ec84fc506}} \index{xua\_internal.h@{xua\_internal.h}!xua\_snm\_rx\_scon@{xua\_snm\_rx\_scon}} \index{xua\_snm\_rx\_scon@{xua\_snm\_rx\_scon}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_snm\_rx\_scon()} {\footnotesize\ttfamily void xua\+\_\+snm\+\_\+rx\+\_\+scon (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+AFFECTED\+\_\+\+PC}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+CONC\+\_\+\+DEST}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+CONG\+\_\+\+IND}, \textbf{ M3\+UA\+\_\+\+IEI\+\_\+\+INFO\+\_\+\+STRING}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p()}, and \textbf{ xua\+\_\+snm\+\_\+scon()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}. \mbox{\label{xua__internal_8h_a1df6e93c5065b3a5441ff60d4cf5fb8c}} \index{xua\_internal.h@{xua\_internal.h}!xua\_xlm\_prim\_alloc@{xua\_xlm\_prim\_alloc}} \index{xua\_xlm\_prim\_alloc@{xua\_xlm\_prim\_alloc}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_xlm\_prim\_alloc()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xlm\+\_\+prim} $\ast$ xua\+\_\+xlm\+\_\+prim\+\_\+alloc (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+type}}]{prim\+\_\+type, }\item[{enum osmo\+\_\+prim\+\_\+operation}]{op }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+xlm\+\_\+prim\+::oph}, and \textbf{ XUA\+\_\+\+SAP\+\_\+\+LM}. Referenced by \textbf{ handle\+\_\+rkey\+\_\+dereg\+\_\+resp()}, \textbf{ handle\+\_\+rkey\+\_\+reg\+\_\+resp()}, \textbf{ lm\+\_\+timer\+\_\+cb()}, \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+err()}, \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}, and \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple()}. \doxysubsection{Variable Documentation} \mbox{\label{xua__internal_8h_a11c55fb5f6f56682c1754819b5a80eba}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_err\_names@{m3ua\_err\_names}} \index{m3ua\_err\_names@{m3ua\_err\_names}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_err\_names} {\footnotesize\ttfamily const struct value\+\_\+string m3ua\+\_\+err\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+err()}, \textbf{ peer\+\_\+send\+\_\+error()}, and \textbf{ sua\+\_\+rx\+\_\+mgmt\+\_\+err()}. \mbox{\label{xua__internal_8h_aa105aa577d0ecdda428b9352405069ae}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_msg\_class\_aspsm@{m3ua\_msg\_class\_aspsm}} \index{m3ua\_msg\_class\_aspsm@{m3ua\_msg\_class\_aspsm}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_msg\_class\_aspsm} {\footnotesize\ttfamily const struct \textbf{ xua\+\_\+msg\+\_\+class} m3ua\+\_\+msg\+\_\+class\+\_\+aspsm\hspace{0.3cm}{\ttfamily [extern]}} \mbox{\label{xua__internal_8h_aa223b2feb9001b4e618842ba7f9fe530}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_msg\_class\_asptm@{m3ua\_msg\_class\_asptm}} \index{m3ua\_msg\_class\_asptm@{m3ua\_msg\_class\_asptm}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_msg\_class\_asptm} {\footnotesize\ttfamily const struct \textbf{ xua\+\_\+msg\+\_\+class} m3ua\+\_\+msg\+\_\+class\+\_\+asptm\hspace{0.3cm}{\ttfamily [extern]}} \mbox{\label{xua__internal_8h_ac6878c5b045b1e7267b1a0b3afa364db}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_msg\_class\_mgmt@{m3ua\_msg\_class\_mgmt}} \index{m3ua\_msg\_class\_mgmt@{m3ua\_msg\_class\_mgmt}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_msg\_class\_mgmt} {\footnotesize\ttfamily const struct \textbf{ xua\+\_\+msg\+\_\+class} m3ua\+\_\+msg\+\_\+class\+\_\+mgmt\hspace{0.3cm}{\ttfamily [extern]}} \mbox{\label{xua__internal_8h_a7cb679c8ca9d252dfa766ec7f2fba44c}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_msg\_class\_rkm@{m3ua\_msg\_class\_rkm}} \index{m3ua\_msg\_class\_rkm@{m3ua\_msg\_class\_rkm}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_msg\_class\_rkm} {\footnotesize\ttfamily const struct \textbf{ xua\+\_\+msg\+\_\+class} m3ua\+\_\+msg\+\_\+class\+\_\+rkm\hspace{0.3cm}{\ttfamily [extern]}} \mbox{\label{xua__internal_8h_a35e9ebf716b800839c00351acc2af5df}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_msg\_class\_snm@{m3ua\_msg\_class\_snm}} \index{m3ua\_msg\_class\_snm@{m3ua\_msg\_class\_snm}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_msg\_class\_snm} {\footnotesize\ttfamily const struct \textbf{ xua\+\_\+msg\+\_\+class} m3ua\+\_\+msg\+\_\+class\+\_\+snm\hspace{0.3cm}{\ttfamily [extern]}} \mbox{\label{xua__internal_8h_aa8ec421eaf92b35c2d0a1d70c9e69c6e}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_ntfy\_other\_names@{m3ua\_ntfy\_other\_names}} \index{m3ua\_ntfy\_other\_names@{m3ua\_ntfy\_other\_names}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_ntfy\_other\_names} {\footnotesize\ttfamily const struct value\+\_\+string m3ua\+\_\+ntfy\+\_\+other\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}, and \textbf{ sua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}. \mbox{\label{xua__internal_8h_a336c3d71f1928545474640e45077bc88}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_ntfy\_stchg\_names@{m3ua\_ntfy\_stchg\_names}} \index{m3ua\_ntfy\_stchg\_names@{m3ua\_ntfy\_stchg\_names}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_ntfy\_stchg\_names} {\footnotesize\ttfamily const struct value\+\_\+string m3ua\+\_\+ntfy\+\_\+stchg\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}, and \textbf{ sua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}. \mbox{\label{xua__internal_8h_a0ce1a526587558d83d657b761f3c62c4}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_ntfy\_type\_names@{m3ua\_ntfy\_type\_names}} \index{m3ua\_ntfy\_type\_names@{m3ua\_ntfy\_type\_names}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_ntfy\_type\_names} {\footnotesize\ttfamily const struct value\+\_\+string m3ua\+\_\+ntfy\+\_\+type\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ m3ua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}, and \textbf{ sua\+\_\+rx\+\_\+mgmt\+\_\+ntfy()}. \mbox{\label{xua__internal_8h_a517b691866d2bf1ab9a24ac08ee120fc}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_rkm\_dereg\_status\_vals@{m3ua\_rkm\_dereg\_status\_vals}} \index{m3ua\_rkm\_dereg\_status\_vals@{m3ua\_rkm\_dereg\_status\_vals}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_rkm\_dereg\_status\_vals} {\footnotesize\ttfamily const struct value\+\_\+string m3ua\+\_\+rkm\+\_\+dereg\+\_\+status\+\_\+vals[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ handle\+\_\+rkey\+\_\+dereg\+\_\+resp()}. \mbox{\label{xua__internal_8h_a0992bf5538b7f033f634174b1f01dfdd}} \index{xua\_internal.h@{xua\_internal.h}!m3ua\_rkm\_reg\_status\_vals@{m3ua\_rkm\_reg\_status\_vals}} \index{m3ua\_rkm\_reg\_status\_vals@{m3ua\_rkm\_reg\_status\_vals}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{m3ua\_rkm\_reg\_status\_vals} {\footnotesize\ttfamily const struct value\+\_\+string m3ua\+\_\+rkm\+\_\+reg\+\_\+status\+\_\+vals[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ handle\+\_\+rkey\+\_\+reg\+\_\+resp()}. \mbox{\label{xua__internal_8h_a4fd3a2164089040052bb12b1363b18d7}} \index{xua\_internal.h@{xua\_internal.h}!ss7\_asp\_lm\_timer\_defaults@{ss7\_asp\_lm\_timer\_defaults}} \index{ss7\_asp\_lm\_timer\_defaults@{ss7\_asp\_lm\_timer\_defaults}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{ss7\_asp\_lm\_timer\_defaults} {\footnotesize\ttfamily const struct osmo\+\_\+tdef ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+defaults[\textbf{ SS7\+\_\+\+ASP\+\_\+\+LM\+\_\+\+TIMERS\+\_\+\+LEN}]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ gen\+\_\+asp\+\_\+timer\+\_\+cmd\+\_\+strs()}, and \textbf{ ss7\+\_\+asp\+\_\+alloc()}. \mbox{\label{xua__internal_8h_a9978fc0fc7f45342d5df6d439ef0d4cc}} \index{xua\_internal.h@{xua\_internal.h}!ss7\_asp\_lm\_timer\_names@{ss7\_asp\_lm\_timer\_names}} \index{ss7\_asp\_lm\_timer\_names@{ss7\_asp\_lm\_timer\_names}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{ss7\_asp\_lm\_timer\_names} {\footnotesize\ttfamily const struct value\+\_\+string ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ gen\+\_\+asp\+\_\+timer\+\_\+cmd\+\_\+strs()}, \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+name()}, and \textbf{ write\+\_\+asp\+\_\+timers()}. \mbox{\label{xua__internal_8h_a6440967ba56751bd7b6913c0bc6402e9}} \index{xua\_internal.h@{xua\_internal.h}!xua\_default\_lm\_fsm@{xua\_default\_lm\_fsm}} \index{xua\_default\_lm\_fsm@{xua\_default\_lm\_fsm}!xua\_internal.h@{xua\_internal.h}} \doxysubsubsection{xua\_default\_lm\_fsm} {\footnotesize\ttfamily struct osmo\+\_\+fsm xua\+\_\+default\+\_\+lm\+\_\+fsm\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm()}, and \textbf{ osmo\+\_\+ss7\+\_\+init()}.