\section{src/sccp\+\_\+internal.h File Reference} \label{sccp__internal_8h}\index{src/sccp\+\_\+internal.\+h@{src/sccp\+\_\+internal.\+h}} {\ttfamily \#include $<$osmocom/core/fsm.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/prim.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/linuxrbtree.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/tdef.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+sap.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/protocol/mtp.\+h$>$}\newline \subsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} \item struct \textbf{ osmo\+\_\+sccp\+\_\+user} \end{DoxyCompactItemize} \subsection*{Macros} \begin{DoxyCompactItemize} \item \#define \textbf{ S\+C\+C\+P\+\_\+\+S\+TR}~\char`\"{}Signalling Connection Control Part\textbackslash{}n\char`\"{} \end{DoxyCompactItemize} \subsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \textbf{ osmo\+\_\+sccp\+\_\+timer} \{ \newline \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+C\+O\+N\+N\+\_\+\+E\+ST} = 1, \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AS}, \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AR}, \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+EL}, \newline \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+P\+E\+A\+T\+\_\+\+R\+EL}, \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+NT}, \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+G\+U\+A\+RD}, \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+S\+ET}, \newline \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+A\+S\+S\+E\+M\+B\+LY}, \textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN} \} \end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item static const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+name} (enum \textbf{ osmo\+\_\+sccp\+\_\+timer} val) \item struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$ \textbf{ sccp\+\_\+user\+\_\+find} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint16\+\_\+t ssn, uint32\+\_\+t pc) \begin{DoxyCompactList}\small\item\em Find a S\+C\+CP User registered for given P\+C+\+S\+SN or S\+SN only First search all users with a valid PC for a full P\+C+\+S\+SN match. \end{DoxyCompactList}\item int \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item int \textbf{ sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item int \textbf{ scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \item void \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \begin{DoxyCompactList}\small\item\em Main entrance function for primitives from the S\+C\+RC (Routing Control) \end{DoxyCompactList}\item void \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, uint32\+\_\+t cause) \begin{DoxyCompactList}\small\item\em S\+C\+OC\+: Receive S\+C\+RC Routing Failure. \end{DoxyCompactList}\item void \textbf{ sccp\+\_\+scoc\+\_\+flush\+\_\+connections} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst) \item int \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua) \begin{DoxyCompactList}\small\item\em S\+C\+RC -\/$>$ S\+C\+LC (connectionless message) \end{DoxyCompactList}\item void \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, uint32\+\_\+t cause) \begin{DoxyCompactList}\small\item\em S\+C\+RC -\/$>$ S\+C\+LC (Routing Failure. \end{DoxyCompactList}\item int \textbf{ sccp\+\_\+user\+\_\+prim\+\_\+up} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scut, struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim) \begin{DoxyCompactList}\small\item\em Send a S\+C\+CP User S\+AP Primitive up to the User. \end{DoxyCompactList}\item int \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, struct osmo\+\_\+prim\+\_\+hdr $\ast$oph) \begin{DoxyCompactList}\small\item\em Main entrance function for primitives from S\+C\+CP User. \end{DoxyCompactList}\item int \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, struct osmo\+\_\+prim\+\_\+hdr $\ast$oph) \begin{DoxyCompactList}\small\item\em Main entrance function for primitives from S\+C\+CP User. \end{DoxyCompactList}\item struct msgb $\ast$ \textbf{ sccp\+\_\+msgb\+\_\+alloc} (const char $\ast$name) \item void \textbf{ sccp\+\_\+scoc\+\_\+show\+\_\+connections} (struct vty $\ast$vty, struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst) \item void \textbf{ osmo\+\_\+sccp\+\_\+vty\+\_\+write\+\_\+cs7\+\_\+node} (struct vty $\ast$vty, const char $\ast$indent, struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst) \item void \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, const struct \textbf{ osmo\+\_\+scu\+\_\+pcstate\+\_\+param} $\ast$pcstate) \item void \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, const struct \textbf{ osmo\+\_\+scu\+\_\+state\+\_\+param} $\ast$state) \item void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t ssn, uint32\+\_\+t \textbf{ smi}) \item void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t ssn, uint32\+\_\+t \textbf{ smi}) \item void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}) \begin{DoxyCompactList}\small\item\em brief M\+TP -\/$>$ S\+NM (M\+T\+P-\/\+P\+A\+U\+S\+E.\+ind) -\/ inability to providing M\+TP service Q.\+714 5.\+2.\+2 \end{DoxyCompactList}\item void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}) \begin{DoxyCompactList}\small\item\em brief M\+TP -\/$>$ S\+NM (M\+T\+P-\/\+R\+E\+S\+U\+M\+E.\+ind) -\/ ability of providing the M\+TP service Q.\+714 5.\+2.\+3 \end{DoxyCompactList}\item void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}, enum \textbf{ mtp\+\_\+unavail\+\_\+cause} cause) \item int \textbf{ sccp\+\_\+scmg\+\_\+init} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst) \end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item const struct osmo\+\_\+tdef \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+defaults} [\textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN}] \item const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+names} [$\,$] \item int \textbf{ D\+S\+C\+CP} \item struct osmo\+\_\+fsm \textbf{ sccp\+\_\+scoc\+\_\+fsm} \end{DoxyCompactItemize} \subsection{Macro Definition Documentation} \mbox{\label{sccp__internal_8h_aece26f11b022cc13c6691b4b8f20ea3c}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!S\+C\+C\+P\+\_\+\+S\+TR@{S\+C\+C\+P\+\_\+\+S\+TR}} \index{S\+C\+C\+P\+\_\+\+S\+TR@{S\+C\+C\+P\+\_\+\+S\+TR}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{S\+C\+C\+P\+\_\+\+S\+TR} {\footnotesize\ttfamily \#define S\+C\+C\+P\+\_\+\+S\+TR~\char`\"{}Signalling Connection Control Part\textbackslash{}n\char`\"{}} \subsection{Enumeration Type Documentation} \mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!osmo\+\_\+sccp\+\_\+timer@{osmo\+\_\+sccp\+\_\+timer}} \index{osmo\+\_\+sccp\+\_\+timer@{osmo\+\_\+sccp\+\_\+timer}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+timer} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sccp\+\_\+timer}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+C\+O\+N\+N\+\_\+\+E\+ST@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+C\+O\+N\+N\+\_\+\+E\+ST}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+C\+O\+N\+N\+\_\+\+E\+ST@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+C\+O\+N\+N\+\_\+\+E\+ST}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14ae4ed5869e21520b16e4b0f2cd878516f}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+C\+O\+N\+N\+\_\+\+E\+ST&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AS@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AS}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AS@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AS}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14ae39ee3132d645374f9110373c651e33b}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AS&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AR@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AR}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AR@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AR}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14af773199473ee326757b50818c6a50e3a}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AR&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+EL@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+EL}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+EL@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+EL}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14ac8dc9ae42a9b305d4fe4c9940d7c48b3}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+EL&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+P\+E\+A\+T\+\_\+\+R\+EL@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+P\+E\+A\+T\+\_\+\+R\+EL}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+P\+E\+A\+T\+\_\+\+R\+EL@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+P\+E\+A\+T\+\_\+\+R\+EL}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14a31c206a7d13023be866802fadb811697}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+P\+E\+A\+T\+\_\+\+R\+EL&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+NT@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+NT}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+NT@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+NT}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14a6cf826de2f97fa78507b8da7f6aac674}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+NT&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+G\+U\+A\+RD@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+G\+U\+A\+RD}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+G\+U\+A\+RD@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+G\+U\+A\+RD}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14aa093571f840d3c0647dbf49fb174e97f}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+G\+U\+A\+RD&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+S\+ET@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+S\+ET}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+S\+ET@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+S\+ET}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14af4e02ea8c9b11acfefb361fe045c5514}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+S\+ET&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+A\+S\+S\+E\+M\+B\+LY@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+A\+S\+S\+E\+M\+B\+LY}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+A\+S\+S\+E\+M\+B\+LY@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+A\+S\+S\+E\+M\+B\+LY}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14ab0f8b986256e7d3c73c99b9c68a8171a}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+A\+S\+S\+E\+M\+B\+LY&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14ab333867710241fb0cfe60000555104af}} O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN&\\ \hline \end{DoxyEnumFields} \subsection{Function Documentation} \mbox{\label{sccp__internal_8h_a7c0dd924c0f1fa092962212eea88cbc9}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!osmo\+\_\+sccp\+\_\+timer\+\_\+name@{osmo\+\_\+sccp\+\_\+timer\+\_\+name}} \index{osmo\+\_\+sccp\+\_\+timer\+\_\+name@{osmo\+\_\+sccp\+\_\+timer\+\_\+name}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+timer\+\_\+name()} {\footnotesize\ttfamily static const char$\ast$ osmo\+\_\+sccp\+\_\+timer\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+sccp\+\_\+timer}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References osmo\+\_\+sccp\+\_\+timer\+\_\+names. \mbox{\label{sccp__internal_8h_a03d33d5b19ae71529da0ac0984de2794}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!osmo\+\_\+sccp\+\_\+vty\+\_\+write\+\_\+cs7\+\_\+node@{osmo\+\_\+sccp\+\_\+vty\+\_\+write\+\_\+cs7\+\_\+node}} \index{osmo\+\_\+sccp\+\_\+vty\+\_\+write\+\_\+cs7\+\_\+node@{osmo\+\_\+sccp\+\_\+vty\+\_\+write\+\_\+cs7\+\_\+node}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+vty\+\_\+write\+\_\+cs7\+\_\+node()} {\footnotesize\ttfamily void osmo\+\_\+sccp\+\_\+vty\+\_\+write\+\_\+cs7\+\_\+node (\begin{DoxyParamCaption}\item[{struct vty $\ast$}]{vty, }\item[{const char $\ast$}]{indent, }\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References osmo\+\_\+sccp\+\_\+instance\+::max\+\_\+optional\+\_\+data, and write\+\_\+sccp\+\_\+timers(). Referenced by write\+\_\+one\+\_\+cs7(). \mbox{\label{sccp__internal_8h_ab1db96d27a773af541638dc93fdace21}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate@{sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate}} \index{sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate@{sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate()} {\footnotesize\ttfamily void sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{const struct \textbf{ osmo\+\_\+scu\+\_\+pcstate\+\_\+param} $\ast$}]{pcstate }\end{DoxyParamCaption})} References osmo\+\_\+sccp\+\_\+user\+::list, osmo\+\_\+scu\+\_\+prim\+::oph, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+P\+C\+S\+T\+A\+TE, osmo\+\_\+scu\+\_\+prim\+::pcstate, sccp\+\_\+msgb\+\_\+alloc(), S\+C\+C\+P\+\_\+\+S\+A\+P\+\_\+\+U\+S\+ER, sccp\+\_\+user\+\_\+prim\+\_\+up(), osmo\+\_\+scu\+\_\+prim\+::u, and osmo\+\_\+sccp\+\_\+instance\+::users. Referenced by sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause(), sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume(), and sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status(). \mbox{\label{sccp__internal_8h_aabfd5fec32f2a90b0e50d028b39b1291}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state@{sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state}} \index{sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state@{sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state()} {\footnotesize\ttfamily void sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{const struct \textbf{ osmo\+\_\+scu\+\_\+state\+\_\+param} $\ast$}]{state }\end{DoxyParamCaption})} References osmo\+\_\+sccp\+\_\+user\+::list, osmo\+\_\+scu\+\_\+prim\+::oph, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+S\+T\+A\+TE, sccp\+\_\+msgb\+\_\+alloc(), S\+C\+C\+P\+\_\+\+S\+A\+P\+\_\+\+U\+S\+ER, sccp\+\_\+user\+\_\+prim\+\_\+up(), osmo\+\_\+scu\+\_\+prim\+::state, osmo\+\_\+scu\+\_\+prim\+::u, and osmo\+\_\+sccp\+\_\+instance\+::users. Referenced by sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed(), and sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited(). \mbox{\label{sccp__internal_8h_af5641b370432180fb48016e3900a03c5}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+msgb\+\_\+alloc@{sccp\+\_\+msgb\+\_\+alloc}} \index{sccp\+\_\+msgb\+\_\+alloc@{sccp\+\_\+msgb\+\_\+alloc}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+msgb\+\_\+alloc()} {\footnotesize\ttfamily struct msgb$\ast$ sccp\+\_\+msgb\+\_\+alloc (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name }\end{DoxyParamCaption})} References S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, and S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE. Referenced by osmo\+\_\+sua\+\_\+to\+\_\+sccp(), sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate(), sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state(), sccp\+\_\+scmg\+\_\+tx(), sclc\+\_\+rx\+\_\+cldr(), and sclc\+\_\+rx\+\_\+cldt(). \mbox{\label{sccp__internal_8h_a839b843770fe7a81ec460ace5ddfe7d0}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc@{sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc}} \index{sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc@{sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc()} {\footnotesize\ttfamily int sccp\+\_\+sclc\+\_\+rx\+\_\+from\+\_\+scrc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} S\+C\+RC -\/$>$ S\+C\+LC (connectionless message) \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+C\+CP Instance in which we operate \\ \hline \mbox{\tt in} & {\em xua} & S\+UA connectionless message \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References xua\+\_\+msg\+::hdr, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, sclc\+\_\+rx\+\_\+cldr(), sclc\+\_\+rx\+\_\+cldt(), S\+U\+A\+\_\+\+C\+L\+\_\+\+C\+L\+DR, S\+U\+A\+\_\+\+C\+L\+\_\+\+C\+L\+DT, S\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+CL, xua\+\_\+dialect\+\_\+sua, and xua\+\_\+hdr\+\_\+dump(). Referenced by scrc\+\_\+node\+\_\+6(), and scrc\+\_\+translate\+\_\+node\+\_\+9(). \mbox{\label{sccp__internal_8h_a086464ecc2db005660b615f84680b7fd}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail@{sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail}} \index{sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail@{sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()} {\footnotesize\ttfamily void sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua\+\_\+in, }\item[{uint32\+\_\+t}]{cause }\end{DoxyParamCaption})} S\+C\+RC -\/$>$ S\+C\+LC (Routing Failure. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+C\+CP Instance in which we operate \\ \hline \mbox{\tt in} & {\em xua\+\_\+in} & Message that failed to be routed \\ \hline \mbox{\tt in} & {\em cause} & S\+C\+CP Return Cause \\ \hline \end{DoxyParams} References gen\+\_\+ret\+\_\+msg(), xua\+\_\+msg\+::hdr, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, xua\+\_\+msg\+::mtp, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc, osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local(), sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg(), sclc\+\_\+rx\+\_\+cldr(), osmo\+\_\+sccp\+\_\+instance\+::ss7, S\+U\+A\+\_\+\+C\+L\+\_\+\+C\+L\+DR, S\+U\+A\+\_\+\+C\+L\+\_\+\+C\+L\+DT, and xua\+\_\+msg\+\_\+free(). Referenced by scrc\+\_\+node\+\_\+4(), scrc\+\_\+node\+\_\+6(), and scrc\+\_\+translate\+\_\+node\+\_\+9(). \mbox{\label{sccp__internal_8h_a5a395d329728106701783c2a6a1c965c}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down@{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down}} \index{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down@{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down()} {\footnotesize\ttfamily int sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu, }\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})} Main entrance function for primitives from S\+C\+CP User. Implies a msgb\+\_\+free(oph-\/$>$msg), otherwise the same as \doxyref{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}{p.}{sccp__sclc_8c_a60bc93a2c2c73fd5ff578713e0f1bde5}. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em scu} & S\+C\+CP User who is sending the primitive \\ \hline & {\em } & \\ \hline \end{DoxyParams} References osmo\+\_\+scu\+\_\+prim\+::oph, and sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree(). \mbox{\label{sccp__internal_8h_a60bc93a2c2c73fd5ff578713e0f1bde5}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree@{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree}} \index{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree@{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()} {\footnotesize\ttfamily int sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu, }\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})} Main entrance function for primitives from S\+C\+CP User. The caller is required to free oph-\/$>$msg, otherwise the same as \doxyref{sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down()}{p.}{sccp__sclc_8c_a5a395d329728106701783c2a6a1c965c}. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em scu} & S\+C\+CP User who is sending the primitive \\ \hline & {\em } & \\ \hline \end{DoxyParams} References osmo\+\_\+scu\+\_\+prim\+::oph, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+U\+N\+I\+T\+D\+A\+TA, osmo\+\_\+scu\+\_\+prim\+\_\+name(), S\+U\+A\+\_\+\+C\+L\+\_\+\+C\+L\+DT, and xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(). Referenced by osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree(), and sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down(). \mbox{\label{sccp__internal_8h_a78005d521d9f14a1a8504b2d18691539}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scmg\+\_\+init@{sccp\+\_\+scmg\+\_\+init}} \index{sccp\+\_\+scmg\+\_\+init@{sccp\+\_\+scmg\+\_\+init}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scmg\+\_\+init()} {\footnotesize\ttfamily int sccp\+\_\+scmg\+\_\+init (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References osmo\+\_\+sccp\+\_\+user\+\_\+bind(), and scmg\+\_\+prim\+\_\+cb(). Referenced by osmo\+\_\+sccp\+\_\+instance\+\_\+create(). \mbox{\label{sccp__internal_8h_a6e1de1fdffab62084b3e51db5a09b7c4}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause}} \index{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause()} {\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})} brief M\+TP -\/$>$ S\+NM (M\+T\+P-\/\+P\+A\+U\+S\+E.\+ind) -\/ inability to providing M\+TP service Q.\+714 5.\+2.\+2 References osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc, dpc, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+E\+M\+\_\+\+S\+C\+C\+P\+\_\+\+S\+\_\+\+U\+N\+A\+V\+A\+I\+L\+A\+B\+L\+E\+\_\+\+U\+N\+K\+N\+O\+WN, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+S\+P\+\_\+\+S\+\_\+\+I\+N\+A\+C\+C\+E\+S\+S\+I\+B\+LE, and sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate(). Referenced by xua\+\_\+snm\+\_\+pc\+\_\+available\+\_\+to\+\_\+sccp(). \mbox{\label{sccp__internal_8h_a9b395f6f66a9d5cd22fec3841738d6ca}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume}} \index{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume()} {\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})} brief M\+TP -\/$>$ S\+NM (M\+T\+P-\/\+R\+E\+S\+U\+M\+E.\+ind) -\/ ability of providing the M\+TP service Q.\+714 5.\+2.\+3 References osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc, dpc, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+E\+M\+\_\+\+S\+C\+C\+P\+\_\+\+S\+\_\+\+A\+V\+A\+I\+L\+A\+B\+LE, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+S\+P\+\_\+\+S\+\_\+\+A\+C\+C\+E\+S\+S\+I\+B\+LE, and sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate(). Referenced by xua\+\_\+snm\+\_\+pc\+\_\+available\+\_\+to\+\_\+sccp(). \mbox{\label{sccp__internal_8h_a52ebba6e3b52df06bb6b8e21ea937dda}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status}} \index{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status()} {\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{dpc, }\item[{enum \textbf{ mtp\+\_\+unavail\+\_\+cause}}]{cause }\end{DoxyParamCaption})} References osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc, dpc, M\+T\+P\+\_\+\+U\+N\+A\+V\+A\+I\+L\+\_\+\+C\+\_\+\+I\+N\+A\+C\+C\+\_\+\+R\+E\+M\+\_\+\+U\+S\+ER, M\+T\+P\+\_\+\+U\+N\+A\+V\+A\+I\+L\+\_\+\+C\+\_\+\+U\+N\+E\+Q\+U\+I\+P\+\_\+\+R\+E\+M\+\_\+\+U\+S\+ER, M\+T\+P\+\_\+\+U\+N\+A\+V\+A\+I\+L\+\_\+\+C\+\_\+\+U\+N\+K\+N\+O\+WN, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+E\+M\+\_\+\+S\+C\+C\+P\+\_\+\+S\+\_\+\+U\+N\+A\+V\+A\+I\+L\+A\+B\+L\+E\+\_\+\+U\+N\+K\+N\+O\+WN, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+S\+P\+\_\+\+S\+\_\+\+A\+C\+C\+E\+S\+S\+I\+B\+LE, and sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate(). Referenced by xua\+\_\+snm\+\_\+upu(). \mbox{\label{sccp__internal_8h_a112a6f006b73b2b5dc475c6ccd33337d}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed@{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed}} \index{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed@{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed()} {\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{dpc, }\item[{uint32\+\_\+t}]{ssn, }\item[{uint32\+\_\+t}]{smi }\end{DoxyParamCaption})} References osmo\+\_\+scu\+\_\+state\+\_\+param\+::affected\+\_\+pc, dpc, sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state(), and smi. Referenced by scmg\+\_\+rx\+\_\+ssa(), and sua\+\_\+snm\+\_\+ssn\+\_\+available\+\_\+to\+\_\+sccp(). \mbox{\label{sccp__internal_8h_a6790766deb21c57560ab062d8a7ee0be}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited@{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited}} \index{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited@{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited()} {\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{dpc, }\item[{uint32\+\_\+t}]{ssn, }\item[{uint32\+\_\+t}]{smi }\end{DoxyParamCaption})} References osmo\+\_\+scu\+\_\+state\+\_\+param\+::affected\+\_\+pc, dpc, sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state(), and smi. Referenced by scmg\+\_\+rx\+\_\+ssp(), and sua\+\_\+snm\+\_\+ssn\+\_\+available\+\_\+to\+\_\+sccp(). \mbox{\label{sccp__internal_8h_ac9947e47665a8aa2e294b26c599a4ca7}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scoc\+\_\+flush\+\_\+connections@{sccp\+\_\+scoc\+\_\+flush\+\_\+connections}} \index{sccp\+\_\+scoc\+\_\+flush\+\_\+connections@{sccp\+\_\+scoc\+\_\+flush\+\_\+connections}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scoc\+\_\+flush\+\_\+connections()} {\footnotesize\ttfamily void sccp\+\_\+scoc\+\_\+flush\+\_\+connections (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References conn\+\_\+destroy(), osmo\+\_\+sccp\+\_\+instance\+::connections, and sccp\+\_\+connection\+::node. Referenced by osmo\+\_\+sccp\+\_\+instance\+\_\+destroy(). \mbox{\label{sccp__internal_8h_a7e6ca58debc34b50244590c90e68943f}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc@{sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc}} \index{sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc@{sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc()} {\footnotesize\ttfamily void sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} Main entrance function for primitives from the S\+C\+RC (Routing Control) \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+C\+CP Instance in which we operate \\ \hline \mbox{\tt in} & {\em xua} & S\+UA message in \doxyref{xua\+\_\+msg}{p.}{structxua__msg} format \\ \hline \end{DoxyParams} References conn\+\_\+create(), conn\+\_\+find\+\_\+by\+\_\+id(), sccp\+\_\+connection\+::conn\+\_\+id, sccp\+\_\+connection\+::fi, xua\+\_\+msg\+::hdr, sccp\+\_\+connection\+::incoming, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, xua\+\_\+msg\+::mtp, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc, sccp\+\_\+connection\+::remote\+\_\+pc, sccp\+\_\+connection\+::remote\+\_\+ref, sccp\+\_\+find\+\_\+user(), sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc(), sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref(), sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref(), S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+AK, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+RE, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, xua\+\_\+dialect\+\_\+sua, xua\+\_\+hdr\+\_\+dump(), xua\+\_\+msg\+\_\+event\+\_\+map(), xua\+\_\+msg\+\_\+find\+\_\+tag(), and xua\+\_\+msg\+\_\+get\+\_\+u32(). Referenced by scrc\+\_\+node\+\_\+6(), scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua(), and scrc\+\_\+translate\+\_\+node\+\_\+9(). \mbox{\label{sccp__internal_8h_a92800c00e934b3faaf1c7dc6552d9bf5}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail@{sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail}} \index{sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail@{sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()} {\footnotesize\ttfamily void sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua, }\item[{uint32\+\_\+t}]{return\+\_\+cause }\end{DoxyParamCaption})} S\+C\+OC\+: Receive S\+C\+RC Routing Failure. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+C\+CP Instance on which we operate \\ \hline \mbox{\tt in} & {\em xua} & S\+UA message that was failed to route \\ \hline \mbox{\tt in} & {\em return\+\_\+cause} & Reason (cause) for routing failure \\ \hline \end{DoxyParams} References conn\+\_\+find\+\_\+by\+\_\+id(), sccp\+\_\+connection\+::conn\+\_\+id, sccp\+\_\+connection\+::fi, gen\+\_\+coref\+\_\+without\+\_\+conn(), get\+\_\+cref\+\_\+cause\+\_\+for\+\_\+ret(), sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg(), S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, xua\+\_\+dialect\+\_\+sua, xua\+\_\+hdr\+\_\+dump(), xua\+\_\+msg\+\_\+free(), and xua\+\_\+msg\+\_\+get\+\_\+u32(). Referenced by scrc\+\_\+node\+\_\+2(), scrc\+\_\+node\+\_\+4(), and scrc\+\_\+node\+\_\+6(). \mbox{\label{sccp__internal_8h_a9b54133b478681e048c5556e100e463f}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scoc\+\_\+show\+\_\+connections@{sccp\+\_\+scoc\+\_\+show\+\_\+connections}} \index{sccp\+\_\+scoc\+\_\+show\+\_\+connections@{sccp\+\_\+scoc\+\_\+show\+\_\+connections}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scoc\+\_\+show\+\_\+connections()} {\footnotesize\ttfamily void sccp\+\_\+scoc\+\_\+show\+\_\+connections (\begin{DoxyParamCaption}\item[{struct vty $\ast$}]{vty, }\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References osmo\+\_\+sccp\+\_\+instance\+::connections, sccp\+\_\+connection\+::node, and vty\+\_\+show\+\_\+connection(). Referenced by D\+E\+F\+U\+N(). \mbox{\label{sccp__internal_8h_a8dc48be976019be4ab89019aabcb3bbc}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg@{sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg}} \index{sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg@{sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg()} {\footnotesize\ttfamily int sccp\+\_\+scrc\+\_\+rx\+\_\+sclc\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References xua\+\_\+msg\+::hdr, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+I\+\_\+\+GT, osmo\+\_\+sccp\+\_\+addr\+::ri, scrc\+\_\+local\+\_\+out\+\_\+common(), scrc\+\_\+node\+\_\+12(), scrc\+\_\+node\+\_\+7(), sua\+\_\+addr\+\_\+parse(), S\+U\+A\+\_\+\+C\+L\+\_\+\+C\+L\+DR, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+A\+D\+DR, xua\+\_\+dialect\+\_\+sua, and xua\+\_\+msg\+\_\+dump(). Referenced by sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail(), and xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(). \mbox{\label{sccp__internal_8h_a15a6de5f59a65101717acc2d1597d955}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg@{sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg}} \index{sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg@{sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg()} {\footnotesize\ttfamily int sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References xua\+\_\+msg\+::hdr, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, scrc\+\_\+local\+\_\+out\+\_\+common(), scrc\+\_\+node\+\_\+2(), sua\+\_\+addr\+\_\+parse(), S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+RE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+A\+D\+DR, xua\+\_\+dialect\+\_\+sua, and xua\+\_\+msg\+\_\+dump(). Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail(), tx\+\_\+coerr\+\_\+from\+\_\+xua(), tx\+\_\+relco\+\_\+from\+\_\+xua(), tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway(), xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), and xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send(). \mbox{\label{sccp__internal_8h_a4eed9498fc7d3cc333a5661b779e1a8a}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+user\+\_\+find@{sccp\+\_\+user\+\_\+find}} \index{sccp\+\_\+user\+\_\+find@{sccp\+\_\+user\+\_\+find}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+user\+\_\+find()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+user}$\ast$ sccp\+\_\+user\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{uint16\+\_\+t}]{ssn, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} Find a S\+C\+CP User registered for given P\+C+\+S\+SN or S\+SN only First search all users with a valid PC for a full P\+C+\+S\+SN match. If no such match was found, search all users with an invalid PC for an S\+S\+N-\/only match. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+C\+CP Instance in which to search \\ \hline \mbox{\tt in} & {\em ssn} & Sub-\/\+System Number to search for \\ \hline \mbox{\tt in} & {\em pc} & Point Code to search for \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Matching S\+C\+CP User; N\+U\+LL if none found \end{DoxyReturn} References osmo\+\_\+sccp\+\_\+user\+::list, osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid(), osmo\+\_\+sccp\+\_\+user\+::pc, osmo\+\_\+sccp\+\_\+user\+::ssn, and osmo\+\_\+sccp\+\_\+instance\+::users. Referenced by D\+E\+F\+U\+N(), osmo\+\_\+sccp\+\_\+user\+\_\+find(), sccp\+\_\+find\+\_\+user(), sccp\+\_\+user\+\_\+bind\+\_\+pc(), sclc\+\_\+rx\+\_\+cldr(), sclc\+\_\+rx\+\_\+cldt(), scmg\+\_\+rx\+\_\+sst(), and scrc\+\_\+node\+\_\+6(). \mbox{\label{sccp__internal_8h_acac4bf761e73af753df023703e6faf83}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+user\+\_\+prim\+\_\+up@{sccp\+\_\+user\+\_\+prim\+\_\+up}} \index{sccp\+\_\+user\+\_\+prim\+\_\+up@{sccp\+\_\+user\+\_\+prim\+\_\+up}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+user\+\_\+prim\+\_\+up()} {\footnotesize\ttfamily int sccp\+\_\+user\+\_\+prim\+\_\+up (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu, }\item[{struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim }\end{DoxyParamCaption})} Send a S\+C\+CP User S\+AP Primitive up to the User. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em scu} & S\+C\+CP User to whom to send the primitive \\ \hline \mbox{\tt in} & {\em prim} & Primitive to send to the user \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} return value of the S\+C\+CP User\textquotesingle{}s prim\+\_\+cb() function \end{DoxyReturn} References osmo\+\_\+sccp\+\_\+user\+::name, osmo\+\_\+scu\+\_\+prim\+::oph, osmo\+\_\+scu\+\_\+prim\+\_\+name(), and osmo\+\_\+sccp\+\_\+user\+::prim\+\_\+cb. Referenced by sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate(), sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state(), sclc\+\_\+rx\+\_\+cldr(), sclc\+\_\+rx\+\_\+cldt(), and scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(). \mbox{\label{sccp__internal_8h_a52d608a935f14519bcf883fc7858145e}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua@{scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua}} \index{scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua@{scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua()} {\footnotesize\ttfamily int scrc\+\_\+rx\+\_\+mtp\+\_\+xfer\+\_\+ind\+\_\+xua (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})} References xua\+\_\+msg\+\_\+part\+::dat, ensure\+\_\+opc\+\_\+in\+\_\+calling\+\_\+ssn(), O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+I\+\_\+\+GT, osmo\+\_\+sccp\+\_\+addr\+::ri, sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc(), scrc\+\_\+node\+\_\+4(), scrc\+\_\+node\+\_\+6(), scrc\+\_\+translate\+\_\+node\+\_\+9(), sua\+\_\+addr\+\_\+parse(), S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+A\+D\+DR, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+P\+R\+O\+T\+O\+\_\+\+C\+L\+A\+SS, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S7\+\_\+\+H\+O\+P\+\_\+\+C\+TR, sua\+\_\+is\+\_\+connectionless(), sua\+\_\+is\+\_\+cr(), xua\+\_\+dialect\+\_\+sua, xua\+\_\+msg\+\_\+dump(), xua\+\_\+msg\+\_\+find\+\_\+tag(), xua\+\_\+msg\+\_\+get\+\_\+u32(), and xua\+\_\+msg\+\_\+part\+\_\+get\+\_\+u32(). Referenced by mtp\+\_\+user\+\_\+prim\+\_\+cb(), sua\+\_\+rx\+\_\+cl(), and sua\+\_\+rx\+\_\+co(). \subsection{Variable Documentation} \mbox{\label{sccp__internal_8h_a76289a1eaad826ce833ea29955728e6b}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!D\+S\+C\+CP@{D\+S\+C\+CP}} \index{D\+S\+C\+CP@{D\+S\+C\+CP}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{D\+S\+C\+CP} {\footnotesize\ttfamily int D\+S\+C\+CP} \mbox{\label{sccp__internal_8h_ae4f0f4b8faf5d7ba93d5d5ead401c2b3}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!osmo\+\_\+sccp\+\_\+timer\+\_\+defaults@{osmo\+\_\+sccp\+\_\+timer\+\_\+defaults}} \index{osmo\+\_\+sccp\+\_\+timer\+\_\+defaults@{osmo\+\_\+sccp\+\_\+timer\+\_\+defaults}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+timer\+\_\+defaults} {\footnotesize\ttfamily const struct osmo\+\_\+tdef osmo\+\_\+sccp\+\_\+timer\+\_\+defaults[\textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN}]} Referenced by gen\+\_\+sccp\+\_\+timer\+\_\+cmd\+\_\+strs(), and osmo\+\_\+sccp\+\_\+instance\+\_\+create(). \mbox{\label{sccp__internal_8h_adb142ce6fd39a4884c7fa9144ff15c3f}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!osmo\+\_\+sccp\+\_\+timer\+\_\+names@{osmo\+\_\+sccp\+\_\+timer\+\_\+names}} \index{osmo\+\_\+sccp\+\_\+timer\+\_\+names@{osmo\+\_\+sccp\+\_\+timer\+\_\+names}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+timer\+\_\+names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+timer\+\_\+names[$\,$]} Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), gen\+\_\+sccp\+\_\+timer\+\_\+cmd\+\_\+strs(), osmo\+\_\+sccp\+\_\+timer\+\_\+name(), and write\+\_\+sccp\+\_\+timers(). \mbox{\label{sccp__internal_8h_acc3f4c3c00682b6a4190a5a998b129f1}} \index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!sccp\+\_\+scoc\+\_\+fsm@{sccp\+\_\+scoc\+\_\+fsm}} \index{sccp\+\_\+scoc\+\_\+fsm@{sccp\+\_\+scoc\+\_\+fsm}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}} \subsubsection{sccp\+\_\+scoc\+\_\+fsm} {\footnotesize\ttfamily struct osmo\+\_\+fsm sccp\+\_\+scoc\+\_\+fsm} Referenced by conn\+\_\+create\+\_\+id(), and osmo\+\_\+ss7\+\_\+init().