\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/linuxrbtree.\+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\+\_\+\+L\+EN}) \&\&A\+R\+R\+A\+Y\+\_\+\+S\+I\+ZE(\textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+names})==(\textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN}), assert\+\_\+osmo\+\_\+sccp\+\_\+timers\+\_\+count) \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 static int \textbf{ conn\+\_\+add\+\_\+node} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, struct \textbf{ sccp\+\_\+connection} $\ast$conn) \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 int \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$sccp) \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 osmo\+\_\+tdef \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+defaults} [\textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN}] \item const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+names} [$\,$] \item 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_afbdc10179a062cf3760c785e50e1a049}} \index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!conn\+\_\+add\+\_\+node@{conn\+\_\+add\+\_\+node}} \index{conn\+\_\+add\+\_\+node@{conn\+\_\+add\+\_\+node}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}} \subsubsection{conn\+\_\+add\+\_\+node()} {\footnotesize\ttfamily static int conn\+\_\+add\+\_\+node (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} References sccp\+\_\+connection\+::conn\+\_\+id, osmo\+\_\+sccp\+\_\+instance\+::connections, and sccp\+\_\+connection\+::node. Referenced by conn\+\_\+create\+\_\+id(). \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(), sccp\+\_\+connection\+::conn\+\_\+id, osmo\+\_\+sccp\+\_\+user\+::inst, and osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+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 conn\+\_\+add\+\_\+node(), 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\+::node, 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(), osmo\+\_\+sccp\+\_\+instance\+::connections, sccp\+\_\+connection\+::fi, sccp\+\_\+connection\+::inst, and sccp\+\_\+connection\+::node. 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\+::node. Referenced by osmo\+\_\+sccp\+\_\+conn\+\_\+id\+\_\+exists(), osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id(), 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_aefc784e9f3a56c93d1d62fb10732c2c8}} \index{sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}!osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id@{osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id}} \index{osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id@{osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id}!sccp\+\_\+scoc.\+c@{sccp\+\_\+scoc.\+c}} \subsubsection{osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{sccp }\end{DoxyParamCaption})} References conn\+\_\+find\+\_\+by\+\_\+id(), and osmo\+\_\+sccp\+\_\+instance\+::next\+\_\+id. Referenced by conn\+\_\+create(), and osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+name(). \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(), osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+name(), 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(), and osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+name(). \mbox{\label{sccp__scoc_8c_acc77ad920c0636946484d58bdb7f3cd9}} \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\+\_\+\+L\+EN})~\&\&ARRAY\+\_\+SIZE(\textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+names})==(\textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN})}, }\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\+::node. 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\+::node, 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, and osmo\+\_\+sccp\+\_\+instance\+::tdefs. 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, xua\+\_\+msg\+::mtp, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::opc, sccp\+\_\+connection\+::release\+\_\+cause, sccp\+\_\+connection\+::remote\+\_\+pc, 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 sccp\+\_\+connection\+::inst, osmo\+\_\+sccp\+\_\+instance\+::max\+\_\+optional\+\_\+data, 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, sccp\+\_\+connection\+::inst, osmo\+\_\+sccp\+\_\+instance\+::max\+\_\+optional\+\_\+data, 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_ae4f0f4b8faf5d7ba93d5d5ead401c2b3}} \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 osmo\+\_\+tdef osmo\+\_\+sccp\+\_\+timer\+\_\+defaults[\textbf{ O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+T\+I\+M\+E\+R\+S\+\_\+\+L\+EN}]} {\bfseries Initial value\+:} \begin{DoxyCode} = \{ \{ .T = OSMO_SCCP_TIMER_CONN_EST, .default\_val = 1*60, .unit = OSMO\_TDEF\_S, .desc = \textcolor{stringliteral}{"Waiting for connection confirm message, 1 to 2 minutes"} \}, \{ .T = OSMO_SCCP_TIMER_IAS, .default\_val = 7*60, .unit = OSMO\_TDEF\_S, .desc = \textcolor{stringliteral}{"Send keep-alive: on an idle connection, delay before sending an Idle Timer message, 5 to 10 minutes"} \}, \{ .T = OSMO_SCCP_TIMER_IAR, .default\_val = 15*60, .unit = OSMO\_TDEF\_S, .desc = \textcolor{stringliteral}{"Receive keep-alive: on an idle connection, delay until considering a connection as stale, 11 to 21 minutes"} \}, \{ .T = OSMO_SCCP_TIMER_REL, .default\_val = 10, .unit = OSMO\_TDEF\_S, .desc = \textcolor{stringliteral}{"Waiting for release complete message, 10 to 20 seconds"} \}, \{ .T = OSMO_SCCP_TIMER_REPEAT_REL, .default\_val = 10, .unit = OSMO\_TDEF\_S, .desc = \textcolor{stringliteral}{"Waiting for release complete message; or to repeat sending released message after the initial expiry, 10 to 20 seconds"} \}, \{ .T = OSMO_SCCP_TIMER_INT, .default\_val = 1*60, .unit = OSMO\_TDEF\_S, .desc = \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"} \}, \{ .T = OSMO_SCCP_TIMER_GUARD, .default\_val = 23*60, .unit = OSMO\_TDEF\_S, .desc = \textcolor{stringliteral}{"Waiting to resume normal procedure for temporary connection sections during the restart procedure, 23 to 25 minutes"} \}, \{ .T = OSMO_SCCP_TIMER_RESET, .default\_val = 10, .unit = OSMO\_TDEF\_S, .desc = \textcolor{stringliteral}{"Waiting to release temporary connection section or alert maintenance function after reset request message is sent, 10 to 20 seconds"} \}, \{ .T = OSMO_SCCP_TIMER_REASSEMBLY, .default\_val = 10, .unit = OSMO\_TDEF\_S, .desc = \textcolor{stringliteral}{"Waiting to receive all the segments of the remaining segments, single segmented message after receiving the first segment, 10 to 20 seconds"} \}, \{\} \} \end{DoxyCode} Referenced by gen\+\_\+sccp\+\_\+timer\+\_\+cmd\+\_\+strs(), and osmo\+\_\+sccp\+\_\+instance\+\_\+create(). \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(), osmo\+\_\+sccp\+\_\+timer\+\_\+name(), and write\+\_\+sccp\+\_\+timers(). \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}