\section{src/sccp\+\_\+scoc.c File Reference}
\label{sccp__scoc_8c}\index{src/sccp\+\_\+scoc.\+c@{src/sccp\+\_\+scoc.\+c}}
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/timer.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/fsm.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+helpers.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sccp/sccp\+\_\+types.\+h$>$}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include $<$osmocom/vty/vty.\+h$>$}\newline
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ sccp\+\_\+connection}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ S}(x)~(1 $<$$<$ (x))
\item 
\#define \textbf{ S\+C\+U\+\_\+\+M\+S\+G\+B\+\_\+\+S\+I\+ZE}~1024
\item 
\#define \textbf{ I\+N\+I\+T\+\_\+\+T\+I\+M\+ER}(x,  fn,  priv)~do \{ (x)-\/$>$cb = fn; (x)-\/$>$\textbf{ data} = priv; \} while (0)
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ sccp\+\_\+connection\+\_\+state} \{ \newline
\textbf{ S\+\_\+\+I\+D\+LE}, 
\textbf{ S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+IN}, 
\textbf{ S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+O\+UT}, 
\textbf{ S\+\_\+\+A\+C\+T\+I\+VE}, 
\newline
\textbf{ S\+\_\+\+D\+I\+S\+C\+O\+N\+N\+\_\+\+P\+E\+ND}, 
\textbf{ S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+IN}, 
\textbf{ S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+O\+UT}, 
\textbf{ S\+\_\+\+B\+O\+T\+H\+W\+A\+Y\+\_\+\+R\+E\+S\+ET}, 
\newline
\textbf{ S\+\_\+\+W\+A\+I\+T\+\_\+\+C\+O\+N\+N\+\_\+\+C\+O\+NF}
 \}
\item 
enum \textbf{ sccp\+\_\+scoc\+\_\+event} \{ \newline
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+EQ}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+E\+SP}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+I\+S\+C\+\_\+\+R\+EQ}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ}, 
\newline
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+E\+X\+P\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+O\+N\+N\+\_\+\+I\+ND}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND}, 
\newline
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+E\+L\+\_\+\+C\+O\+M\+P\+L\+\_\+\+I\+ND}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+R\+E\+F\+\_\+\+I\+ND}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+C\+\_\+\+I\+ND}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T1\+\_\+\+I\+ND}, 
\newline
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T2\+\_\+\+I\+ND}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+I\+T\+\_\+\+I\+ND}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+ND}, 
\newline
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+R\+\_\+\+E\+XP}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+S\+\_\+\+E\+XP}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+C\+O\+N\+N\+\_\+\+T\+M\+R\+\_\+\+E\+XP}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+L\+\_\+\+E\+XP}, 
\newline
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+N\+T\+\_\+\+E\+XP}, 
\textbf{ S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+P\+\_\+\+R\+E\+L\+\_\+\+E\+XP}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (A\+R\+R\+A\+Y\+\_\+\+S\+I\+ZE(\textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+defaults})==\textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+C\+O\+U\+NT}, assert\+\_\+osmo\+\_\+sccp\+\_\+timers\+\_\+count)
\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 
static void \textbf{ sccp\+\_\+timer\+\_\+schedule} (const struct \textbf{ sccp\+\_\+connection} $\ast$conn, struct osmo\+\_\+timer\+\_\+list $\ast$timer, enum \textbf{ osmo\+\_\+sccp\+\_\+timer} timer\+\_\+name)
\item 
static void \textbf{ tx\+\_\+inact\+\_\+tmr\+\_\+cb} (void $\ast$\textbf{ data})
\item 
static void \textbf{ rx\+\_\+inact\+\_\+tmr\+\_\+cb} (void $\ast$\textbf{ data})
\item 
static void \textbf{ rel\+\_\+tmr\+\_\+cb} (void $\ast$\textbf{ data})
\item 
static void \textbf{ int\+\_\+tmr\+\_\+cb} (void $\ast$\textbf{ data})
\item 
static void \textbf{ rep\+\_\+rel\+\_\+tmr\+\_\+cb} (void $\ast$\textbf{ data})
\item 
static void \textbf{ conn\+\_\+tmr\+\_\+cb} (void $\ast$\textbf{ data})
\item 
static void \textbf{ conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+start\+\_\+inact\+\_\+timers} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+stop\+\_\+inact\+\_\+timers} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+start\+\_\+rel\+\_\+timer} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+start\+\_\+rep\+\_\+rel\+\_\+timer} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+start\+\_\+int\+\_\+timer} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+stop\+\_\+release\+\_\+timers} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+start\+\_\+connect\+\_\+timer} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+stop\+\_\+connect\+\_\+timer} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static void \textbf{ conn\+\_\+destroy} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static struct \textbf{ sccp\+\_\+connection} $\ast$ \textbf{ conn\+\_\+find\+\_\+by\+\_\+id} (const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t id)
\item 
bool \textbf{ osmo\+\_\+sccp\+\_\+conn\+\_\+id\+\_\+exists} (const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t id)
\item 
static struct \textbf{ sccp\+\_\+connection} $\ast$ \textbf{ conn\+\_\+create\+\_\+id} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$user, uint32\+\_\+t conn\+\_\+id)
\item 
static struct \textbf{ sccp\+\_\+connection} $\ast$ \textbf{ conn\+\_\+create} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$user)
\item 
static void \textbf{ conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
static struct msgb $\ast$ \textbf{ scu\+\_\+msgb\+\_\+alloc} (void)
\item 
static struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ xua\+\_\+gen\+\_\+relre} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, uint32\+\_\+t cause, struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim)
\item 
static int \textbf{ xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, uint32\+\_\+t cause, struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim)
\item 
static void \textbf{ xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, int exp\+\_\+type, uint8\+\_\+t \textbf{ msg\+\_\+class})
\item 
static bool \textbf{ xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop} (const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim, unsigned lim, const char $\ast$message)
\item 
static bool \textbf{ xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim, int \textbf{ msg\+\_\+type})
\item 
static bool \textbf{ xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim, int \textbf{ msg\+\_\+type})
\item 
static struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+co} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, uint32\+\_\+t event, const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim, int \textbf{ msg\+\_\+type})
\item 
static int \textbf{ xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, uint32\+\_\+t event, const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim, int \textbf{ msg\+\_\+type})
\item 
static struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$ \textbf{ scu\+\_\+prim\+\_\+alloc} (unsigned int primitive, enum osmo\+\_\+prim\+\_\+operation operation)
\item 
static void \textbf{ scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, uint32\+\_\+t event, struct \textbf{ xua\+\_\+msg} $\ast$xua, unsigned int primitive, enum osmo\+\_\+prim\+\_\+operation operation)
\item 
static void \textbf{ scoc\+\_\+fsm\+\_\+idle} (struct osmo\+\_\+fsm\+\_\+inst $\ast$fi, uint32\+\_\+t event, void $\ast$\textbf{ data})
\item 
static void \textbf{ scoc\+\_\+fsm\+\_\+idle\+\_\+onenter} (struct osmo\+\_\+fsm\+\_\+inst $\ast$fi, uint32\+\_\+t old\+\_\+state)
\item 
static void \textbf{ scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in} (struct osmo\+\_\+fsm\+\_\+inst $\ast$fi, uint32\+\_\+t event, void $\ast$\textbf{ data})
\item 
static void \textbf{ scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out} (struct osmo\+\_\+fsm\+\_\+inst $\ast$fi, uint32\+\_\+t event, void $\ast$\textbf{ data})
\item 
static void \textbf{ scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf} (struct osmo\+\_\+fsm\+\_\+inst $\ast$fi, uint32\+\_\+t event, void $\ast$\textbf{ data})
\item 
static void \textbf{ scoc\+\_\+fsm\+\_\+active} (struct osmo\+\_\+fsm\+\_\+inst $\ast$fi, uint32\+\_\+t event, void $\ast$\textbf{ data})
\item 
static void \textbf{ scoc\+\_\+fsm\+\_\+disconn\+\_\+pend} (struct osmo\+\_\+fsm\+\_\+inst $\ast$fi, uint32\+\_\+t event, void $\ast$\textbf{ data})
\item 
static uint8\+\_\+t \textbf{ get\+\_\+cref\+\_\+cause\+\_\+for\+\_\+ret} (uint8\+\_\+t ret\+\_\+cause)
\item 
static struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ gen\+\_\+coref\+\_\+without\+\_\+conn} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua\+\_\+in, uint32\+\_\+t ref\+\_\+cause)
\item 
static struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$ \textbf{ sccp\+\_\+find\+\_\+user} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
void \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua, uint32\+\_\+t return\+\_\+cause)
\begin{DoxyCompactList}\small\item\em S\+C\+OC\+: Receive S\+C\+RC Routing Failure. \end{DoxyCompactList}\item 
static struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ gen\+\_\+coerr} (uint32\+\_\+t route\+\_\+ctx, uint32\+\_\+t dest\+\_\+ref, uint32\+\_\+t err\+\_\+cause)
\item 
static void \textbf{ tx\+\_\+coerr\+\_\+from\+\_\+xua} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$in, uint32\+\_\+t err\+\_\+cause)
\item 
static struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ gen\+\_\+relco} (uint32\+\_\+t route\+\_\+ctx, uint32\+\_\+t dest\+\_\+ref, uint32\+\_\+t src\+\_\+ref)
\item 
static void \textbf{ tx\+\_\+relco\+\_\+from\+\_\+xua} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$in)
\item 
static struct \textbf{ xua\+\_\+msg} $\ast$ \textbf{ gen\+\_\+rlsd} (uint32\+\_\+t route\+\_\+ctx, uint32\+\_\+t dest\+\_\+ref, uint32\+\_\+t src\+\_\+ref)
\item 
static void \textbf{ tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, struct \textbf{ xua\+\_\+msg} $\ast$in)
\item 
static void \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ xua\+\_\+msg} $\ast$xua)
\item 
static void \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, struct \textbf{ xua\+\_\+msg} $\ast$xua, uint32\+\_\+t inval\+\_\+src\+\_\+ref)
\item 
static void \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, 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 
static uint32\+\_\+t \textbf{ scu\+\_\+prim\+\_\+conn\+\_\+id} (const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$prim)
\item 
int \textbf{ osmo\+\_\+sccp\+\_\+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 
int \textbf{ osmo\+\_\+sccp\+\_\+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 
void \textbf{ sccp\+\_\+scoc\+\_\+flush\+\_\+connections} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst)
\item 
static void \textbf{ vty\+\_\+show\+\_\+connection} (struct vty $\ast$vty, struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
void \textbf{ sccp\+\_\+scoc\+\_\+show\+\_\+connections} (struct vty $\ast$vty, struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const struct value\+\_\+string \textbf{ scoc\+\_\+event\+\_\+names} [$\,$]
\item 
static const struct \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map} \textbf{ sua\+\_\+scoc\+\_\+event\+\_\+map} [$\,$]
\item 
static const struct osmo\+\_\+prim\+\_\+event\+\_\+map \textbf{ scu\+\_\+scoc\+\_\+event\+\_\+map} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+names} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+descriptions} [$\,$]
\item 
const struct \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+val} \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+defaults} [$\,$]
\item 
static const struct osmo\+\_\+fsm\+\_\+state \textbf{ sccp\+\_\+scoc\+\_\+states} [$\,$]
\item 
struct osmo\+\_\+fsm \textbf{ sccp\+\_\+scoc\+\_\+fsm}
\item 
static const uint8\+\_\+t \textbf{ cause\+\_\+map\+\_\+cref} [$\,$]
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\mbox{\label{sccp__scoc_8c_a70e97449d775ed6ba57665d01e454433}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!I\+N\+I\+T\+\_\+\+T\+I\+M\+ER@{I\+N\+I\+T\+\_\+\+T\+I\+M\+ER}}
\index{I\+N\+I\+T\+\_\+\+T\+I\+M\+ER@{I\+N\+I\+T\+\_\+\+T\+I\+M\+ER}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{I\+N\+I\+T\+\_\+\+T\+I\+M\+ER}
{\footnotesize\ttfamily \#define I\+N\+I\+T\+\_\+\+T\+I\+M\+ER(\begin{DoxyParamCaption}\item[{}]{x,  }\item[{}]{fn,  }\item[{}]{priv }\end{DoxyParamCaption})~do \{ (x)-\/$>$cb = fn; (x)-\/$>$\textbf{ data} = priv; \} while (0)}



Referenced by conn\+\_\+create\+\_\+id().

\mbox{\label{sccp__scoc_8c_ac4a3ed3432929804c708f7760fb79e28}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S@{S}}
\index{S@{S}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{S}
{\footnotesize\ttfamily \#define S(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(1 $<$$<$ (x))}

\mbox{\label{sccp__scoc_8c_ac5d3dce5523f8e0c79b986589307b9f4}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+U\+\_\+\+M\+S\+G\+B\+\_\+\+S\+I\+ZE@{S\+C\+U\+\_\+\+M\+S\+G\+B\+\_\+\+S\+I\+ZE}}
\index{S\+C\+U\+\_\+\+M\+S\+G\+B\+\_\+\+S\+I\+ZE@{S\+C\+U\+\_\+\+M\+S\+G\+B\+\_\+\+S\+I\+ZE}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{S\+C\+U\+\_\+\+M\+S\+G\+B\+\_\+\+S\+I\+ZE}
{\footnotesize\ttfamily \#define S\+C\+U\+\_\+\+M\+S\+G\+B\+\_\+\+S\+I\+ZE~1024}



Referenced by scu\+\_\+msgb\+\_\+alloc().



\subsection{Enumeration Type Documentation}
\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+connection\+\_\+state@{sccp\+\_\+connection\+\_\+state}}
\index{sccp\+\_\+connection\+\_\+state@{sccp\+\_\+connection\+\_\+state}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sccp\+\_\+connection\+\_\+state}
{\footnotesize\ttfamily enum \textbf{ sccp\+\_\+connection\+\_\+state}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+\_\+\+I\+D\+LE@{S\+\_\+\+I\+D\+LE}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+\_\+\+I\+D\+LE@{S\+\_\+\+I\+D\+LE}}}\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4a86e3fc319fdf083afe88308950abab44}} 
S\+\_\+\+I\+D\+LE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+IN@{S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+IN}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+IN@{S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+IN}}}\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4aa2ec964f96c2e8769eb508b5eccea623}} 
S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+IN&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+O\+UT@{S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+O\+UT}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+O\+UT@{S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+O\+UT}}}\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4a282287b21e79d783549cca0a355f5255}} 
S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+O\+UT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+\_\+\+A\+C\+T\+I\+VE@{S\+\_\+\+A\+C\+T\+I\+VE}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+\_\+\+A\+C\+T\+I\+VE@{S\+\_\+\+A\+C\+T\+I\+VE}}}\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4aced5990aa7e8f86cb70f6bde9b6c5314}} 
S\+\_\+\+A\+C\+T\+I\+VE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+\_\+\+D\+I\+S\+C\+O\+N\+N\+\_\+\+P\+E\+ND@{S\+\_\+\+D\+I\+S\+C\+O\+N\+N\+\_\+\+P\+E\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+\_\+\+D\+I\+S\+C\+O\+N\+N\+\_\+\+P\+E\+ND@{S\+\_\+\+D\+I\+S\+C\+O\+N\+N\+\_\+\+P\+E\+ND}}}\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4ad5764a5a0465a735667c7cdf1f5e3f7d}} 
S\+\_\+\+D\+I\+S\+C\+O\+N\+N\+\_\+\+P\+E\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+IN@{S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+IN}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+IN@{S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+IN}}}\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4a2bec40847bc43e6a692f1f219554371e}} 
S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+IN&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+O\+UT@{S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+O\+UT}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+O\+UT@{S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+O\+UT}}}\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4a82bf652b5a00f9b0d6299c4eaa7df45d}} 
S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+O\+UT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+\_\+\+B\+O\+T\+H\+W\+A\+Y\+\_\+\+R\+E\+S\+ET@{S\+\_\+\+B\+O\+T\+H\+W\+A\+Y\+\_\+\+R\+E\+S\+ET}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+\_\+\+B\+O\+T\+H\+W\+A\+Y\+\_\+\+R\+E\+S\+ET@{S\+\_\+\+B\+O\+T\+H\+W\+A\+Y\+\_\+\+R\+E\+S\+ET}}}\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4ac097212ed2ed5df66256c7c411b479e2}} 
S\+\_\+\+B\+O\+T\+H\+W\+A\+Y\+\_\+\+R\+E\+S\+ET&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+\_\+\+W\+A\+I\+T\+\_\+\+C\+O\+N\+N\+\_\+\+C\+O\+NF@{S\+\_\+\+W\+A\+I\+T\+\_\+\+C\+O\+N\+N\+\_\+\+C\+O\+NF}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+\_\+\+W\+A\+I\+T\+\_\+\+C\+O\+N\+N\+\_\+\+C\+O\+NF@{S\+\_\+\+W\+A\+I\+T\+\_\+\+C\+O\+N\+N\+\_\+\+C\+O\+NF}}}\mbox{\label{sccp__scoc_8c_aaa1aa95fa6ecb0aaf0ccfed7317b09f4a8ae656960151c36493f32fbf417c13d5}} 
S\+\_\+\+W\+A\+I\+T\+\_\+\+C\+O\+N\+N\+\_\+\+C\+O\+NF&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+scoc\+\_\+event@{sccp\+\_\+scoc\+\_\+event}}
\index{sccp\+\_\+scoc\+\_\+event@{sccp\+\_\+scoc\+\_\+event}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sccp\+\_\+scoc\+\_\+event}
{\footnotesize\ttfamily enum \textbf{ sccp\+\_\+scoc\+\_\+event}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+EQ@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+EQ}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+EQ@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+EQ}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425aad996f2c39594e24f60123225ba9e51a}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+EQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+E\+SP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+E\+SP}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+E\+SP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+E\+SP}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a599dd859d7dd5cab1a73ad14fad7c8ce}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+E\+SP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+I\+S\+C\+\_\+\+R\+EQ@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+I\+S\+C\+\_\+\+R\+EQ}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+I\+S\+C\+\_\+\+R\+EQ@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+I\+S\+C\+\_\+\+R\+EQ}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a0008548a48c2c9a2f7cbcced19759dda}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+I\+S\+C\+\_\+\+R\+EQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425aa1f0308e8ef478eee4a033eeecdc2231}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+E\+X\+P\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+E\+X\+P\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+E\+X\+P\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ@{S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+E\+X\+P\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425ad282cbc57bacddc71bcd728b3274ce46}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+E\+X\+P\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+O\+N\+N\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+O\+N\+N\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+O\+N\+N\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+O\+N\+N\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425aa82907523ebb1417a2201cf7130c238d}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+O\+N\+N\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425ab621d7aa2faee224f7c0525e56ce2699}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a01305fadc327e56b751d58481a264063}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+E\+L\+\_\+\+C\+O\+M\+P\+L\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+E\+L\+\_\+\+C\+O\+M\+P\+L\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+E\+L\+\_\+\+C\+O\+M\+P\+L\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+E\+L\+\_\+\+C\+O\+M\+P\+L\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a416c3ef75e2cace8f5e1b4e7d2f8917d}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+E\+L\+\_\+\+C\+O\+M\+P\+L\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+R\+E\+F\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+R\+E\+F\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+R\+E\+F\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+R\+E\+F\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425acaf6b9d2ffa0d7c0ad2d707563e46a7c}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+R\+E\+F\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+C\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+C\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+C\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+C\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a0697775beb9c52b45d0ca9532ddc6aae}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+C\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T1\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T1\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T1\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T1\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a9acfedc0cfa686f81a94b85e41e54971}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T1\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T2\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T2\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T2\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T2\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a9c93e046bcfb5a65a71045369c428868}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T2\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+I\+T\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+I\+T\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+I\+T\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+I\+T\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a50aaa6a954559dd63e4d200dc5b12783}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+I\+T\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425aa1d837bbb9d476e2d798d47db6d6f6f6}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+ND}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+ND@{S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+ND}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425ad66b94b1bae76f3896fc527e3792b8a9}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+ND&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+R\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+R\+\_\+\+E\+XP}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+R\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+R\+\_\+\+E\+XP}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a4aa4d410ca642316bc554d41ac2c1a0a}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+R\+\_\+\+E\+XP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+S\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+S\+\_\+\+E\+XP}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+S\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+S\+\_\+\+E\+XP}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a4496d1c145c195daec8cc3466bc303d2}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+S\+\_\+\+E\+XP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+C\+O\+N\+N\+\_\+\+T\+M\+R\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+C\+O\+N\+N\+\_\+\+T\+M\+R\+\_\+\+E\+XP}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+C\+O\+N\+N\+\_\+\+T\+M\+R\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+C\+O\+N\+N\+\_\+\+T\+M\+R\+\_\+\+E\+XP}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a02357dc1873bc6305465163def81acf4}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+C\+O\+N\+N\+\_\+\+T\+M\+R\+\_\+\+E\+XP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+L\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+L\+\_\+\+E\+XP}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+L\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+L\+\_\+\+E\+XP}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425ab47cfad812cee9fadb871b590135d197}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+L\+\_\+\+E\+XP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+N\+T\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+N\+T\+\_\+\+E\+XP}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+N\+T\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+N\+T\+\_\+\+E\+XP}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425a101e2bfc95fdf9eff5a5b7ed343c419f}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+N\+T\+\_\+\+E\+XP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+P\+\_\+\+R\+E\+L\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+P\+\_\+\+R\+E\+L\+\_\+\+E\+XP}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+P\+\_\+\+R\+E\+L\+\_\+\+E\+XP@{S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+P\+\_\+\+R\+E\+L\+\_\+\+E\+XP}}}\mbox{\label{sccp__scoc_8c_ae4ee749bd383ae54f3205638089b1425ac70e082bd3aaffa2f5c12400a633a24d}} 
S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+P\+\_\+\+R\+E\+L\+\_\+\+E\+XP&\\
\hline

\end{DoxyEnumFields}


\subsection{Function Documentation}
\mbox{\label{sccp__scoc_8c_a7b8a8b7531efddb09d22faded9461a9e}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+create@{conn\+\_\+create}}
\index{conn\+\_\+create@{conn\+\_\+create}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+create()}
{\footnotesize\ttfamily static struct \textbf{ sccp\+\_\+connection}$\ast$ conn\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{user }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References conn\+\_\+create\+\_\+id(), conn\+\_\+find\+\_\+by\+\_\+id(), sccp\+\_\+connection\+::conn\+\_\+id, osmo\+\_\+sccp\+\_\+user\+::inst, and osmo\+\_\+sccp\+\_\+instance\+::next\+\_\+id.



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc().

\mbox{\label{sccp__scoc_8c_acc96a2fa8e2de05a47760e39549b3462}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+create\+\_\+id@{conn\+\_\+create\+\_\+id}}
\index{conn\+\_\+create\+\_\+id@{conn\+\_\+create\+\_\+id}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+create\+\_\+id()}
{\footnotesize\ttfamily static struct \textbf{ sccp\+\_\+connection}$\ast$ conn\+\_\+create\+\_\+id (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{user,  }\item[{uint32\+\_\+t}]{conn\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::conn\+\_\+id, conn\+\_\+tmr\+\_\+cb(), osmo\+\_\+sccp\+\_\+instance\+::connections, sccp\+\_\+connection\+::fi, I\+N\+I\+T\+\_\+\+T\+I\+M\+ER, osmo\+\_\+sccp\+\_\+user\+::inst, sccp\+\_\+connection\+::inst, int\+\_\+tmr\+\_\+cb(), sccp\+\_\+connection\+::list, rel\+\_\+tmr\+\_\+cb(), rep\+\_\+rel\+\_\+tmr\+\_\+cb(), rx\+\_\+inact\+\_\+tmr\+\_\+cb(), sccp\+\_\+scoc\+\_\+fsm, sccp\+\_\+connection\+::t\+\_\+conn, sccp\+\_\+connection\+::t\+\_\+iar, sccp\+\_\+connection\+::t\+\_\+ias, sccp\+\_\+connection\+::t\+\_\+int, sccp\+\_\+connection\+::t\+\_\+rel, sccp\+\_\+connection\+::t\+\_\+rep\+\_\+rel, tx\+\_\+inact\+\_\+tmr\+\_\+cb(), and sccp\+\_\+connection\+::user.



Referenced by conn\+\_\+create(), and osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree().

\mbox{\label{sccp__scoc_8c_ac0040c1ba92c974d5664b712b7ac4c32}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+destroy@{conn\+\_\+destroy}}
\index{conn\+\_\+destroy@{conn\+\_\+destroy}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+destroy()}
{\footnotesize\ttfamily static void conn\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache(), conn\+\_\+stop\+\_\+connect\+\_\+timer(), conn\+\_\+stop\+\_\+inact\+\_\+timers(), conn\+\_\+stop\+\_\+release\+\_\+timers(), sccp\+\_\+connection\+::fi, and sccp\+\_\+connection\+::list.



Referenced by conn\+\_\+stop\+\_\+connect\+\_\+timer(), sccp\+\_\+scoc\+\_\+flush\+\_\+connections(), and scoc\+\_\+fsm\+\_\+idle\+\_\+onenter().

\mbox{\label{sccp__scoc_8c_ac37327bf98ff7a64fc8db59341ed75cc}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+find\+\_\+by\+\_\+id@{conn\+\_\+find\+\_\+by\+\_\+id}}
\index{conn\+\_\+find\+\_\+by\+\_\+id@{conn\+\_\+find\+\_\+by\+\_\+id}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+find\+\_\+by\+\_\+id()}
{\footnotesize\ttfamily static struct \textbf{ sccp\+\_\+connection}$\ast$ conn\+\_\+find\+\_\+by\+\_\+id (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::conn\+\_\+id, osmo\+\_\+sccp\+\_\+instance\+::connections, and sccp\+\_\+connection\+::list.



Referenced by conn\+\_\+create(), osmo\+\_\+sccp\+\_\+conn\+\_\+id\+\_\+exists(), osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree(), sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc(), and sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail().

\mbox{\label{sccp__scoc_8c_aa1b2e37854731d151c78a9b03a2531d4}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache@{conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache}}
\index{conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache@{conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache()}
{\footnotesize\ttfamily static void conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::opt\+\_\+data\+\_\+cache.



Referenced by conn\+\_\+destroy(), and xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache().

\mbox{\label{sccp__scoc_8c_a23fdba10a8259d5d27ce78c5c6fafdb9}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer@{conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer}}
\index{conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer@{conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer()}
{\footnotesize\ttfamily static void conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AR, sccp\+\_\+timer\+\_\+schedule(), and sccp\+\_\+connection\+::t\+\_\+iar.



Referenced by conn\+\_\+start\+\_\+inact\+\_\+timers(), and scoc\+\_\+fsm\+\_\+active().

\mbox{\label{sccp__scoc_8c_a8735539ea3fba1610805db6c831a70e5}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer@{conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer}}
\index{conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer@{conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer()}
{\footnotesize\ttfamily static void conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+AS, sccp\+\_\+timer\+\_\+schedule(), and sccp\+\_\+connection\+::t\+\_\+ias.



Referenced by conn\+\_\+start\+\_\+inact\+\_\+timers(), and scoc\+\_\+fsm\+\_\+active().

\mbox{\label{sccp__scoc_8c_a189a79e56f7c8fff71480d3022aaa713}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+start\+\_\+connect\+\_\+timer@{conn\+\_\+start\+\_\+connect\+\_\+timer}}
\index{conn\+\_\+start\+\_\+connect\+\_\+timer@{conn\+\_\+start\+\_\+connect\+\_\+timer}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+start\+\_\+connect\+\_\+timer()}
{\footnotesize\ttfamily static void conn\+\_\+start\+\_\+connect\+\_\+timer (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+C\+O\+N\+N\+\_\+\+E\+ST, sccp\+\_\+timer\+\_\+schedule(), and sccp\+\_\+connection\+::t\+\_\+conn.



Referenced by scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out(), and scoc\+\_\+fsm\+\_\+idle().

\mbox{\label{sccp__scoc_8c_a39e9b1ece19c77a5a76d3e85eeab7689}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+start\+\_\+inact\+\_\+timers@{conn\+\_\+start\+\_\+inact\+\_\+timers}}
\index{conn\+\_\+start\+\_\+inact\+\_\+timers@{conn\+\_\+start\+\_\+inact\+\_\+timers}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+start\+\_\+inact\+\_\+timers()}
{\footnotesize\ttfamily static void conn\+\_\+start\+\_\+inact\+\_\+timers (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer(), and conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer().



Referenced by scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in(), and scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out().

\mbox{\label{sccp__scoc_8c_a58e817578fc1ac16f18d95501b1246c7}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+start\+\_\+int\+\_\+timer@{conn\+\_\+start\+\_\+int\+\_\+timer}}
\index{conn\+\_\+start\+\_\+int\+\_\+timer@{conn\+\_\+start\+\_\+int\+\_\+timer}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+start\+\_\+int\+\_\+timer()}
{\footnotesize\ttfamily static void conn\+\_\+start\+\_\+int\+\_\+timer (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+I\+NT, sccp\+\_\+timer\+\_\+schedule(), and sccp\+\_\+connection\+::t\+\_\+int.



Referenced by scoc\+\_\+fsm\+\_\+disconn\+\_\+pend().

\mbox{\label{sccp__scoc_8c_a2e18b947fab3e1ce19a48ff10b7a3da0}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+start\+\_\+rel\+\_\+timer@{conn\+\_\+start\+\_\+rel\+\_\+timer}}
\index{conn\+\_\+start\+\_\+rel\+\_\+timer@{conn\+\_\+start\+\_\+rel\+\_\+timer}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+start\+\_\+rel\+\_\+timer()}
{\footnotesize\ttfamily static void conn\+\_\+start\+\_\+rel\+\_\+timer (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+EL, sccp\+\_\+timer\+\_\+schedule(), and sccp\+\_\+connection\+::t\+\_\+rel.



Referenced by scoc\+\_\+fsm\+\_\+active(), and scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf().

\mbox{\label{sccp__scoc_8c_a847111956a2ee0d7db5ff8d12a3b6a63}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+start\+\_\+rep\+\_\+rel\+\_\+timer@{conn\+\_\+start\+\_\+rep\+\_\+rel\+\_\+timer}}
\index{conn\+\_\+start\+\_\+rep\+\_\+rel\+\_\+timer@{conn\+\_\+start\+\_\+rep\+\_\+rel\+\_\+timer}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+start\+\_\+rep\+\_\+rel\+\_\+timer()}
{\footnotesize\ttfamily static void conn\+\_\+start\+\_\+rep\+\_\+rel\+\_\+timer (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+\_\+\+R\+E\+P\+E\+A\+T\+\_\+\+R\+EL, sccp\+\_\+timer\+\_\+schedule(), and sccp\+\_\+connection\+::t\+\_\+rep\+\_\+rel.



Referenced by scoc\+\_\+fsm\+\_\+disconn\+\_\+pend().

\mbox{\label{sccp__scoc_8c_a9dec3186748f5cfa9fcd227008ce315b}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+stop\+\_\+connect\+\_\+timer@{conn\+\_\+stop\+\_\+connect\+\_\+timer}}
\index{conn\+\_\+stop\+\_\+connect\+\_\+timer@{conn\+\_\+stop\+\_\+connect\+\_\+timer}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+stop\+\_\+connect\+\_\+timer()}
{\footnotesize\ttfamily static void conn\+\_\+stop\+\_\+connect\+\_\+timer (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References conn\+\_\+destroy(), and sccp\+\_\+connection\+::t\+\_\+conn.



Referenced by conn\+\_\+destroy(), scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out(), and scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf().

\mbox{\label{sccp__scoc_8c_adc9da9fad6b00dee81e97a0fa4228dd1}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+stop\+\_\+inact\+\_\+timers@{conn\+\_\+stop\+\_\+inact\+\_\+timers}}
\index{conn\+\_\+stop\+\_\+inact\+\_\+timers@{conn\+\_\+stop\+\_\+inact\+\_\+timers}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+stop\+\_\+inact\+\_\+timers()}
{\footnotesize\ttfamily static void conn\+\_\+stop\+\_\+inact\+\_\+timers (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::t\+\_\+iar, and sccp\+\_\+connection\+::t\+\_\+ias.



Referenced by conn\+\_\+destroy(), and scoc\+\_\+fsm\+\_\+active().

\mbox{\label{sccp__scoc_8c_af394d94ac0b9eb59994fcd830bcf9484}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+stop\+\_\+release\+\_\+timers@{conn\+\_\+stop\+\_\+release\+\_\+timers}}
\index{conn\+\_\+stop\+\_\+release\+\_\+timers@{conn\+\_\+stop\+\_\+release\+\_\+timers}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+stop\+\_\+release\+\_\+timers()}
{\footnotesize\ttfamily static void conn\+\_\+stop\+\_\+release\+\_\+timers (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::t\+\_\+int, sccp\+\_\+connection\+::t\+\_\+rel, and sccp\+\_\+connection\+::t\+\_\+rep\+\_\+rel.



Referenced by conn\+\_\+destroy(), and scoc\+\_\+fsm\+\_\+disconn\+\_\+pend().

\mbox{\label{sccp__scoc_8c_a2b9eb42668f90076cb1e342cf647df70}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+tmr\+\_\+cb@{conn\+\_\+tmr\+\_\+cb}}
\index{conn\+\_\+tmr\+\_\+cb@{conn\+\_\+tmr\+\_\+cb}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{conn\+\_\+tmr\+\_\+cb()}
{\footnotesize\ttfamily static void conn\+\_\+tmr\+\_\+cb (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References data, sccp\+\_\+connection\+::fi, and S\+C\+O\+C\+\_\+\+E\+\_\+\+C\+O\+N\+N\+\_\+\+T\+M\+R\+\_\+\+E\+XP.



Referenced by conn\+\_\+create\+\_\+id().

\mbox{\label{sccp__scoc_8c_a94a655218d3bc1e93676436d7e41c0ff}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!gen\+\_\+coerr@{gen\+\_\+coerr}}
\index{gen\+\_\+coerr@{gen\+\_\+coerr}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{gen\+\_\+coerr()}
{\footnotesize\ttfamily static struct \textbf{ xua\+\_\+msg}$\ast$ gen\+\_\+coerr (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{route\+\_\+ctx,  }\item[{uint32\+\_\+t}]{dest\+\_\+ref,  }\item[{uint32\+\_\+t}]{err\+\_\+cause }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References xua\+\_\+msg\+::hdr, S\+U\+A\+\_\+\+C\+A\+U\+S\+E\+\_\+\+T\+\_\+\+E\+R\+R\+OR, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+E\+RR, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+C\+A\+U\+SE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+R\+O\+U\+T\+E\+\_\+\+C\+TX, S\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+CO, X\+U\+A\+\_\+\+H\+DR, xua\+\_\+msg\+\_\+add\+\_\+u32(), and xua\+\_\+msg\+\_\+alloc().



Referenced by tx\+\_\+coerr\+\_\+from\+\_\+xua().

\mbox{\label{sccp__scoc_8c_a00a6caac9f86aeecbb9dc6dbf61fbcab}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!gen\+\_\+coref\+\_\+without\+\_\+conn@{gen\+\_\+coref\+\_\+without\+\_\+conn}}
\index{gen\+\_\+coref\+\_\+without\+\_\+conn@{gen\+\_\+coref\+\_\+without\+\_\+conn}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{gen\+\_\+coref\+\_\+without\+\_\+conn()}
{\footnotesize\ttfamily static struct \textbf{ xua\+\_\+msg}$\ast$ gen\+\_\+coref\+\_\+without\+\_\+conn (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua\+\_\+in,  }\item[{uint32\+\_\+t}]{ref\+\_\+cause }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References xua\+\_\+msg\+::hdr, osmo\+\_\+sccp\+\_\+instance\+::route\+\_\+ctx, S\+U\+A\+\_\+\+C\+A\+U\+S\+E\+\_\+\+T\+\_\+\+R\+E\+F\+U\+S\+AL, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+C\+A\+U\+SE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+A\+TA, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+A\+D\+DR, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+I\+M\+P\+O\+R\+T\+A\+N\+CE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+R\+O\+U\+T\+E\+\_\+\+C\+TX, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+A\+D\+DR, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, S\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+CO, X\+U\+A\+\_\+\+H\+DR, xua\+\_\+msg\+\_\+add\+\_\+u32(), xua\+\_\+msg\+\_\+alloc(), and xua\+\_\+msg\+\_\+copy\+\_\+part().



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail().

\mbox{\label{sccp__scoc_8c_a9dc8cd29876c8f2e0b640fe2d99b49dc}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!gen\+\_\+relco@{gen\+\_\+relco}}
\index{gen\+\_\+relco@{gen\+\_\+relco}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{gen\+\_\+relco()}
{\footnotesize\ttfamily static struct \textbf{ xua\+\_\+msg}$\ast$ gen\+\_\+relco (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{route\+\_\+ctx,  }\item[{uint32\+\_\+t}]{dest\+\_\+ref,  }\item[{uint32\+\_\+t}]{src\+\_\+ref }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References xua\+\_\+msg\+::hdr, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+CO, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+R\+O\+U\+T\+E\+\_\+\+C\+TX, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, S\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+CO, X\+U\+A\+\_\+\+H\+DR, xua\+\_\+msg\+\_\+add\+\_\+u32(), and xua\+\_\+msg\+\_\+alloc().



Referenced by tx\+\_\+relco\+\_\+from\+\_\+xua().

\mbox{\label{sccp__scoc_8c_a8354c0c3a3391954a917de82936497ef}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!gen\+\_\+rlsd@{gen\+\_\+rlsd}}
\index{gen\+\_\+rlsd@{gen\+\_\+rlsd}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{gen\+\_\+rlsd()}
{\footnotesize\ttfamily static struct \textbf{ xua\+\_\+msg}$\ast$ gen\+\_\+rlsd (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{route\+\_\+ctx,  }\item[{uint32\+\_\+t}]{dest\+\_\+ref,  }\item[{uint32\+\_\+t}]{src\+\_\+ref }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References xua\+\_\+msg\+::hdr, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+RE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+R\+O\+U\+T\+E\+\_\+\+C\+TX, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, S\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+CO, X\+U\+A\+\_\+\+H\+DR, xua\+\_\+msg\+\_\+add\+\_\+u32(), and xua\+\_\+msg\+\_\+alloc().



Referenced by tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway().

\mbox{\label{sccp__scoc_8c_ab08b479680b7e13b707ec0e3a064b2aa}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!get\+\_\+cref\+\_\+cause\+\_\+for\+\_\+ret@{get\+\_\+cref\+\_\+cause\+\_\+for\+\_\+ret}}
\index{get\+\_\+cref\+\_\+cause\+\_\+for\+\_\+ret@{get\+\_\+cref\+\_\+cause\+\_\+for\+\_\+ret}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{get\+\_\+cref\+\_\+cause\+\_\+for\+\_\+ret()}
{\footnotesize\ttfamily static uint8\+\_\+t get\+\_\+cref\+\_\+cause\+\_\+for\+\_\+ret (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ret\+\_\+cause }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References cause\+\_\+map\+\_\+cref.



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail().

\mbox{\label{sccp__scoc_8c_a157823e2b77ac81e864ea5ac91b1af8b}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!int\+\_\+tmr\+\_\+cb@{int\+\_\+tmr\+\_\+cb}}
\index{int\+\_\+tmr\+\_\+cb@{int\+\_\+tmr\+\_\+cb}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{int\+\_\+tmr\+\_\+cb()}
{\footnotesize\ttfamily static void int\+\_\+tmr\+\_\+cb (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References data, sccp\+\_\+connection\+::fi, and S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+N\+T\+\_\+\+E\+XP.



Referenced by conn\+\_\+create\+\_\+id().

\mbox{\label{sccp__scoc_8c_aefb134e061f3130dda7d932d4d1687a8}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!osmo\+\_\+sccp\+\_\+conn\+\_\+id\+\_\+exists@{osmo\+\_\+sccp\+\_\+conn\+\_\+id\+\_\+exists}}
\index{osmo\+\_\+sccp\+\_\+conn\+\_\+id\+\_\+exists@{osmo\+\_\+sccp\+\_\+conn\+\_\+id\+\_\+exists}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{osmo\+\_\+sccp\+\_\+conn\+\_\+id\+\_\+exists()}
{\footnotesize\ttfamily bool osmo\+\_\+sccp\+\_\+conn\+\_\+id\+\_\+exists (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})}



References conn\+\_\+find\+\_\+by\+\_\+id().



Referenced by osmo\+\_\+sccp\+\_\+tx\+\_\+conn\+\_\+resp\+\_\+msg(), osmo\+\_\+sccp\+\_\+tx\+\_\+data(), and osmo\+\_\+sccp\+\_\+tx\+\_\+disconn\+\_\+data().

\mbox{\label{sccp__scoc_8c_a9ab07340e01f35bb0bde6fab8c1c8074}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!osmo\+\_\+sccp\+\_\+timer\+\_\+get@{osmo\+\_\+sccp\+\_\+timer\+\_\+get}}
\index{osmo\+\_\+sccp\+\_\+timer\+\_\+get@{osmo\+\_\+sccp\+\_\+timer\+\_\+get}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\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__scoc_8c_a80a39e9ce7614bcd9715d28a72d8d1d8}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down@{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down}}
\index{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down@{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down()}
{\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+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 osmo\+\_\+sccp\+\_\+user\+\_\+sap(). 
\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em scu} & S\+C\+CP User sending us the primitive \\
\hline
\mbox{\tt in}  & {\em oph} & Osmocom primitive sent by the user \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative on error 
\end{DoxyReturn}


References osmo\+\_\+scu\+\_\+prim\+::oph, and osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree().



Referenced by osmo\+\_\+sccp\+\_\+tx\+\_\+conn\+\_\+req(), osmo\+\_\+sccp\+\_\+tx\+\_\+conn\+\_\+resp\+\_\+msg(), osmo\+\_\+sccp\+\_\+tx\+\_\+data(), osmo\+\_\+sccp\+\_\+tx\+\_\+disconn\+\_\+data(), osmo\+\_\+sccp\+\_\+tx\+\_\+unitdata(), and sccp\+\_\+scmg\+\_\+tx().

\mbox{\label{sccp__scoc_8c_a1e856f6b6f7d9533aca0ddab9e045226}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree@{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree}}
\index{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree@{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}
{\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+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{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down()}{p.}{sccp__scoc_8c_a80a39e9ce7614bcd9715d28a72d8d1d8}. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em scu} & S\+C\+CP User sending us the primitive \\
\hline
\mbox{\tt in}  & {\em oph} & Osmocom primitive sent by the user \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative on error 
\end{DoxyReturn}


References conn\+\_\+create\+\_\+id(), conn\+\_\+find\+\_\+by\+\_\+id(), osmo\+\_\+scu\+\_\+connect\+\_\+param\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+prim\+::connect, sccp\+\_\+connection\+::fi, osmo\+\_\+sccp\+\_\+user\+::inst, sccp\+\_\+connection\+::inst, osmo\+\_\+scu\+\_\+prim\+::oph, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+C\+O\+N\+N\+E\+CT, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+D\+A\+TA, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+CT, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+R\+E\+S\+ET, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+U\+N\+I\+T\+D\+A\+TA, osmo\+\_\+scu\+\_\+prim\+\_\+name(), sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree(), scu\+\_\+prim\+\_\+conn\+\_\+id(), scu\+\_\+scoc\+\_\+event\+\_\+map, and osmo\+\_\+scu\+\_\+prim\+::u.



Referenced by osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down().

\mbox{\label{sccp__scoc_8c_a2f8dfe83a9c89b06abf93388feacbc60}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!osmo\+\_\+static\+\_\+assert@{osmo\+\_\+static\+\_\+assert}}
\index{osmo\+\_\+static\+\_\+assert@{osmo\+\_\+static\+\_\+assert}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{osmo\+\_\+static\+\_\+assert()}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{A\+R\+R\+A\+Y\+\_\+\+S\+I\+ZE(\textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+defaults})}]{ = {\ttfamily =\textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+C\+O\+U\+NT}},  }\item[{assert\+\_\+osmo\+\_\+sccp\+\_\+timers\+\_\+count}]{ }\end{DoxyParamCaption})}

\mbox{\label{sccp__scoc_8c_a6a89200fa789e752dbde5eb47977efeb}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!rel\+\_\+tmr\+\_\+cb@{rel\+\_\+tmr\+\_\+cb}}
\index{rel\+\_\+tmr\+\_\+cb@{rel\+\_\+tmr\+\_\+cb}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{rel\+\_\+tmr\+\_\+cb()}
{\footnotesize\ttfamily static void rel\+\_\+tmr\+\_\+cb (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References data, sccp\+\_\+connection\+::fi, and S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+L\+\_\+\+E\+XP.



Referenced by conn\+\_\+create\+\_\+id().

\mbox{\label{sccp__scoc_8c_a6d79ede88580508b0b60696aead622a9}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!rep\+\_\+rel\+\_\+tmr\+\_\+cb@{rep\+\_\+rel\+\_\+tmr\+\_\+cb}}
\index{rep\+\_\+rel\+\_\+tmr\+\_\+cb@{rep\+\_\+rel\+\_\+tmr\+\_\+cb}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{rep\+\_\+rel\+\_\+tmr\+\_\+cb()}
{\footnotesize\ttfamily static void rep\+\_\+rel\+\_\+tmr\+\_\+cb (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References data, sccp\+\_\+connection\+::fi, and S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+P\+\_\+\+R\+E\+L\+\_\+\+E\+XP.



Referenced by conn\+\_\+create\+\_\+id().

\mbox{\label{sccp__scoc_8c_aef0cb6f0c8ca70cdd68e9e8ad9cfd395}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!rx\+\_\+inact\+\_\+tmr\+\_\+cb@{rx\+\_\+inact\+\_\+tmr\+\_\+cb}}
\index{rx\+\_\+inact\+\_\+tmr\+\_\+cb@{rx\+\_\+inact\+\_\+tmr\+\_\+cb}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{rx\+\_\+inact\+\_\+tmr\+\_\+cb()}
{\footnotesize\ttfamily static void rx\+\_\+inact\+\_\+tmr\+\_\+cb (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References data, sccp\+\_\+connection\+::fi, and S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+R\+\_\+\+E\+XP.



Referenced by conn\+\_\+create\+\_\+id().

\mbox{\label{sccp__scoc_8c_aeaa14cef54d4a9145070b4498ebd4c96}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+find\+\_\+user@{sccp\+\_\+find\+\_\+user}}
\index{sccp\+\_\+find\+\_\+user@{sccp\+\_\+find\+\_\+user}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sccp\+\_\+find\+\_\+user()}
{\footnotesize\ttfamily static struct \textbf{ osmo\+\_\+sccp\+\_\+user}$\ast$ sccp\+\_\+find\+\_\+user (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+A\+D\+D\+R\+\_\+\+T\+\_\+\+S\+SN, osmo\+\_\+sccp\+\_\+addr\+::pc, osmo\+\_\+sccp\+\_\+addr\+::presence, sccp\+\_\+user\+\_\+find(), osmo\+\_\+sccp\+\_\+addr\+::ssn, sua\+\_\+addr\+\_\+parse(), S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+A\+D\+DR, xua\+\_\+dialect\+\_\+sua, and xua\+\_\+hdr\+\_\+dump().



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc().

\mbox{\label{sccp__scoc_8c_ac9947e47665a8aa2e294b26c599a4ca7}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+scoc\+\_\+flush\+\_\+connections@{sccp\+\_\+scoc\+\_\+flush\+\_\+connections}}
\index{sccp\+\_\+scoc\+\_\+flush\+\_\+connections@{sccp\+\_\+scoc\+\_\+flush\+\_\+connections}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\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__scoc_8c_a7e6ca58debc34b50244590c90e68943f}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc@{sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc}}
\index{sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc@{sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\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__scoc_8c_ab58aa945ab650c771b53e4e1561a2eae}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc@{sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc}}
\index{sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc@{sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc()}
{\footnotesize\ttfamily static void sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References xua\+\_\+msg\+::hdr, sccp\+\_\+connection\+::inst, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, xua\+\_\+msg\+::mtp, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc, osmo\+\_\+ss7\+\_\+pointcode\+\_\+print(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2(), sccp\+\_\+connection\+::remote\+\_\+pc, osmo\+\_\+sccp\+\_\+instance\+::ss7, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+DA, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+DT, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+E\+RR, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+CO, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+RE, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+S\+CO, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+S\+RE, tx\+\_\+coerr\+\_\+from\+\_\+xua(), xua\+\_\+dialect\+\_\+sua, and xua\+\_\+hdr\+\_\+dump().



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc().

\mbox{\label{sccp__scoc_8c_a930107d787711851474bf8cc3029cee7}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref@{sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref}}
\index{sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref@{sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref()}
{\footnotesize\ttfamily static void sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{uint32\+\_\+t}]{inval\+\_\+src\+\_\+ref }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References xua\+\_\+msg\+::hdr, sccp\+\_\+connection\+::inst, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, sccp\+\_\+connection\+::remote\+\_\+ref, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+IT, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+CO, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+RE, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+S\+CO, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+S\+RE, tx\+\_\+coerr\+\_\+from\+\_\+xua(), tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway(), xua\+\_\+dialect\+\_\+sua, and xua\+\_\+hdr\+\_\+dump().



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc().

\mbox{\label{sccp__scoc_8c_a234088ffd988763d466232cac8590c68}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!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\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\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__scoc_8c_adf7fcb47b901d03b8736dd6e963452a2}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref@{sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref}}
\index{sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref@{sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref()}
{\footnotesize\ttfamily static void sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References xua\+\_\+msg\+::hdr, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+type, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+AK, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+DA, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+DT, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+E\+RR, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+IT, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+R\+EF, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+CO, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+RE, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+S\+CO, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+S\+RE, tx\+\_\+coerr\+\_\+from\+\_\+xua(), tx\+\_\+relco\+\_\+from\+\_\+xua(), xua\+\_\+dialect\+\_\+sua, and xua\+\_\+hdr\+\_\+dump().



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+from\+\_\+scrc().

\mbox{\label{sccp__scoc_8c_a9b54133b478681e048c5556e100e463f}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+scoc\+\_\+show\+\_\+connections@{sccp\+\_\+scoc\+\_\+show\+\_\+connections}}
\index{sccp\+\_\+scoc\+\_\+show\+\_\+connections@{sccp\+\_\+scoc\+\_\+show\+\_\+connections}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\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__scoc_8c_aa5bdbe30a289184e31cbc829af8f5f97}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+timer\+\_\+schedule@{sccp\+\_\+timer\+\_\+schedule}}
\index{sccp\+\_\+timer\+\_\+schedule@{sccp\+\_\+timer\+\_\+schedule}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sccp\+\_\+timer\+\_\+schedule()}
{\footnotesize\ttfamily static void sccp\+\_\+timer\+\_\+schedule (\begin{DoxyParamCaption}\item[{const struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{struct osmo\+\_\+timer\+\_\+list $\ast$}]{timer,  }\item[{enum \textbf{ osmo\+\_\+sccp\+\_\+timer}}]{timer\+\_\+name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::inst, osmo\+\_\+sccp\+\_\+timer\+\_\+get(), osmo\+\_\+sccp\+\_\+timer\+\_\+val\+::s, and osmo\+\_\+sccp\+\_\+timer\+\_\+val\+::us.



Referenced by conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer(), conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer(), conn\+\_\+start\+\_\+connect\+\_\+timer(), conn\+\_\+start\+\_\+int\+\_\+timer(), conn\+\_\+start\+\_\+rel\+\_\+timer(), and conn\+\_\+start\+\_\+rep\+\_\+rel\+\_\+timer().

\mbox{\label{sccp__scoc_8c_ac6b2b3dc156ee4e490b8be68395a1461}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scoc\+\_\+fsm\+\_\+active@{scoc\+\_\+fsm\+\_\+active}}
\index{scoc\+\_\+fsm\+\_\+active@{scoc\+\_\+fsm\+\_\+active}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scoc\+\_\+fsm\+\_\+active()}
{\footnotesize\ttfamily static void scoc\+\_\+fsm\+\_\+active (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+fsm\+\_\+inst $\ast$}]{fi,  }\item[{uint32\+\_\+t}]{event,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References conn\+\_\+restart\+\_\+rx\+\_\+inact\+\_\+timer(), conn\+\_\+restart\+\_\+tx\+\_\+inact\+\_\+timer(), conn\+\_\+start\+\_\+rel\+\_\+timer(), conn\+\_\+stop\+\_\+inact\+\_\+timers(), data, sccp\+\_\+connection\+::importance, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+D\+A\+TA, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+CT, sccp\+\_\+connection\+::remote\+\_\+ref, S\+\_\+\+D\+I\+S\+C\+O\+N\+N\+\_\+\+P\+E\+ND, S\+\_\+\+I\+D\+LE, sccp\+\_\+connection\+::sccp\+\_\+class, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+C\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+R\+E\+F\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+D\+T1\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+I\+T\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+E\+L\+\_\+\+C\+O\+M\+P\+L\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ, S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+I\+S\+C\+\_\+\+R\+EQ, S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+E\+X\+P\+\_\+\+D\+A\+T\+A\+\_\+\+R\+EQ, S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+R\+\_\+\+E\+XP, S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+S\+\_\+\+E\+XP, scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), S\+U\+A\+\_\+\+C\+A\+U\+S\+E\+\_\+\+T\+\_\+\+R\+E\+L\+E\+A\+SE, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+DT, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+IT, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+CO, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+RE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+C\+A\+U\+SE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+I\+M\+P\+O\+R\+T\+A\+N\+CE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+P\+R\+O\+T\+O\+\_\+\+C\+L\+A\+SS, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send(), xua\+\_\+msg\+\_\+add\+\_\+u32(), xua\+\_\+msg\+\_\+alloc(), and xua\+\_\+msg\+\_\+get\+\_\+u32().

\mbox{\label{sccp__scoc_8c_a7ca7a42fa01534ca998c214a2b88e53c}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in@{scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in}}
\index{scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in@{scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in()}
{\footnotesize\ttfamily static void scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+fsm\+\_\+inst $\ast$}]{fi,  }\item[{uint32\+\_\+t}]{event,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References conn\+\_\+start\+\_\+inact\+\_\+timers(), data, S\+\_\+\+A\+C\+T\+I\+VE, S\+\_\+\+I\+D\+LE, S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+E\+SP, S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+I\+S\+C\+\_\+\+R\+EQ, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+AK, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+R\+EF, S\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+CO, xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), and xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache().

\mbox{\label{sccp__scoc_8c_ad49485deb0bbd76142c9af402ce34748}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out@{scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out}}
\index{scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out@{scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out()}
{\footnotesize\ttfamily static void scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+fsm\+\_\+inst $\ast$}]{fi,  }\item[{uint32\+\_\+t}]{event,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References osmo\+\_\+scu\+\_\+disconn\+\_\+param\+::cause, conn\+\_\+start\+\_\+connect\+\_\+timer(), conn\+\_\+start\+\_\+inact\+\_\+timers(), conn\+\_\+stop\+\_\+connect\+\_\+timer(), data, osmo\+\_\+scu\+\_\+prim\+::disconnect, xua\+\_\+msg\+::hdr, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class, xua\+\_\+msg\+::mtp, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+C\+O\+N\+N\+E\+CT, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+CT, sccp\+\_\+connection\+::release\+\_\+cause, sccp\+\_\+connection\+::remote\+\_\+pc, sccp\+\_\+connection\+::remote\+\_\+ref, S\+\_\+\+A\+C\+T\+I\+VE, S\+\_\+\+I\+D\+LE, S\+\_\+\+W\+A\+I\+T\+\_\+\+C\+O\+N\+N\+\_\+\+C\+O\+NF, S\+C\+O\+C\+\_\+\+E\+\_\+\+C\+O\+N\+N\+\_\+\+T\+M\+R\+\_\+\+E\+XP, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+C\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+R\+E\+F\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+D\+I\+S\+C\+\_\+\+R\+EQ, scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+RE, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+CO, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, osmo\+\_\+scu\+\_\+prim\+::u, xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), xua\+\_\+msg\+\_\+get\+\_\+u32(), and xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache().

\mbox{\label{sccp__scoc_8c_aeaa06e98cfa763744aaa6381ac34ae13}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scoc\+\_\+fsm\+\_\+disconn\+\_\+pend@{scoc\+\_\+fsm\+\_\+disconn\+\_\+pend}}
\index{scoc\+\_\+fsm\+\_\+disconn\+\_\+pend@{scoc\+\_\+fsm\+\_\+disconn\+\_\+pend}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scoc\+\_\+fsm\+\_\+disconn\+\_\+pend()}
{\footnotesize\ttfamily static void scoc\+\_\+fsm\+\_\+disconn\+\_\+pend (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+fsm\+\_\+inst $\ast$}]{fi,  }\item[{uint32\+\_\+t}]{event,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References conn\+\_\+start\+\_\+int\+\_\+timer(), conn\+\_\+start\+\_\+rep\+\_\+rel\+\_\+timer(), conn\+\_\+stop\+\_\+release\+\_\+timers(), S\+\_\+\+I\+D\+LE, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+E\+L\+\_\+\+C\+O\+M\+P\+L\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+N\+T\+\_\+\+E\+XP, S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+L\+\_\+\+E\+XP, S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+R\+E\+P\+\_\+\+R\+E\+L\+\_\+\+E\+XP, and xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send().

\mbox{\label{sccp__scoc_8c_a9bb147b770c1197197cb22a6e81abe71}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scoc\+\_\+fsm\+\_\+idle@{scoc\+\_\+fsm\+\_\+idle}}
\index{scoc\+\_\+fsm\+\_\+idle@{scoc\+\_\+fsm\+\_\+idle}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scoc\+\_\+fsm\+\_\+idle()}
{\footnotesize\ttfamily static void scoc\+\_\+fsm\+\_\+idle (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+fsm\+\_\+inst $\ast$}]{fi,  }\item[{uint32\+\_\+t}]{event,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::called\+\_\+addr, osmo\+\_\+scu\+\_\+connect\+\_\+param\+::called\+\_\+addr, sccp\+\_\+connection\+::calling\+\_\+addr, osmo\+\_\+scu\+\_\+connect\+\_\+param\+::calling\+\_\+addr, conn\+\_\+start\+\_\+connect\+\_\+timer(), osmo\+\_\+scu\+\_\+prim\+::connect, data, sccp\+\_\+connection\+::importance, xua\+\_\+msg\+::mtp, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+A\+D\+D\+R\+\_\+\+T\+\_\+\+PC, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+C\+O\+N\+N\+E\+CT, osmo\+\_\+sccp\+\_\+addr\+::pc, osmo\+\_\+sccp\+\_\+addr\+::presence, sccp\+\_\+connection\+::remote\+\_\+pc, sccp\+\_\+connection\+::remote\+\_\+ref, S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+IN, S\+\_\+\+C\+O\+N\+N\+\_\+\+P\+E\+N\+D\+\_\+\+O\+UT, sccp\+\_\+connection\+::sccp\+\_\+class, osmo\+\_\+scu\+\_\+connect\+\_\+param\+::sccp\+\_\+class, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+O\+N\+N\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+E\+L\+\_\+\+C\+O\+M\+P\+L\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+S\+C\+U\+\_\+\+N\+\_\+\+C\+O\+N\+N\+\_\+\+R\+EQ, scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), sua\+\_\+addr\+\_\+parse(), S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+RE, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+CO, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+A\+D\+DR, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+I\+M\+P\+O\+R\+T\+A\+N\+CE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+P\+R\+O\+T\+O\+\_\+\+C\+L\+A\+SS, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+A\+D\+DR, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, osmo\+\_\+scu\+\_\+prim\+::u, xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), and xua\+\_\+msg\+\_\+get\+\_\+u32().

\mbox{\label{sccp__scoc_8c_ad2ba1d15d23b9e33c6bb34edfe243773}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scoc\+\_\+fsm\+\_\+idle\+\_\+onenter@{scoc\+\_\+fsm\+\_\+idle\+\_\+onenter}}
\index{scoc\+\_\+fsm\+\_\+idle\+\_\+onenter@{scoc\+\_\+fsm\+\_\+idle\+\_\+onenter}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scoc\+\_\+fsm\+\_\+idle\+\_\+onenter()}
{\footnotesize\ttfamily static void scoc\+\_\+fsm\+\_\+idle\+\_\+onenter (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+fsm\+\_\+inst $\ast$}]{fi,  }\item[{uint32\+\_\+t}]{old\+\_\+state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References conn\+\_\+destroy().

\mbox{\label{sccp__scoc_8c_a5308c356af6081c895cc77c647ce0d93}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf@{scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf}}
\index{scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf@{scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf()}
{\footnotesize\ttfamily static void scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+fsm\+\_\+inst $\ast$}]{fi,  }\item[{uint32\+\_\+t}]{event,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References conn\+\_\+start\+\_\+rel\+\_\+timer(), conn\+\_\+stop\+\_\+connect\+\_\+timer(), data, sccp\+\_\+connection\+::release\+\_\+cause, sccp\+\_\+connection\+::remote\+\_\+ref, S\+\_\+\+D\+I\+S\+C\+O\+N\+N\+\_\+\+P\+E\+ND, S\+\_\+\+I\+D\+LE, S\+C\+O\+C\+\_\+\+E\+\_\+\+C\+O\+N\+N\+\_\+\+T\+M\+R\+\_\+\+E\+XP, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+C\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+C\+R\+E\+F\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+O\+T\+H\+E\+R\+\_\+\+N\+P\+DU, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND, S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+O\+U\+T\+\_\+\+F\+A\+I\+L\+\_\+\+I\+ND, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+CO, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send(), xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send(), and xua\+\_\+msg\+\_\+get\+\_\+u32().

\mbox{\label{sccp__scoc_8c_abd7b5fed645ddb716874c09626bea760}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send@{scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send}}
\index{scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send@{scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}
{\footnotesize\ttfamily static void scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{uint32\+\_\+t}]{event,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{xua,  }\item[{unsigned int}]{primitive,  }\item[{enum osmo\+\_\+prim\+\_\+operation}]{operation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::called\+\_\+addr, osmo\+\_\+scu\+\_\+connect\+\_\+param\+::called\+\_\+addr, sccp\+\_\+connection\+::calling\+\_\+addr, osmo\+\_\+scu\+\_\+connect\+\_\+param\+::calling\+\_\+addr, osmo\+\_\+scu\+\_\+disconn\+\_\+param\+::cause, sccp\+\_\+connection\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+connect\+\_\+param\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+data\+\_\+param\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+disconn\+\_\+param\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+prim\+::connect, xua\+\_\+msg\+\_\+part\+::dat, osmo\+\_\+scu\+\_\+prim\+::data, osmo\+\_\+scu\+\_\+prim\+::disconnect, sccp\+\_\+connection\+::fi, sccp\+\_\+connection\+::importance, osmo\+\_\+scu\+\_\+connect\+\_\+param\+::importance, osmo\+\_\+scu\+\_\+data\+\_\+param\+::importance, osmo\+\_\+scu\+\_\+disconn\+\_\+param\+::importance, xua\+\_\+msg\+\_\+part\+::len, osmo\+\_\+scu\+\_\+prim\+::oph, osmo\+\_\+scu\+\_\+disconn\+\_\+param\+::originator, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+O\+R\+I\+G\+\_\+\+U\+N\+D\+E\+F\+I\+N\+ED, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+C\+O\+N\+N\+E\+CT, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+D\+A\+TA, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+CT, osmo\+\_\+scu\+\_\+disconn\+\_\+param\+::responding\+\_\+addr, sccp\+\_\+connection\+::sccp\+\_\+class, osmo\+\_\+scu\+\_\+connect\+\_\+param\+::sccp\+\_\+class, sccp\+\_\+user\+\_\+prim\+\_\+up(), scu\+\_\+prim\+\_\+alloc(), sua\+\_\+addr\+\_\+parse(), S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+C\+A\+U\+SE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+A\+TA, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+I\+M\+P\+O\+R\+T\+A\+N\+CE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+P\+R\+O\+T\+O\+\_\+\+C\+L\+A\+SS, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+A\+D\+DR, osmo\+\_\+scu\+\_\+prim\+::u, sccp\+\_\+connection\+::user, xua\+\_\+msg\+\_\+find\+\_\+tag(), and xua\+\_\+msg\+\_\+get\+\_\+u32().



Referenced by scoc\+\_\+fsm\+\_\+active(), scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out(), and scoc\+\_\+fsm\+\_\+idle().

\mbox{\label{sccp__scoc_8c_a9c9c8c46438bc56f66f018edbabc103e}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scu\+\_\+msgb\+\_\+alloc@{scu\+\_\+msgb\+\_\+alloc}}
\index{scu\+\_\+msgb\+\_\+alloc@{scu\+\_\+msgb\+\_\+alloc}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scu\+\_\+msgb\+\_\+alloc()}
{\footnotesize\ttfamily static struct msgb$\ast$ scu\+\_\+msgb\+\_\+alloc (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References S\+C\+U\+\_\+\+M\+S\+G\+B\+\_\+\+S\+I\+ZE.



Referenced by scu\+\_\+prim\+\_\+alloc().

\mbox{\label{sccp__scoc_8c_abe86ffd1d91e5c35e9087650e38706b8}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scu\+\_\+prim\+\_\+alloc@{scu\+\_\+prim\+\_\+alloc}}
\index{scu\+\_\+prim\+\_\+alloc@{scu\+\_\+prim\+\_\+alloc}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scu\+\_\+prim\+\_\+alloc()}
{\footnotesize\ttfamily static struct \textbf{ osmo\+\_\+scu\+\_\+prim}$\ast$ scu\+\_\+prim\+\_\+alloc (\begin{DoxyParamCaption}\item[{unsigned int}]{primitive,  }\item[{enum osmo\+\_\+prim\+\_\+operation}]{operation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References osmo\+\_\+scu\+\_\+prim\+::oph, S\+C\+C\+P\+\_\+\+S\+A\+P\+\_\+\+U\+S\+ER, and scu\+\_\+msgb\+\_\+alloc().



Referenced by scu\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send().

\mbox{\label{sccp__scoc_8c_a5520283194b4626e792e09c401b4fc30}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scu\+\_\+prim\+\_\+conn\+\_\+id@{scu\+\_\+prim\+\_\+conn\+\_\+id}}
\index{scu\+\_\+prim\+\_\+conn\+\_\+id@{scu\+\_\+prim\+\_\+conn\+\_\+id}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scu\+\_\+prim\+\_\+conn\+\_\+id()}
{\footnotesize\ttfamily static uint32\+\_\+t scu\+\_\+prim\+\_\+conn\+\_\+id (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References osmo\+\_\+scu\+\_\+connect\+\_\+param\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+data\+\_\+param\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+disconn\+\_\+param\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+reset\+\_\+param\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+prim\+::connect, osmo\+\_\+scu\+\_\+prim\+::data, osmo\+\_\+scu\+\_\+prim\+::disconnect, osmo\+\_\+scu\+\_\+prim\+::oph, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+C\+O\+N\+N\+E\+CT, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+D\+A\+TA, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+D\+I\+S\+C\+O\+N\+N\+E\+CT, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+R\+E\+S\+ET, osmo\+\_\+scu\+\_\+prim\+::reset, and osmo\+\_\+scu\+\_\+prim\+::u.



Referenced by osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree().

\mbox{\label{sccp__scoc_8c_a46fb6194a5c61199cff01d5b666551cd}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!tx\+\_\+coerr\+\_\+from\+\_\+xua@{tx\+\_\+coerr\+\_\+from\+\_\+xua}}
\index{tx\+\_\+coerr\+\_\+from\+\_\+xua@{tx\+\_\+coerr\+\_\+from\+\_\+xua}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{tx\+\_\+coerr\+\_\+from\+\_\+xua()}
{\footnotesize\ttfamily static void tx\+\_\+coerr\+\_\+from\+\_\+xua (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{in,  }\item[{uint32\+\_\+t}]{err\+\_\+cause }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc, gen\+\_\+coerr(), xua\+\_\+msg\+::mtp, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc, sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg(), osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sio, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+R\+O\+U\+T\+E\+\_\+\+C\+TX, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, xua\+\_\+msg\+\_\+free(), and xua\+\_\+msg\+\_\+get\+\_\+u32().



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc(), sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref(), and sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref().

\mbox{\label{sccp__scoc_8c_ae2e0efede2e445975eca83e08f98b8e4}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!tx\+\_\+inact\+\_\+tmr\+\_\+cb@{tx\+\_\+inact\+\_\+tmr\+\_\+cb}}
\index{tx\+\_\+inact\+\_\+tmr\+\_\+cb@{tx\+\_\+inact\+\_\+tmr\+\_\+cb}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{tx\+\_\+inact\+\_\+tmr\+\_\+cb()}
{\footnotesize\ttfamily static void tx\+\_\+inact\+\_\+tmr\+\_\+cb (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References data, sccp\+\_\+connection\+::fi, and S\+C\+O\+C\+\_\+\+E\+\_\+\+T\+\_\+\+I\+A\+S\+\_\+\+E\+XP.



Referenced by conn\+\_\+create\+\_\+id().

\mbox{\label{sccp__scoc_8c_afdbd5fba1c3acdd3aa55c716035311b4}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!tx\+\_\+relco\+\_\+from\+\_\+xua@{tx\+\_\+relco\+\_\+from\+\_\+xua}}
\index{tx\+\_\+relco\+\_\+from\+\_\+xua@{tx\+\_\+relco\+\_\+from\+\_\+xua}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{tx\+\_\+relco\+\_\+from\+\_\+xua()}
{\footnotesize\ttfamily static void tx\+\_\+relco\+\_\+from\+\_\+xua (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{in }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc, gen\+\_\+relco(), xua\+\_\+msg\+::mtp, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc, sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg(), osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sio, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+R\+O\+U\+T\+E\+\_\+\+C\+TX, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, xua\+\_\+msg\+\_\+free(), and xua\+\_\+msg\+\_\+get\+\_\+u32().



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+unass\+\_\+local\+\_\+ref().

\mbox{\label{sccp__scoc_8c_a2aed405c30727b999fd129a5f8ce667e}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway@{tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway}}
\index{tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway@{tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway()}
{\footnotesize\ttfamily static void tx\+\_\+rlsd\+\_\+from\+\_\+xua\+\_\+twoway (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{struct \textbf{ xua\+\_\+msg} $\ast$}]{in }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::conn\+\_\+id, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc, sccp\+\_\+connection\+::fi, gen\+\_\+rlsd(), sccp\+\_\+connection\+::inst, xua\+\_\+msg\+::mtp, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc, sccp\+\_\+connection\+::remote\+\_\+pc, sccp\+\_\+connection\+::remote\+\_\+ref, osmo\+\_\+sccp\+\_\+instance\+::route\+\_\+ctx, sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg(), S\+C\+O\+C\+\_\+\+E\+\_\+\+R\+C\+O\+C\+\_\+\+R\+L\+S\+D\+\_\+\+I\+ND, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sio, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+R\+O\+U\+T\+E\+\_\+\+C\+TX, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, xua\+\_\+msg\+\_\+free(), and xua\+\_\+msg\+\_\+get\+\_\+u32().



Referenced by sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+src\+\_\+ref().

\mbox{\label{sccp__scoc_8c_a6cb4d67084ea0cb4d7b1ebffe12b87ad}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!vty\+\_\+show\+\_\+connection@{vty\+\_\+show\+\_\+connection}}
\index{vty\+\_\+show\+\_\+connection@{vty\+\_\+show\+\_\+connection}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{vty\+\_\+show\+\_\+connection()}
{\footnotesize\ttfamily static void vty\+\_\+show\+\_\+connection (\begin{DoxyParamCaption}\item[{struct vty $\ast$}]{vty,  }\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::called\+\_\+addr, sccp\+\_\+connection\+::calling\+\_\+addr, osmo\+\_\+ss7\+\_\+instance\+::cfg, sccp\+\_\+connection\+::conn\+\_\+id, sccp\+\_\+connection\+::fi, sccp\+\_\+connection\+::incoming, sccp\+\_\+connection\+::inst, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+C\+\_\+\+I\+N\+V\+A\+L\+ID, osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+print(), osmo\+\_\+sccp\+\_\+user\+::pc, osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc, sccp\+\_\+connection\+::remote\+\_\+pc, sccp\+\_\+connection\+::remote\+\_\+ref, osmo\+\_\+sccp\+\_\+instance\+::ss7, osmo\+\_\+sccp\+\_\+user\+::ssn, osmo\+\_\+sccp\+\_\+addr\+::ssn, and sccp\+\_\+connection\+::user.



Referenced by sccp\+\_\+scoc\+\_\+show\+\_\+connections().

\mbox{\label{sccp__scoc_8c_ad6190dcd4a02106c69088573c6262e3d}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop@{xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop}}
\index{xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop@{xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop()}
{\footnotesize\ttfamily static bool xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim,  }\item[{unsigned}]{lim,  }\item[{const char $\ast$}]{message }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References osmo\+\_\+scu\+\_\+prim\+::oph, and osmo\+\_\+scu\+\_\+prim\+\_\+name().



Referenced by xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep(), and xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim().

\mbox{\label{sccp__scoc_8c_a5d6d7ccd6e86a164d8c4554a131eaf42}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send@{xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send}}
\index{xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send@{xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send()}
{\footnotesize\ttfamily static int xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{uint32\+\_\+t}]{event,  }\item[{const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim,  }\item[{int}]{msg\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc, sccp\+\_\+connection\+::inst, xua\+\_\+msg\+::mtp, sccp\+\_\+connection\+::remote\+\_\+pc, sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg(), xua\+\_\+gen\+\_\+msg\+\_\+co(), and xua\+\_\+msg\+\_\+free().



Referenced by scoc\+\_\+fsm\+\_\+active(), scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in(), scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out(), scoc\+\_\+fsm\+\_\+idle(), and scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf().

\mbox{\label{sccp__scoc_8c_a7a970a3c22490061f5badf7ac6b39fcc}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!xua\+\_\+gen\+\_\+msg\+\_\+co@{xua\+\_\+gen\+\_\+msg\+\_\+co}}
\index{xua\+\_\+gen\+\_\+msg\+\_\+co@{xua\+\_\+gen\+\_\+msg\+\_\+co}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{xua\+\_\+gen\+\_\+msg\+\_\+co()}
{\footnotesize\ttfamily static struct \textbf{ xua\+\_\+msg}$\ast$ xua\+\_\+gen\+\_\+msg\+\_\+co (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{uint32\+\_\+t}]{event,  }\item[{const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim,  }\item[{int}]{msg\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::called\+\_\+addr, sccp\+\_\+connection\+::calling\+\_\+addr, osmo\+\_\+scu\+\_\+disconn\+\_\+param\+::cause, sccp\+\_\+connection\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+prim\+::disconnect, xua\+\_\+msg\+::hdr, sccp\+\_\+connection\+::inst, osmo\+\_\+scu\+\_\+prim\+::oph, osmo\+\_\+sccp\+\_\+addr\+::presence, sccp\+\_\+connection\+::remote\+\_\+ref, osmo\+\_\+sccp\+\_\+instance\+::route\+\_\+ctx, sccp\+\_\+connection\+::sccp\+\_\+class, S\+U\+A\+\_\+\+C\+A\+U\+S\+E\+\_\+\+T\+\_\+\+R\+E\+F\+U\+S\+AL, S\+U\+A\+\_\+\+C\+A\+U\+S\+E\+\_\+\+T\+\_\+\+R\+E\+L\+E\+A\+SE, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+AK, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+DT, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+IT, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+RE, S\+U\+A\+\_\+\+C\+O\+\_\+\+C\+O\+R\+EF, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+CO, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+RE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+C\+A\+U\+SE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+A\+TA, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+A\+D\+DR, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+P\+R\+O\+T\+O\+\_\+\+C\+L\+A\+SS, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+R\+O\+U\+T\+E\+\_\+\+C\+TX, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+E\+Q\+\_\+\+C\+T\+RL, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+A\+D\+DR, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, S\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+CO, osmo\+\_\+scu\+\_\+prim\+::u, X\+U\+A\+\_\+\+H\+DR, xua\+\_\+msg\+\_\+add\+\_\+data(), xua\+\_\+msg\+\_\+add\+\_\+sccp\+\_\+addr(), xua\+\_\+msg\+\_\+add\+\_\+u32(), xua\+\_\+msg\+\_\+alloc(), xua\+\_\+msg\+\_\+free(), and xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim().



Referenced by xua\+\_\+gen\+\_\+encode\+\_\+and\+\_\+send().

\mbox{\label{sccp__scoc_8c_affb7346b3d957d24f2f5845f655f271e}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!xua\+\_\+gen\+\_\+relre@{xua\+\_\+gen\+\_\+relre}}
\index{xua\+\_\+gen\+\_\+relre@{xua\+\_\+gen\+\_\+relre}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{xua\+\_\+gen\+\_\+relre()}
{\footnotesize\ttfamily static struct \textbf{ xua\+\_\+msg}$\ast$ xua\+\_\+gen\+\_\+relre (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{uint32\+\_\+t}]{cause,  }\item[{struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::conn\+\_\+id, xua\+\_\+msg\+::hdr, sccp\+\_\+connection\+::inst, osmo\+\_\+scu\+\_\+prim\+::oph, sccp\+\_\+connection\+::remote\+\_\+ref, osmo\+\_\+sccp\+\_\+instance\+::route\+\_\+ctx, S\+U\+A\+\_\+\+C\+A\+U\+S\+E\+\_\+\+T\+\_\+\+R\+E\+L\+E\+A\+SE, S\+U\+A\+\_\+\+C\+O\+\_\+\+R\+E\+L\+RE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+C\+A\+U\+SE, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+A\+TA, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+D\+E\+S\+T\+\_\+\+R\+EF, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+R\+O\+U\+T\+E\+\_\+\+C\+TX, S\+U\+A\+\_\+\+I\+E\+I\+\_\+\+S\+R\+C\+\_\+\+R\+EF, S\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+CO, X\+U\+A\+\_\+\+H\+DR, xua\+\_\+msg\+\_\+add\+\_\+data(), xua\+\_\+msg\+\_\+add\+\_\+u32(), and xua\+\_\+msg\+\_\+alloc().



Referenced by xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send().

\mbox{\label{sccp__scoc_8c_abed9182be60d1191e44b35a41dd6acc3}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send@{xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send}}
\index{xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send@{xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send()}
{\footnotesize\ttfamily static int xua\+\_\+gen\+\_\+relre\+\_\+and\+\_\+send (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{uint32\+\_\+t}]{cause,  }\item[{struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::dpc, sccp\+\_\+connection\+::inst, xua\+\_\+msg\+::mtp, sccp\+\_\+connection\+::remote\+\_\+pc, sccp\+\_\+scrc\+\_\+rx\+\_\+scoc\+\_\+conn\+\_\+msg(), xua\+\_\+gen\+\_\+relre(), and xua\+\_\+msg\+\_\+free().



Referenced by scoc\+\_\+fsm\+\_\+active(), scoc\+\_\+fsm\+\_\+disconn\+\_\+pend(), and scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf().

\mbox{\label{sccp__scoc_8c_a488c5728776d3b1cd8137906e9efe451}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep@{xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep}}
\index{xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep@{xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep()}
{\footnotesize\ttfamily static bool xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim,  }\item[{int}]{msg\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References msg\+\_\+type, osmo\+\_\+scu\+\_\+prim\+::oph, sccp\+\_\+connection\+::opt\+\_\+data\+\_\+cache, osmo\+\_\+scu\+\_\+prim\+\_\+name(), and xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop().



Referenced by xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim().

\mbox{\label{sccp__scoc_8c_a8b3423632d93654c39f3f7e40ea5fb61}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim@{xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim}}
\index{xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim@{xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim()}
{\footnotesize\ttfamily static bool xua\+\_\+opt\+\_\+data\+\_\+length\+\_\+lim (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{const struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$}]{prim,  }\item[{int}]{msg\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::conn\+\_\+id, osmo\+\_\+scu\+\_\+prim\+::oph, osmo\+\_\+sccp\+\_\+tx\+\_\+data(), 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\+\_\+\+C\+O\+\_\+\+R\+E\+L\+RE, sccp\+\_\+connection\+::user, xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop(), and xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep().



Referenced by xua\+\_\+gen\+\_\+msg\+\_\+co().

\mbox{\label{sccp__scoc_8c_a176ece1b0b17f0104df970a49a16b7e0}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache@{xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache}}
\index{xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache@{xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache()}
{\footnotesize\ttfamily static void xua\+\_\+opt\+\_\+data\+\_\+send\+\_\+cache (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{int}]{exp\+\_\+type,  }\item[{uint8\+\_\+t}]{msg\+\_\+class }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References xua\+\_\+dialect\+::class, sccp\+\_\+connection\+::conn\+\_\+id, conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache(), msg\+\_\+class, sccp\+\_\+connection\+::opt\+\_\+data\+\_\+cache, osmo\+\_\+sccp\+\_\+tx\+\_\+data(), sccp\+\_\+connection\+::user, xua\+\_\+class\+\_\+msg\+\_\+name(), and xua\+\_\+dialect\+\_\+sua.



Referenced by scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in(), and scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out().



\subsection{Variable Documentation}
\mbox{\label{sccp__scoc_8c_a75884bb1a1b907bd62859dcdaf009e9c}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!cause\+\_\+map\+\_\+cref@{cause\+\_\+map\+\_\+cref}}
\index{cause\+\_\+map\+\_\+cref@{cause\+\_\+map\+\_\+cref}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{cause\+\_\+map\+\_\+cref}
{\footnotesize\ttfamily const uint8\+\_\+t cause\+\_\+map\+\_\+cref[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        [SCCP\_RETURN\_CAUSE\_SUBSYSTEM\_CONGESTION] =
                                SCCP\_REFUSAL\_SUBSYTEM\_CONGESTION,
        [SCCP\_RETURN\_CAUSE\_SUBSYSTEM\_FAILURE] =
                                SCCP\_REFUSAL\_SUBSYSTEM\_FAILURE,
        [SCCP\_RETURN\_CAUSE\_UNEQUIPPED\_USER] =
                                SCCP\_REFUSAL\_UNEQUIPPED\_USER,
        [SCCP\_RETURN\_CAUSE\_UNQUALIFIED] =
                                SCCP\_REFUSAL\_UNQUALIFIED,
        [SCCP\_RETURN\_CAUSE\_SCCP\_FAILURE] =
                                SCCP\_REFUSAL\_SCCP\_FAILURE,
        [SCCP\_RETURN\_CAUSE\_HOP\_COUNTER\_VIOLATION] =
                                SCCP\_REFUSAL\_HOP\_COUNTER\_VIOLATION,
\}
\end{DoxyCode}


Referenced by get\+\_\+cref\+\_\+cause\+\_\+for\+\_\+ret().

\mbox{\label{sccp__scoc_8c_ae18d03679df5507647907945d40e9d67}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!osmo\+\_\+sccp\+\_\+timer\+\_\+defaults@{osmo\+\_\+sccp\+\_\+timer\+\_\+defaults}}
\index{osmo\+\_\+sccp\+\_\+timer\+\_\+defaults@{osmo\+\_\+sccp\+\_\+timer\+\_\+defaults}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{osmo\+\_\+sccp\+\_\+timer\+\_\+defaults}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+val} osmo\+\_\+sccp\+\_\+timer\+\_\+defaults[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        [OSMO_SCCP_TIMER_CONN_EST]      = \{ .s =  1 * 60, \},
        [OSMO_SCCP_TIMER_IAS]           = \{ .s =  7 * 60, \}, 
        [OSMO_SCCP_TIMER_IAR]           = \{ .s = 15 * 60, \}, 
        [OSMO_SCCP_TIMER_REL]           = \{ .s =      10, \},
        [OSMO_SCCP_TIMER_REPEAT_REL]    = \{ .s =      10, \},
        [OSMO_SCCP_TIMER_INT]           = \{ .s =  1 * 60, \},
        [OSMO_SCCP_TIMER_GUARD]         = \{ .s = 23 * 60, \},
        [OSMO_SCCP_TIMER_RESET]         = \{ .s =      10, \},
        [OSMO_SCCP_TIMER_REASSEMBLY]    = \{ .s =      10, \},
\}
\end{DoxyCode}


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

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

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        \{ OSMO_SCCP_TIMER_CONN_EST,
          \textcolor{stringliteral}{"Waiting for connection confirm message, 1 to 2 minutes"} \},
        \{ OSMO_SCCP_TIMER_IAS,
          \textcolor{stringliteral}{"Send keep-alive: on an idle connection, delay before sending an Idle Timer message,"}
          \textcolor{stringliteral}{" 5 to 10 minutes"} \},
        \{ OSMO_SCCP_TIMER_IAR,
          \textcolor{stringliteral}{"Receive keep-alive: on an idle connection, delay until considering a connection as stale,"}
          \textcolor{stringliteral}{" 11 to 21 minutes"} \},
        \{ OSMO_SCCP_TIMER_REL,
          \textcolor{stringliteral}{"Waiting for release complete message, 10 to 20 seconds"} \},
        \{ OSMO_SCCP_TIMER_REPEAT_REL,
          \textcolor{stringliteral}{"Waiting for release complete message; or to repeat sending released message after the initial"}
          \textcolor{stringliteral}{" expiry, 10 to 20 seconds"} \},
        \{ OSMO_SCCP_TIMER_INT,
          \textcolor{stringliteral}{"Waiting for release complete message; or to release connection resources, freeze the LRN and"}
          \textcolor{stringliteral}{" alert a maintenance function after the initial expiry, extending to 1 minute"} \},
        \{ OSMO_SCCP_TIMER_GUARD,
          \textcolor{stringliteral}{"Waiting to resume normal procedure for temporary connection sections during the restart"}
          \textcolor{stringliteral}{" procedure, 23 to 25 minutes"} \},
        \{ OSMO_SCCP_TIMER_RESET,
          \textcolor{stringliteral}{"Waiting to release temporary connection section or alert maintenance function after reset"}
          \textcolor{stringliteral}{" request message is sent, 10 to 20 seconds"} \},
        \{ OSMO_SCCP_TIMER_REASSEMBLY,
          \textcolor{stringliteral}{"Waiting to receive all the segments of the remaining segments, single segmented message after"}
          \textcolor{stringliteral}{" receiving the first segment, 10 to 20 seconds"} \},
        \{\}
\}
\end{DoxyCode}


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

\mbox{\label{sccp__scoc_8c_adb142ce6fd39a4884c7fa9144ff15c3f}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!osmo\+\_\+sccp\+\_\+timer\+\_\+names@{osmo\+\_\+sccp\+\_\+timer\+\_\+names}}
\index{osmo\+\_\+sccp\+\_\+timer\+\_\+names@{osmo\+\_\+sccp\+\_\+timer\+\_\+names}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{osmo\+\_\+sccp\+\_\+timer\+\_\+names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+timer\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        \{ OSMO_SCCP_TIMER_CONN_EST, \textcolor{stringliteral}{"conn\_est"} \},
        \{ OSMO_SCCP_TIMER_IAS, \textcolor{stringliteral}{"ias"} \},
        \{ OSMO_SCCP_TIMER_IAR, \textcolor{stringliteral}{"iar"} \},
        \{ OSMO_SCCP_TIMER_REL, \textcolor{stringliteral}{"rel"} \},
        \{ OSMO_SCCP_TIMER_REPEAT_REL, \textcolor{stringliteral}{"repeat\_rel"} \},
        \{ OSMO_SCCP_TIMER_INT, \textcolor{stringliteral}{"int"} \},
        \{ OSMO_SCCP_TIMER_GUARD, \textcolor{stringliteral}{"guard"} \},
        \{ OSMO_SCCP_TIMER_RESET, \textcolor{stringliteral}{"reset"} \},
        \{ OSMO_SCCP_TIMER_REASSEMBLY, \textcolor{stringliteral}{"reassembly"} \},
        \{\}
\}
\end{DoxyCode}


Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), gen\+\_\+sccp\+\_\+timer\+\_\+cmd\+\_\+strs(), and osmo\+\_\+sccp\+\_\+timer\+\_\+name().

\mbox{\label{sccp__scoc_8c_acc3f4c3c00682b6a4190a5a998b129f1}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+scoc\+\_\+fsm@{sccp\+\_\+scoc\+\_\+fsm}}
\index{sccp\+\_\+scoc\+\_\+fsm@{sccp\+\_\+scoc\+\_\+fsm}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sccp\+\_\+scoc\+\_\+fsm}
{\footnotesize\ttfamily struct osmo\+\_\+fsm sccp\+\_\+scoc\+\_\+fsm}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        .name = \textcolor{stringliteral}{"SCCP-SCOC"},
        .states = sccp_scoc_states,
        .num\_states = ARRAY\_SIZE(sccp_scoc_states),
        
        .event\_names = scoc_event_names,
\}
\end{DoxyCode}


Referenced by conn\+\_\+create\+\_\+id(), and osmo\+\_\+ss7\+\_\+init().

\mbox{\label{sccp__scoc_8c_a42d0a3a8d8b642a6ec3208d3f1a63af1}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sccp\+\_\+scoc\+\_\+states@{sccp\+\_\+scoc\+\_\+states}}
\index{sccp\+\_\+scoc\+\_\+states@{sccp\+\_\+scoc\+\_\+states}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sccp\+\_\+scoc\+\_\+states}
{\footnotesize\ttfamily const struct osmo\+\_\+fsm\+\_\+state sccp\+\_\+scoc\+\_\+states[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\label{sccp__scoc_8c_a250c884f2831648b4ce3ed4edd3b21bc}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scoc\+\_\+event\+\_\+names@{scoc\+\_\+event\+\_\+names}}
\index{scoc\+\_\+event\+\_\+names@{scoc\+\_\+event\+\_\+names}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scoc\+\_\+event\+\_\+names}
{\footnotesize\ttfamily const struct value\+\_\+string scoc\+\_\+event\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        
        \{ SCOC_E_SCU_N_CONN_REQ,        \textcolor{stringliteral}{"N-CONNECT.req"} \},
        \{ SCOC_E_SCU_N_CONN_RESP,       \textcolor{stringliteral}{"N-CONNECT.resp"} \},
        \{ SCOC_E_SCU_N_DISC_REQ,        \textcolor{stringliteral}{"N-DISCONNECT.req"} \},
        \{ SCOC_E_SCU_N_DATA_REQ,        \textcolor{stringliteral}{"N-DATA.req"} \},
        \{ SCOC_E_SCU_N_EXP_DATA_REQ,    \textcolor{stringliteral}{"N-EXPEDITED\_DATA.req"} \},

        
        \{ SCOC_E_RCOC_CONN_IND,         \textcolor{stringliteral}{"RCOC-CONNECT.ind"} \},
        \{ SCOC_E_RCOC_ROUT_FAIL_IND,    \textcolor{stringliteral}{"RCOC-ROUT\_FAIL.ind"} \},
        \{ SCOC_E_RCOC_RLSD_IND,         \textcolor{stringliteral}{"RCOC-RELEASED.ind"} \},
        \{ SCOC_E_RCOC_REL_COMPL_IND,    \textcolor{stringliteral}{"RCOC-RELEASE\_COMPLETE.ind"} \},
        \{ SCOC_E_RCOC_CREF_IND,         \textcolor{stringliteral}{"RCOC-CONNECT\_REFUSED.ind"} \},
        \{ SCOC_E_RCOC_CC_IND,           \textcolor{stringliteral}{"RCOC-CONNECT\_CONFIRM.ind"} \},
        \{ SCOC_E_RCOC_DT1_IND,          \textcolor{stringliteral}{"RCOC-DT1.ind"} \},
        \{ SCOC_E_RCOC_DT2_IND,          \textcolor{stringliteral}{"RCOC-DT2.ind"} \},
        \{ SCOC_E_RCOC_IT_IND,           \textcolor{stringliteral}{"RCOC-IT.ind"} \},
        \{ SCOC_E_RCOC_OTHER_NPDU,       \textcolor{stringliteral}{"RCOC-OTHER\_NPDU.ind"} \},
        \{ SCOC_E_RCOC_ERROR_IND,        \textcolor{stringliteral}{"RCOC-ERROR.ind"} \},

        \{ SCOC_E_T_IAR_EXP,             \textcolor{stringliteral}{"T(iar)\_expired"} \},
        \{ SCOC_E_T_IAS_EXP,             \textcolor{stringliteral}{"T(ias)\_expired"} \},
        \{ SCOC_E_CONN_TMR_EXP,          \textcolor{stringliteral}{"T(conn)\_expired"} \},
        \{ SCOC_E_T_REL_EXP,             \textcolor{stringliteral}{"T(rel)\_expired"} \},
        \{ SCOC_E_T_INT_EXP,             \textcolor{stringliteral}{"T(int)\_expired"} \},
        \{ SCOC_E_T_REP_REL_EXP,         \textcolor{stringliteral}{"T(rep\_rel)\_expired"} \},

        \{ 0, NULL \}
\}
\end{DoxyCode}
\mbox{\label{sccp__scoc_8c_a8f4c91018d959ab54df91d9f0d32818e}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!scu\+\_\+scoc\+\_\+event\+\_\+map@{scu\+\_\+scoc\+\_\+event\+\_\+map}}
\index{scu\+\_\+scoc\+\_\+event\+\_\+map@{scu\+\_\+scoc\+\_\+event\+\_\+map}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{scu\+\_\+scoc\+\_\+event\+\_\+map}
{\footnotesize\ttfamily const struct osmo\+\_\+prim\+\_\+event\+\_\+map scu\+\_\+scoc\+\_\+event\+\_\+map[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        \{ SCCP_SAP_USER, OSMO_SCU_PRIM_N_CONNECT, PRIM\_OP\_REQUEST,
                SCOC_E_SCU_N_CONN_REQ \},
        \{ SCCP_SAP_USER, OSMO_SCU_PRIM_N_CONNECT, PRIM\_OP\_RESPONSE,
                SCOC_E_SCU_N_CONN_RESP \},
        \{ SCCP_SAP_USER, OSMO_SCU_PRIM_N_DATA, PRIM\_OP\_REQUEST,
                SCOC_E_SCU_N_DATA_REQ \},
        \{ SCCP_SAP_USER, OSMO_SCU_PRIM_N_DISCONNECT, PRIM\_OP\_REQUEST,
                SCOC_E_SCU_N_DISC_REQ \},
        \{ SCCP_SAP_USER, OSMO_SCU_PRIM_N_EXPEDITED_DATA, PRIM\_OP\_REQUEST,
                SCOC_E_SCU_N_EXP_DATA_REQ \},
        \{ 0, 0, 0, OSMO\_NO\_EVENT \}
\}
\end{DoxyCode}


Referenced by osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree().

\mbox{\label{sccp__scoc_8c_a0bf411ddb18999aae24423ae53b91e4c}} 
\index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!sua\+\_\+scoc\+\_\+event\+\_\+map@{sua\+\_\+scoc\+\_\+event\+\_\+map}}
\index{sua\+\_\+scoc\+\_\+event\+\_\+map@{sua\+\_\+scoc\+\_\+event\+\_\+map}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}}
\subsubsection{sua\+\_\+scoc\+\_\+event\+\_\+map}
{\footnotesize\ttfamily const struct \textbf{ xua\+\_\+msg\+\_\+event\+\_\+map} sua\+\_\+scoc\+\_\+event\+\_\+map[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        \{ SUA_MSGC_CO, SUA_CO_CORE, SCOC_E_RCOC_CONN_IND \},
        \{ SUA_MSGC_CO, SUA_CO_RELRE, SCOC_E_RCOC_RLSD_IND \},
        \{ SUA_MSGC_CO, SUA_CO_RELCO, SCOC_E_RCOC_REL_COMPL_IND \},
        \{ SUA_MSGC_CO, SUA_CO_COREF, SCOC_E_RCOC_CREF_IND \},
        \{ SUA_MSGC_CO, SUA_CO_COAK, SCOC_E_RCOC_CC_IND \},
        \{ SUA_MSGC_CO, SUA_CO_CODT, SCOC_E_RCOC_DT1_IND \},
        \{ SUA_MSGC_CO, SUA_CO_COIT, SCOC_E_RCOC_IT_IND \},
        \{ SUA_MSGC_CO, SUA_CO_COERR, SCOC_E_RCOC_ERROR_IND \},
\}
\end{DoxyCode}
