\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/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\+\_\+timer\+\_\+val}
\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}, 
\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\+\_\+\+C\+O\+U\+NT}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+name} (enum \textbf{ osmo\+\_\+sccp\+\_\+timer} val)
\item 
static const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+description} (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 
const struct \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+val} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+get} (const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, enum \textbf{ osmo\+\_\+sccp\+\_\+timer} timer, bool default\+\_\+if\+\_\+unset)
\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 \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+val} \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+defaults} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+names} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+descriptions} [$\,$]
\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\+\_\+\+C\+O\+U\+NT@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+C\+O\+U\+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\+S\+\_\+\+C\+O\+U\+NT@{O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+C\+O\+U\+NT}}}\mbox{\label{sccp__internal_8h_a47b8e3df2fb2f2c26ad96d5988144f14a8ba6c6a89d2df21e2cee3699026bdeda}} 
O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+C\+O\+U\+NT&\\
\hline

\end{DoxyEnumFields}


\subsection{Function Documentation}
\mbox{\label{sccp__internal_8h_aa05f72f3497ccb62483eb7f4ef37b505}} 
\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!osmo\+\_\+sccp\+\_\+timer\+\_\+description@{osmo\+\_\+sccp\+\_\+timer\+\_\+description}}
\index{osmo\+\_\+sccp\+\_\+timer\+\_\+description@{osmo\+\_\+sccp\+\_\+timer\+\_\+description}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}
\subsubsection{osmo\+\_\+sccp\+\_\+timer\+\_\+description()}
{\footnotesize\ttfamily static const char$\ast$ osmo\+\_\+sccp\+\_\+timer\+\_\+description (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+sccp\+\_\+timer}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References osmo\+\_\+sccp\+\_\+timer\+\_\+descriptions.



Referenced by gen\+\_\+sccp\+\_\+timer\+\_\+cmd\+\_\+strs().

\mbox{\label{sccp__internal_8h_a9ab07340e01f35bb0bde6fab8c1c8074}} 
\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!osmo\+\_\+sccp\+\_\+timer\+\_\+get@{osmo\+\_\+sccp\+\_\+timer\+\_\+get}}
\index{osmo\+\_\+sccp\+\_\+timer\+\_\+get@{osmo\+\_\+sccp\+\_\+timer\+\_\+get}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}
\subsubsection{osmo\+\_\+sccp\+\_\+timer\+\_\+get()}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+val}$\ast$ osmo\+\_\+sccp\+\_\+timer\+\_\+get (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{enum \textbf{ osmo\+\_\+sccp\+\_\+timer}}]{timer,  }\item[{bool}]{default\+\_\+if\+\_\+unset }\end{DoxyParamCaption})}



References osmo\+\_\+sccp\+\_\+timer\+\_\+val\+::s, osmo\+\_\+sccp\+\_\+instance\+::timers, and osmo\+\_\+sccp\+\_\+timer\+\_\+val\+::us.



Referenced by sccp\+\_\+timer\+\_\+schedule(), and write\+\_\+sccp\+\_\+timers().

\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\+\_\+descriptions, and osmo\+\_\+sccp\+\_\+timer\+\_\+names.



Referenced by gen\+\_\+sccp\+\_\+timer\+\_\+cmd\+\_\+strs(), and write\+\_\+sccp\+\_\+timers().

\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 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\+::list.



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\+::list, 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_ae18d03679df5507647907945d40e9d67}} 
\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 \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+val} osmo\+\_\+sccp\+\_\+timer\+\_\+defaults[$\,$]}



Referenced by gen\+\_\+sccp\+\_\+timer\+\_\+cmd\+\_\+strs().

\mbox{\label{sccp__internal_8h_accd324bff6f813f5bd1c9bb1934f815b}} 
\index{sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}!osmo\+\_\+sccp\+\_\+timer\+\_\+descriptions@{osmo\+\_\+sccp\+\_\+timer\+\_\+descriptions}}
\index{osmo\+\_\+sccp\+\_\+timer\+\_\+descriptions@{osmo\+\_\+sccp\+\_\+timer\+\_\+descriptions}!sccp\+\_\+internal.\+h@{sccp\+\_\+internal.\+h}}
\subsubsection{osmo\+\_\+sccp\+\_\+timer\+\_\+descriptions}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+timer\+\_\+descriptions[$\,$]}



Referenced by osmo\+\_\+sccp\+\_\+timer\+\_\+description(), and osmo\+\_\+sccp\+\_\+timer\+\_\+name().

\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(), and osmo\+\_\+sccp\+\_\+timer\+\_\+name().

\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().

