\section{src/sccp.c File Reference}
\label{sccp_8c}\index{src/sccp.\+c@{src/sccp.\+c}}
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/talloc.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/endian.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/tlv.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sccp/sccp\+\_\+types.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sccp/sccp.\+h$>$}\newline
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ sccp\+\_\+system}
\item 
struct \textbf{ sccp\+\_\+data\+\_\+callback}
\item 
struct \textbf{ udt\+\_\+offsets}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE}~4096
\item 
\#define \textbf{ S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM}~128
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static \textbf{ L\+L\+I\+S\+T\+\_\+\+H\+E\+AD} (sccp\+\_\+connections)
\item 
static \textbf{ L\+L\+I\+S\+T\+\_\+\+H\+E\+AD} (sccp\+\_\+callbacks)
\item 
static struct \textbf{ sccp\+\_\+data\+\_\+callback} $\ast$ \textbf{ \+\_\+find\+\_\+ssn} (uint8\+\_\+t ssn)
\item 
static void \textbf{ \+\_\+send\+\_\+msg} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, struct msgb $\ast$msg, void $\ast$ctx)
\item 
static int \textbf{ copy\+\_\+address} (struct sccp\+\_\+address $\ast$addr, uint8\+\_\+t offset, struct msgb $\ast$msgb)
\item 
static int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data} (const int offset, struct msgb $\ast$msgb, struct sccp\+\_\+optional\+\_\+data $\ast$\textbf{ data})
\item 
int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
static int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+unitdata} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result, const struct \textbf{ udt\+\_\+offsets} $\ast$offs)
\item 
int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+udt} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+udts} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
static int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+xudt} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
static int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+xudts} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
static int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+it} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
static int \textbf{ \+\_\+sccp\+\_\+parse\+\_\+err} (struct msgb $\ast$msgb, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
int \textbf{ sccp\+\_\+create\+\_\+sccp\+\_\+addr} (struct msgb $\ast$msg, const struct sockaddr\+\_\+sccp $\ast$sock)
\item 
struct msgb $\ast$ \textbf{ sccp\+\_\+create\+\_\+udt} (int class, const struct sockaddr\+\_\+sccp $\ast$in, const struct sockaddr\+\_\+sccp $\ast$out, uint8\+\_\+t $\ast$in\+\_\+data, int \textbf{ len})
\item 
static int \textbf{ \+\_\+sccp\+\_\+send\+\_\+data} (int class, const struct sockaddr\+\_\+sccp $\ast$in, const struct sockaddr\+\_\+sccp $\ast$out, struct msgb $\ast$payload, void $\ast$ctx)
\item 
static int \textbf{ \+\_\+sccp\+\_\+handle\+\_\+read} (struct msgb $\ast$msgb)
\item 
static int \textbf{ source\+\_\+local\+\_\+reference\+\_\+is\+\_\+free} (struct sccp\+\_\+source\+\_\+reference $\ast$reference)
\item 
static int \textbf{ destination\+\_\+local\+\_\+reference\+\_\+is\+\_\+free} (struct sccp\+\_\+source\+\_\+reference $\ast$reference)
\item 
static int \textbf{ assign\+\_\+source\+\_\+local\+\_\+reference} (struct \textbf{ sccp\+\_\+connection} $\ast$connection)
\item 
static void \textbf{ \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state} (struct \textbf{ sccp\+\_\+connection} $\ast$connection, int new\+\_\+state)
\item 
struct msgb $\ast$ \textbf{ sccp\+\_\+create\+\_\+refuse} (struct sccp\+\_\+source\+\_\+reference $\ast$src\+\_\+ref, int cause, uint8\+\_\+t $\ast$inp, int length)
\item 
static int \textbf{ \+\_\+sccp\+\_\+send\+\_\+refuse} (struct sccp\+\_\+source\+\_\+reference $\ast$src\+\_\+ref, int cause, void $\ast$ctx)
\item 
struct msgb $\ast$ \textbf{ sccp\+\_\+create\+\_\+cc} (struct sccp\+\_\+source\+\_\+reference $\ast$src\+\_\+ref, struct sccp\+\_\+source\+\_\+reference $\ast$dst\+\_\+ref)
\item 
static int \textbf{ \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm} (struct \textbf{ sccp\+\_\+connection} $\ast$connection)
\item 
struct msgb $\ast$ \textbf{ sccp\+\_\+create\+\_\+cr} (const struct sccp\+\_\+source\+\_\+reference $\ast$src\+\_\+ref, const struct sockaddr\+\_\+sccp $\ast$called, const uint8\+\_\+t $\ast$l3\+\_\+data, size\+\_\+t l3\+\_\+length)
\item 
static int \textbf{ \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request} (struct \textbf{ sccp\+\_\+connection} $\ast$connection, const struct sockaddr\+\_\+sccp $\ast$called, struct msgb $\ast$msg)
\item 
struct msgb $\ast$ \textbf{ sccp\+\_\+create\+\_\+dt1} (struct sccp\+\_\+source\+\_\+reference $\ast$dst\+\_\+ref, uint8\+\_\+t $\ast$inp\+\_\+data, uint8\+\_\+t \textbf{ len})
\item 
static int \textbf{ \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, struct msgb $\ast$\+\_\+data)
\item 
static int \textbf{ \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+it} (struct \textbf{ sccp\+\_\+connection} $\ast$conn)
\item 
struct msgb $\ast$ \textbf{ sccp\+\_\+create\+\_\+rlsd} (struct sccp\+\_\+source\+\_\+reference $\ast$src\+\_\+ref, struct sccp\+\_\+source\+\_\+reference $\ast$dst\+\_\+ref, int cause)
\item 
static int \textbf{ \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, int cause)
\item 
static int \textbf{ \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request} (struct msgb $\ast$msgb, void $\ast$ctx)
\item 
static int \textbf{ \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete} (struct msgb $\ast$msgb)
\item 
static int \textbf{ \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1} (struct msgb $\ast$msgb)
\item 
static int \textbf{ \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete} (struct \textbf{ sccp\+\_\+connection} $\ast$connection)
\item 
static int \textbf{ \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released} (struct msgb $\ast$msgb)
\item 
static int \textbf{ \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused} (struct msgb $\ast$msgb)
\item 
static int \textbf{ \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm} (struct msgb $\ast$msgb)
\item 
int \textbf{ sccp\+\_\+system\+\_\+init} (void($\ast$outgoing)(struct \textbf{ sccp\+\_\+connection} $\ast$conn, struct msgb $\ast$\textbf{ data}, void $\ast$, void $\ast$), void $\ast$ctx)
\item 
int \textbf{ sccp\+\_\+system\+\_\+incoming} (struct msgb $\ast$msgb)
\item 
int \textbf{ sccp\+\_\+system\+\_\+incoming\+\_\+ctx} (struct msgb $\ast$msgb, void $\ast$ctx)
\item 
int \textbf{ sccp\+\_\+connection\+\_\+write} (struct \textbf{ sccp\+\_\+connection} $\ast$connection, struct msgb $\ast$\textbf{ data})
\item 
int \textbf{ sccp\+\_\+connection\+\_\+send\+\_\+it} (struct \textbf{ sccp\+\_\+connection} $\ast$connection)
\item 
int \textbf{ sccp\+\_\+connection\+\_\+close} (struct \textbf{ sccp\+\_\+connection} $\ast$connection, int cause)
\item 
int \textbf{ sccp\+\_\+connection\+\_\+free} (struct \textbf{ sccp\+\_\+connection} $\ast$connection)
\item 
int \textbf{ sccp\+\_\+connection\+\_\+force\+\_\+free} (struct \textbf{ sccp\+\_\+connection} $\ast$con)
\item 
struct \textbf{ sccp\+\_\+connection} $\ast$ \textbf{ sccp\+\_\+connection\+\_\+socket} (void)
\item 
int \textbf{ sccp\+\_\+connection\+\_\+connect} (struct \textbf{ sccp\+\_\+connection} $\ast$conn, const struct sockaddr\+\_\+sccp $\ast$local, struct msgb $\ast$\textbf{ data})
\item 
int \textbf{ sccp\+\_\+connection\+\_\+set\+\_\+incoming} (const struct sockaddr\+\_\+sccp $\ast$sock, int($\ast$accept\+\_\+cb)(struct \textbf{ sccp\+\_\+connection} $\ast$, void $\ast$), void $\ast$context)
\item 
int \textbf{ sccp\+\_\+write} (struct msgb $\ast$\textbf{ data}, const struct sockaddr\+\_\+sccp $\ast$in, const struct sockaddr\+\_\+sccp $\ast$out, int class, void $\ast$ctx)
\item 
int \textbf{ sccp\+\_\+set\+\_\+read} (const struct sockaddr\+\_\+sccp $\ast$sock, int($\ast$read\+\_\+cb)(struct msgb $\ast$, unsigned int, void $\ast$), void $\ast$context)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (sizeof(struct sccp\+\_\+source\+\_\+reference)$<$=sizeof(uint32\+\_\+t), enough\+\_\+space)
\item 
uint32\+\_\+t \textbf{ sccp\+\_\+src\+\_\+ref\+\_\+to\+\_\+int} (struct sccp\+\_\+source\+\_\+reference $\ast$ref)
\item 
struct sccp\+\_\+source\+\_\+reference \textbf{ sccp\+\_\+src\+\_\+ref\+\_\+from\+\_\+int} (uint32\+\_\+t int\+\_\+ref)
\item 
int \textbf{ sccp\+\_\+determine\+\_\+msg\+\_\+type} (struct msgb $\ast$msg)
\item 
int \textbf{ sccp\+\_\+parse\+\_\+header} (struct msgb $\ast$msg, struct sccp\+\_\+parse\+\_\+result $\ast$result)
\item 
static \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+} ((constructor))
\item 
static \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+} ((destructor))
\item 
void \textbf{ sccp\+\_\+set\+\_\+log\+\_\+area} (int log\+\_\+area)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static int \textbf{ D\+S\+C\+CP} = 0
\item 
static void $\ast$ \textbf{ tall\+\_\+sccp\+\_\+ctx}
\item 
const struct sockaddr\+\_\+sccp \textbf{ sccp\+\_\+ssn\+\_\+bssap}
\item 
static struct \textbf{ sccp\+\_\+system} \textbf{ sccp\+\_\+system}
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\mbox{\label{sccp_8c_a93c1b4187877d6a16a64487da38aa772}} 
\index{sccp.\+c@{sccp.\+c}!S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM@{S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM}}
\index{S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM@{S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM}!sccp.\+c@{sccp.\+c}}
\subsubsection{S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM}
{\footnotesize\ttfamily \#define S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM~128}



Referenced by \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+it(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete(), sccp\+\_\+create\+\_\+cc(), sccp\+\_\+create\+\_\+cr(), sccp\+\_\+create\+\_\+dt1(), sccp\+\_\+create\+\_\+refuse(), sccp\+\_\+create\+\_\+rlsd(), and sccp\+\_\+create\+\_\+udt().

\mbox{\label{sccp_8c_a95dfedb93a29d464768e61be0054b120}} 
\index{sccp.\+c@{sccp.\+c}!S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE@{S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE}}
\index{S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE@{S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE}!sccp.\+c@{sccp.\+c}}
\subsubsection{S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE}
{\footnotesize\ttfamily \#define S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE~4096}



Referenced by \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+it(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete(), sccp\+\_\+create\+\_\+cc(), sccp\+\_\+create\+\_\+cr(), sccp\+\_\+create\+\_\+dt1(), sccp\+\_\+create\+\_\+refuse(), sccp\+\_\+create\+\_\+rlsd(), and sccp\+\_\+create\+\_\+udt().



\subsection{Function Documentation}
\mbox{\label{sccp_8c_a9ed16867a9394d9ccf1132194edae298}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+\+\_\+attribute\+\_\+\+\_\+@{\+\_\+\+\_\+attribute\+\_\+\+\_\+}}
\index{\+\_\+\+\_\+attribute\+\_\+\+\_\+@{\+\_\+\+\_\+attribute\+\_\+\+\_\+}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+\+\_\+attribute\+\_\+\+\_\+()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static \+\_\+\+\_\+attribute\+\_\+\+\_\+ (\begin{DoxyParamCaption}\item[{(constructor)}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References tall\+\_\+sccp\+\_\+ctx.

\mbox{\label{sccp_8c_a7f400e70d869030323eab6b41ab8e833}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+\+\_\+attribute\+\_\+\+\_\+@{\+\_\+\+\_\+attribute\+\_\+\+\_\+}}
\index{\+\_\+\+\_\+attribute\+\_\+\+\_\+@{\+\_\+\+\_\+attribute\+\_\+\+\_\+}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+\+\_\+attribute\+\_\+\+\_\+()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static \+\_\+\+\_\+attribute\+\_\+\+\_\+ (\begin{DoxyParamCaption}\item[{(destructor)}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References tall\+\_\+sccp\+\_\+ctx.

\mbox{\label{sccp_8c_ad37028f7759ef1c1ee278f1678a1d6fa}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+find\+\_\+ssn@{\+\_\+find\+\_\+ssn}}
\index{\+\_\+find\+\_\+ssn@{\+\_\+find\+\_\+ssn}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+find\+\_\+ssn()}
{\footnotesize\ttfamily static struct \textbf{ sccp\+\_\+data\+\_\+callback}$\ast$ \+\_\+find\+\_\+ssn (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ssn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+data\+\_\+callback\+::callback, D\+S\+C\+CP, sccp\+\_\+data\+\_\+callback\+::ssn, and tall\+\_\+sccp\+\_\+ctx.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request(), \+\_\+sccp\+\_\+handle\+\_\+read(), sccp\+\_\+connection\+\_\+set\+\_\+incoming(), and sccp\+\_\+set\+\_\+read().

\mbox{\label{sccp_8c_a40fc584f4feac9f209e4cff3355944f3}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm}}
\index{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state(), D\+S\+C\+CP, sccp\+\_\+connection\+::incoming, and sccp\+\_\+connection\+::list.



Referenced by sccp\+\_\+system\+\_\+incoming\+\_\+ctx().

\mbox{\label{sccp_8c_adf65f28d874b150ec5198fa6cd59ee0c}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1}}
\index{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1 (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1(), D\+S\+C\+CP, and sccp\+\_\+connection\+::list.



Referenced by sccp\+\_\+system\+\_\+incoming\+\_\+ctx().

\mbox{\label{sccp_8c_a944c864ceb54f33977f266ae3acb1256}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused}}
\index{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused(), \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state(), D\+S\+C\+CP, sccp\+\_\+connection\+::incoming, and sccp\+\_\+connection\+::list.



Referenced by sccp\+\_\+system\+\_\+incoming\+\_\+ctx().

\mbox{\label{sccp_8c_a182cf8b9734d615a5b41c4ab63ed2909}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete}}
\index{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete(), \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state(), D\+S\+C\+CP, and sccp\+\_\+connection\+::list.



Referenced by sccp\+\_\+system\+\_\+incoming\+\_\+ctx().

\mbox{\label{sccp_8c_a1e16250489074ed16b75663f85730f02}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released}}
\index{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete(), D\+S\+C\+CP, and sccp\+\_\+connection\+::list.



Referenced by sccp\+\_\+system\+\_\+incoming\+\_\+ctx().

\mbox{\label{sccp_8c_afeebaa122a97bdf426d1120dc7b11d66}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request}}
\index{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request@{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+find\+\_\+ssn(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+send\+\_\+refuse(), \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state(), sccp\+\_\+data\+\_\+callback\+::accept\+\_\+cb, sccp\+\_\+data\+\_\+callback\+::accept\+\_\+context, destination\+\_\+local\+\_\+reference\+\_\+is\+\_\+free(), D\+S\+C\+CP, sccp\+\_\+connection\+::incoming, sccp\+\_\+connection\+::list, and tall\+\_\+sccp\+\_\+ctx.



Referenced by sccp\+\_\+system\+\_\+incoming\+\_\+ctx().

\mbox{\label{sccp_8c_ad55dbd13b090bd850b912243aac88d41}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+handle\+\_\+read@{\+\_\+sccp\+\_\+handle\+\_\+read}}
\index{\+\_\+sccp\+\_\+handle\+\_\+read@{\+\_\+sccp\+\_\+handle\+\_\+read}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+handle\+\_\+read()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+handle\+\_\+read (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+find\+\_\+ssn(), \+\_\+sccp\+\_\+parse\+\_\+udt(), D\+S\+C\+CP, sccp\+\_\+data\+\_\+callback\+::read\+\_\+cb, and sccp\+\_\+data\+\_\+callback\+::read\+\_\+context.



Referenced by sccp\+\_\+system\+\_\+incoming\+\_\+ctx().

\mbox{\label{sccp_8c_a8bad77b1220e3a3407054429eb02e416}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm}}
\index{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm()}
{\footnotesize\ttfamily int \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data(), and D\+S\+C\+CP.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm(), and sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_a11c066ebd35e029f7c379e486a69cca4}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1}}
\index{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1()}
{\footnotesize\ttfamily int \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1 (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})}



References D\+S\+C\+CP.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1(), and sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_a0775d29bff293a4f5ae4bab635d72ac4}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused}}
\index{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused()}
{\footnotesize\ttfamily int \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data(), and D\+S\+C\+CP.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused(), and sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_a89dbef364aee48b29a8f39b38eef79c1}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete}}
\index{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete()}
{\footnotesize\ttfamily int \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})}



References D\+S\+C\+CP.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete(), and sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_a648c2ab7821eadd9f240fdb8346f60b1}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released}}
\index{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released()}
{\footnotesize\ttfamily int \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data(), and D\+S\+C\+CP.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released(), and sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_abb02b43c02ec68eecfb60d45e6bea3a6}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request}}
\index{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request@{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request()}
{\footnotesize\ttfamily int \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data(), copy\+\_\+address(), and D\+S\+C\+CP.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request(), and sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_a631c01f0934d85cb9cd38a02b8ecb35b}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+err@{\+\_\+sccp\+\_\+parse\+\_\+err}}
\index{\+\_\+sccp\+\_\+parse\+\_\+err@{\+\_\+sccp\+\_\+parse\+\_\+err}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+err()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+parse\+\_\+err (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References D\+S\+C\+CP.



Referenced by sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_ab27ade0b853143cae69bb1bba134e16c}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+it@{\+\_\+sccp\+\_\+parse\+\_\+it}}
\index{\+\_\+sccp\+\_\+parse\+\_\+it@{\+\_\+sccp\+\_\+parse\+\_\+it}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+it()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+parse\+\_\+it (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References D\+S\+C\+CP.



Referenced by sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_aa369d3b395a8d326212332aeae984692}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data@{\+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data}}
\index{\+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data@{\+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data (\begin{DoxyParamCaption}\item[{const int}]{offset,  }\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+optional\+\_\+data $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References D\+S\+C\+CP.



Referenced by \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released(), and \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request().

\mbox{\label{sccp_8c_a88522cd9a68fceda6bf8af3e4fe5cea2}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+udt@{\+\_\+sccp\+\_\+parse\+\_\+udt}}
\index{\+\_\+sccp\+\_\+parse\+\_\+udt@{\+\_\+sccp\+\_\+parse\+\_\+udt}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+udt()}
{\footnotesize\ttfamily int \+\_\+sccp\+\_\+parse\+\_\+udt (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+parse\+\_\+unitdata(), and udt\+\_\+offsets\+::header\+\_\+size.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+read(), and sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_af4e74c8c6370c644d0823f204ef489af}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+udts@{\+\_\+sccp\+\_\+parse\+\_\+udts}}
\index{\+\_\+sccp\+\_\+parse\+\_\+udts@{\+\_\+sccp\+\_\+parse\+\_\+udts}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+udts()}
{\footnotesize\ttfamily int \+\_\+sccp\+\_\+parse\+\_\+udts (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+parse\+\_\+unitdata(), and udt\+\_\+offsets\+::header\+\_\+size.



Referenced by sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_abcba7c8d1a01b3f995e9860ddd58723e}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+unitdata@{\+\_\+sccp\+\_\+parse\+\_\+unitdata}}
\index{\+\_\+sccp\+\_\+parse\+\_\+unitdata@{\+\_\+sccp\+\_\+parse\+\_\+unitdata}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+unitdata()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+parse\+\_\+unitdata (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result,  }\item[{const struct \textbf{ udt\+\_\+offsets} $\ast$}]{offs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References udt\+\_\+offsets\+::called\+\_\+offset, udt\+\_\+offsets\+::calling\+\_\+offset, copy\+\_\+address(), udt\+\_\+offsets\+::data\+\_\+offset, D\+S\+C\+CP, and udt\+\_\+offsets\+::header\+\_\+size.



Referenced by \+\_\+sccp\+\_\+parse\+\_\+udt(), \+\_\+sccp\+\_\+parse\+\_\+udts(), \+\_\+sccp\+\_\+parse\+\_\+xudt(), and \+\_\+sccp\+\_\+parse\+\_\+xudts().

\mbox{\label{sccp_8c_af2fb5db10289d2634bf9d45886061d6a}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+xudt@{\+\_\+sccp\+\_\+parse\+\_\+xudt}}
\index{\+\_\+sccp\+\_\+parse\+\_\+xudt@{\+\_\+sccp\+\_\+parse\+\_\+xudt}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+xudt()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+parse\+\_\+xudt (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+parse\+\_\+unitdata(), and udt\+\_\+offsets\+::header\+\_\+size.



Referenced by sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_acc46f325f1d3cb0b5989d4aa91a2be5b}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+parse\+\_\+xudts@{\+\_\+sccp\+\_\+parse\+\_\+xudts}}
\index{\+\_\+sccp\+\_\+parse\+\_\+xudts@{\+\_\+sccp\+\_\+parse\+\_\+xudts}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+parse\+\_\+xudts()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+parse\+\_\+xudts (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+parse\+\_\+unitdata(), and udt\+\_\+offsets\+::header\+\_\+size.



Referenced by sccp\+\_\+parse\+\_\+header().

\mbox{\label{sccp_8c_a420f9cb73eb4ea5fff69a25f7e614932}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm}}
\index{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{connection }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state(), \+\_\+send\+\_\+msg(), assign\+\_\+source\+\_\+local\+\_\+reference(), and sccp\+\_\+create\+\_\+cc().



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request().

\mbox{\label{sccp_8c_a0c08f6f6ec98557b8c4c7fc1b7fe551e}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data}}
\index{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{struct msgb $\ast$}]{\+\_\+data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+send\+\_\+msg(), D\+S\+C\+CP, and sccp\+\_\+create\+\_\+dt1().



Referenced by sccp\+\_\+connection\+\_\+write().

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



References \+\_\+send\+\_\+msg(), S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, and S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE.



Referenced by sccp\+\_\+connection\+\_\+send\+\_\+it().

\mbox{\label{sccp_8c_acf7425b57816315588b0196c1f9a691d}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete}}
\index{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{connection }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state(), \+\_\+send\+\_\+msg(), sccp\+\_\+connection\+::list, S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, and S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released().

\mbox{\label{sccp_8c_a028316bde5fb56963ac90660b1b990ed}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released}}
\index{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{int}]{cause }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state(), \+\_\+send\+\_\+msg(), and sccp\+\_\+create\+\_\+rlsd().



Referenced by sccp\+\_\+connection\+\_\+close().

\mbox{\label{sccp_8c_a365da14a4888638c974fe26b8ae14e64}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request}}
\index{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request@{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{connection,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{called,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state(), \+\_\+send\+\_\+msg(), assign\+\_\+source\+\_\+local\+\_\+reference(), D\+S\+C\+CP, sccp\+\_\+connection\+::list, and sccp\+\_\+create\+\_\+cr().



Referenced by sccp\+\_\+connection\+\_\+connect().

\mbox{\label{sccp_8c_ab8c542ab7afa69373b974d7af00ae935}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+send\+\_\+data@{\+\_\+sccp\+\_\+send\+\_\+data}}
\index{\+\_\+sccp\+\_\+send\+\_\+data@{\+\_\+sccp\+\_\+send\+\_\+data}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+send\+\_\+data()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+send\+\_\+data (\begin{DoxyParamCaption}\item[{int}]{class,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{in,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{out,  }\item[{struct msgb $\ast$}]{payload,  }\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+send\+\_\+msg(), and sccp\+\_\+create\+\_\+udt().



Referenced by sccp\+\_\+write().

\mbox{\label{sccp_8c_ab1160682098c2bb858a9805ff53d9557}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+send\+\_\+refuse@{\+\_\+sccp\+\_\+send\+\_\+refuse}}
\index{\+\_\+sccp\+\_\+send\+\_\+refuse@{\+\_\+sccp\+\_\+send\+\_\+refuse}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+send\+\_\+refuse()}
{\footnotesize\ttfamily static int \+\_\+sccp\+\_\+send\+\_\+refuse (\begin{DoxyParamCaption}\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{src\+\_\+ref,  }\item[{int}]{cause,  }\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \+\_\+send\+\_\+msg(), and sccp\+\_\+create\+\_\+refuse().



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request().

\mbox{\label{sccp_8c_ad719848035225c855cfbeb4d705475a2}} 
\index{sccp.\+c@{sccp.\+c}!\+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state@{\+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state}}
\index{\+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state@{\+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state}!sccp.\+c@{sccp.\+c}}
\subsubsection{\+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state()}
{\footnotesize\ttfamily static void \+\_\+sccp\+\_\+set\+\_\+connection\+\_\+state (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{connection,  }\item[{int}]{new\+\_\+state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released(), and \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request().

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



References sccp\+\_\+system\+::write\+\_\+context, and sccp\+\_\+system\+::write\+\_\+data.



Referenced by \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+it(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+release\+\_\+complete(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request(), \+\_\+sccp\+\_\+send\+\_\+data(), and \+\_\+sccp\+\_\+send\+\_\+refuse().

\mbox{\label{sccp_8c_a23f3d91d576c49836aef9bd1a8aec8e8}} 
\index{sccp.\+c@{sccp.\+c}!assign\+\_\+source\+\_\+local\+\_\+reference@{assign\+\_\+source\+\_\+local\+\_\+reference}}
\index{assign\+\_\+source\+\_\+local\+\_\+reference@{assign\+\_\+source\+\_\+local\+\_\+reference}!sccp.\+c@{sccp.\+c}}
\subsubsection{assign\+\_\+source\+\_\+local\+\_\+reference()}
{\footnotesize\ttfamily static int assign\+\_\+source\+\_\+local\+\_\+reference (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{connection }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References D\+S\+C\+CP, and source\+\_\+local\+\_\+reference\+\_\+is\+\_\+free().



Referenced by \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm(), and \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request().

\mbox{\label{sccp_8c_abef8b5bbf898e9e46e4e5091ee05e2ae}} 
\index{sccp.\+c@{sccp.\+c}!copy\+\_\+address@{copy\+\_\+address}}
\index{copy\+\_\+address@{copy\+\_\+address}!sccp.\+c@{sccp.\+c}}
\subsubsection{copy\+\_\+address()}
{\footnotesize\ttfamily static int copy\+\_\+address (\begin{DoxyParamCaption}\item[{struct sccp\+\_\+address $\ast$}]{addr,  }\item[{uint8\+\_\+t}]{offset,  }\item[{struct msgb $\ast$}]{msgb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References D\+S\+C\+CP.



Referenced by \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request(), and \+\_\+sccp\+\_\+parse\+\_\+unitdata().

\mbox{\label{sccp_8c_aa859763e4aa0250ba0e5b09f683a5af8}} 
\index{sccp.\+c@{sccp.\+c}!destination\+\_\+local\+\_\+reference\+\_\+is\+\_\+free@{destination\+\_\+local\+\_\+reference\+\_\+is\+\_\+free}}
\index{destination\+\_\+local\+\_\+reference\+\_\+is\+\_\+free@{destination\+\_\+local\+\_\+reference\+\_\+is\+\_\+free}!sccp.\+c@{sccp.\+c}}
\subsubsection{destination\+\_\+local\+\_\+reference\+\_\+is\+\_\+free()}
{\footnotesize\ttfamily static int destination\+\_\+local\+\_\+reference\+\_\+is\+\_\+free (\begin{DoxyParamCaption}\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{reference }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::list.



Referenced by \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request().

\mbox{\label{sccp_8c_addaf5dcd2714433aeae393bff659e9b1}} 
\index{sccp.\+c@{sccp.\+c}!L\+L\+I\+S\+T\+\_\+\+H\+E\+AD@{L\+L\+I\+S\+T\+\_\+\+H\+E\+AD}}
\index{L\+L\+I\+S\+T\+\_\+\+H\+E\+AD@{L\+L\+I\+S\+T\+\_\+\+H\+E\+AD}!sccp.\+c@{sccp.\+c}}
\subsubsection{L\+L\+I\+S\+T\+\_\+\+H\+E\+A\+D()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static L\+L\+I\+S\+T\+\_\+\+H\+E\+AD (\begin{DoxyParamCaption}\item[{sccp\+\_\+connections}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\label{sccp_8c_aef7b7284a7c90ea2a3ff2b0816c1aa9a}} 
\index{sccp.\+c@{sccp.\+c}!L\+L\+I\+S\+T\+\_\+\+H\+E\+AD@{L\+L\+I\+S\+T\+\_\+\+H\+E\+AD}}
\index{L\+L\+I\+S\+T\+\_\+\+H\+E\+AD@{L\+L\+I\+S\+T\+\_\+\+H\+E\+AD}!sccp.\+c@{sccp.\+c}}
\subsubsection{L\+L\+I\+S\+T\+\_\+\+H\+E\+A\+D()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static L\+L\+I\+S\+T\+\_\+\+H\+E\+AD (\begin{DoxyParamCaption}\item[{sccp\+\_\+callbacks}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\label{sccp_8c_a0b41189236e3b375da78a2806b82307f}} 
\index{sccp.\+c@{sccp.\+c}!osmo\+\_\+static\+\_\+assert@{osmo\+\_\+static\+\_\+assert}}
\index{osmo\+\_\+static\+\_\+assert@{osmo\+\_\+static\+\_\+assert}!sccp.\+c@{sccp.\+c}}
\subsubsection{osmo\+\_\+static\+\_\+assert()}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{sizeof(struct sccp\+\_\+source\+\_\+reference)$<$=sizeof(uint32\+\_\+t)}]{,  }\item[{enough\+\_\+space}]{ }\end{DoxyParamCaption})}



Referenced by sccp\+\_\+set\+\_\+read().

\mbox{\label{sccp_8c_a3580d82b7e274b2dd55b55f25cec92b7}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+connection\+\_\+close@{sccp\+\_\+connection\+\_\+close}}
\index{sccp\+\_\+connection\+\_\+close@{sccp\+\_\+connection\+\_\+close}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+connection\+\_\+close()}
{\footnotesize\ttfamily int sccp\+\_\+connection\+\_\+close (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{connection,  }\item[{int}]{cause }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released(), and D\+S\+C\+CP.

\mbox{\label{sccp_8c_aaf16caca45f0150cbad61c0cdb40c27a}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+connection\+\_\+connect@{sccp\+\_\+connection\+\_\+connect}}
\index{sccp\+\_\+connection\+\_\+connect@{sccp\+\_\+connection\+\_\+connect}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+connection\+\_\+connect()}
{\footnotesize\ttfamily int sccp\+\_\+connection\+\_\+connect (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{conn,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{local,  }\item[{struct msgb $\ast$}]{data }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request().

\mbox{\label{sccp_8c_a4febdceb7bc1397829429670c678d52c}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+connection\+\_\+force\+\_\+free@{sccp\+\_\+connection\+\_\+force\+\_\+free}}
\index{sccp\+\_\+connection\+\_\+force\+\_\+free@{sccp\+\_\+connection\+\_\+force\+\_\+free}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+connection\+\_\+force\+\_\+free()}
{\footnotesize\ttfamily int sccp\+\_\+connection\+\_\+force\+\_\+free (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{con }\end{DoxyParamCaption})}



References sccp\+\_\+connection\+::list, and sccp\+\_\+connection\+\_\+free().

\mbox{\label{sccp_8c_ac7b76d5cf9c442c22c9c6ab3b31d2c14}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+connection\+\_\+free@{sccp\+\_\+connection\+\_\+free}}
\index{sccp\+\_\+connection\+\_\+free@{sccp\+\_\+connection\+\_\+free}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+connection\+\_\+free()}
{\footnotesize\ttfamily int sccp\+\_\+connection\+\_\+free (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{connection }\end{DoxyParamCaption})}



References D\+S\+C\+CP.



Referenced by sccp\+\_\+connection\+\_\+force\+\_\+free().

\mbox{\label{sccp_8c_a8f936980e5be74da6c7d34a79cc304e8}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+connection\+\_\+send\+\_\+it@{sccp\+\_\+connection\+\_\+send\+\_\+it}}
\index{sccp\+\_\+connection\+\_\+send\+\_\+it@{sccp\+\_\+connection\+\_\+send\+\_\+it}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+connection\+\_\+send\+\_\+it()}
{\footnotesize\ttfamily int sccp\+\_\+connection\+\_\+send\+\_\+it (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{connection }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+it(), and D\+S\+C\+CP.

\mbox{\label{sccp_8c_afae246de0fa1621fb6695c85d6f8af92}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+connection\+\_\+set\+\_\+incoming@{sccp\+\_\+connection\+\_\+set\+\_\+incoming}}
\index{sccp\+\_\+connection\+\_\+set\+\_\+incoming@{sccp\+\_\+connection\+\_\+set\+\_\+incoming}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+connection\+\_\+set\+\_\+incoming()}
{\footnotesize\ttfamily int sccp\+\_\+connection\+\_\+set\+\_\+incoming (\begin{DoxyParamCaption}\item[{const struct sockaddr\+\_\+sccp $\ast$}]{sock,  }\item[{int($\ast$)(struct \textbf{ sccp\+\_\+connection} $\ast$, void $\ast$)}]{accept\+\_\+cb,  }\item[{void $\ast$}]{context }\end{DoxyParamCaption})}



References \+\_\+find\+\_\+ssn(), sccp\+\_\+data\+\_\+callback\+::accept\+\_\+cb, and sccp\+\_\+data\+\_\+callback\+::accept\+\_\+context.

\mbox{\label{sccp_8c_af3f281b30f52ee258a388c21fc8b2261}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+connection\+\_\+socket@{sccp\+\_\+connection\+\_\+socket}}
\index{sccp\+\_\+connection\+\_\+socket@{sccp\+\_\+connection\+\_\+socket}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+connection\+\_\+socket()}
{\footnotesize\ttfamily struct \textbf{ sccp\+\_\+connection}$\ast$ sccp\+\_\+connection\+\_\+socket (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



References tall\+\_\+sccp\+\_\+ctx.

\mbox{\label{sccp_8c_a22d2f5065e5560cadd1d798a1d4773a1}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+connection\+\_\+write@{sccp\+\_\+connection\+\_\+write}}
\index{sccp\+\_\+connection\+\_\+write@{sccp\+\_\+connection\+\_\+write}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+connection\+\_\+write()}
{\footnotesize\ttfamily int sccp\+\_\+connection\+\_\+write (\begin{DoxyParamCaption}\item[{struct \textbf{ sccp\+\_\+connection} $\ast$}]{connection,  }\item[{struct msgb $\ast$}]{data }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data(), and D\+S\+C\+CP.

\mbox{\label{sccp_8c_a3438d0e32943a2af52f0172a4fd71744}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+create\+\_\+cc@{sccp\+\_\+create\+\_\+cc}}
\index{sccp\+\_\+create\+\_\+cc@{sccp\+\_\+create\+\_\+cc}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+create\+\_\+cc()}
{\footnotesize\ttfamily struct msgb$\ast$ sccp\+\_\+create\+\_\+cc (\begin{DoxyParamCaption}\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{src\+\_\+ref,  }\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{dst\+\_\+ref }\end{DoxyParamCaption})}



References D\+S\+C\+CP, S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, and S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE.



Referenced by \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+confirm().

\mbox{\label{sccp_8c_ac6f94e47aa3da6027f76a106346576a3}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+create\+\_\+cr@{sccp\+\_\+create\+\_\+cr}}
\index{sccp\+\_\+create\+\_\+cr@{sccp\+\_\+create\+\_\+cr}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+create\+\_\+cr()}
{\footnotesize\ttfamily struct msgb$\ast$ sccp\+\_\+create\+\_\+cr (\begin{DoxyParamCaption}\item[{const struct sccp\+\_\+source\+\_\+reference $\ast$}]{src\+\_\+ref,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{called,  }\item[{const uint8\+\_\+t $\ast$}]{l3\+\_\+data,  }\item[{size\+\_\+t}]{l3\+\_\+length }\end{DoxyParamCaption})}



References data, D\+S\+C\+CP, sccp\+\_\+create\+\_\+sccp\+\_\+addr(), S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, and S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE.



Referenced by \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request().

\mbox{\label{sccp_8c_a07ead5caba575af3fd23cc3747f35e99}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+create\+\_\+dt1@{sccp\+\_\+create\+\_\+dt1}}
\index{sccp\+\_\+create\+\_\+dt1@{sccp\+\_\+create\+\_\+dt1}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+create\+\_\+dt1()}
{\footnotesize\ttfamily struct msgb$\ast$ sccp\+\_\+create\+\_\+dt1 (\begin{DoxyParamCaption}\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{dst\+\_\+ref,  }\item[{uint8\+\_\+t $\ast$}]{inp\+\_\+data,  }\item[{uint8\+\_\+t}]{len }\end{DoxyParamCaption})}



References data, D\+S\+C\+CP, len, S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, and S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE.



Referenced by \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data().

\mbox{\label{sccp_8c_a431491880d3422c2ed1899d1b860edd1}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+create\+\_\+refuse@{sccp\+\_\+create\+\_\+refuse}}
\index{sccp\+\_\+create\+\_\+refuse@{sccp\+\_\+create\+\_\+refuse}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+create\+\_\+refuse()}
{\footnotesize\ttfamily struct msgb$\ast$ sccp\+\_\+create\+\_\+refuse (\begin{DoxyParamCaption}\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{src\+\_\+ref,  }\item[{int}]{cause,  }\item[{uint8\+\_\+t $\ast$}]{inp,  }\item[{int}]{length }\end{DoxyParamCaption})}



References data, D\+S\+C\+CP, S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, and S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE.



Referenced by \+\_\+sccp\+\_\+send\+\_\+refuse().

\mbox{\label{sccp_8c_a21fedd190c04e28c920dda9ee8a8a238}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+create\+\_\+rlsd@{sccp\+\_\+create\+\_\+rlsd}}
\index{sccp\+\_\+create\+\_\+rlsd@{sccp\+\_\+create\+\_\+rlsd}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+create\+\_\+rlsd()}
{\footnotesize\ttfamily struct msgb$\ast$ sccp\+\_\+create\+\_\+rlsd (\begin{DoxyParamCaption}\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{src\+\_\+ref,  }\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{dst\+\_\+ref,  }\item[{int}]{cause }\end{DoxyParamCaption})}



References data, D\+S\+C\+CP, S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, and S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE.



Referenced by \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+released().

\mbox{\label{sccp_8c_a90220387b107ad5b44233e17cf18c4e7}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+create\+\_\+sccp\+\_\+addr@{sccp\+\_\+create\+\_\+sccp\+\_\+addr}}
\index{sccp\+\_\+create\+\_\+sccp\+\_\+addr@{sccp\+\_\+create\+\_\+sccp\+\_\+addr}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+create\+\_\+sccp\+\_\+addr()}
{\footnotesize\ttfamily int sccp\+\_\+create\+\_\+sccp\+\_\+addr (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{sock }\end{DoxyParamCaption})}



References len.



Referenced by sccp\+\_\+create\+\_\+cr(), and sccp\+\_\+create\+\_\+udt().

\mbox{\label{sccp_8c_a64605b523479af1e0ba1691670ffec51}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+create\+\_\+udt@{sccp\+\_\+create\+\_\+udt}}
\index{sccp\+\_\+create\+\_\+udt@{sccp\+\_\+create\+\_\+udt}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+create\+\_\+udt()}
{\footnotesize\ttfamily struct msgb$\ast$ sccp\+\_\+create\+\_\+udt (\begin{DoxyParamCaption}\item[{int}]{class,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{in,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{out,  }\item[{uint8\+\_\+t $\ast$}]{in\+\_\+data,  }\item[{int}]{len }\end{DoxyParamCaption})}



References data, D\+S\+C\+CP, len, sccp\+\_\+create\+\_\+sccp\+\_\+addr(), S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, and S\+C\+C\+P\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE.



Referenced by \+\_\+sccp\+\_\+send\+\_\+data().

\mbox{\label{sccp_8c_a9acbb077f0ff8b0d603eb6aa800633dd}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+determine\+\_\+msg\+\_\+type@{sccp\+\_\+determine\+\_\+msg\+\_\+type}}
\index{sccp\+\_\+determine\+\_\+msg\+\_\+type@{sccp\+\_\+determine\+\_\+msg\+\_\+type}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+determine\+\_\+msg\+\_\+type()}
{\footnotesize\ttfamily int sccp\+\_\+determine\+\_\+msg\+\_\+type (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}

\mbox{\label{sccp_8c_ad7b91b6f65924d292703bc4d2c159b3f}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+parse\+\_\+header@{sccp\+\_\+parse\+\_\+header}}
\index{sccp\+\_\+parse\+\_\+header@{sccp\+\_\+parse\+\_\+header}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+parse\+\_\+header()}
{\footnotesize\ttfamily int sccp\+\_\+parse\+\_\+header (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg,  }\item[{struct sccp\+\_\+parse\+\_\+result $\ast$}]{result }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request(), \+\_\+sccp\+\_\+parse\+\_\+err(), \+\_\+sccp\+\_\+parse\+\_\+it(), \+\_\+sccp\+\_\+parse\+\_\+udt(), \+\_\+sccp\+\_\+parse\+\_\+udts(), \+\_\+sccp\+\_\+parse\+\_\+xudt(), \+\_\+sccp\+\_\+parse\+\_\+xudts(), and D\+S\+C\+CP.

\mbox{\label{sccp_8c_aea49fbb16eacfcb6e19764cec421e5dd}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+set\+\_\+log\+\_\+area@{sccp\+\_\+set\+\_\+log\+\_\+area}}
\index{sccp\+\_\+set\+\_\+log\+\_\+area@{sccp\+\_\+set\+\_\+log\+\_\+area}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+set\+\_\+log\+\_\+area()}
{\footnotesize\ttfamily void sccp\+\_\+set\+\_\+log\+\_\+area (\begin{DoxyParamCaption}\item[{int}]{log\+\_\+area }\end{DoxyParamCaption})}



References D\+S\+C\+CP.

\mbox{\label{sccp_8c_aca90e9f8e0b0f1d89b13d7d8619f8da3}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+set\+\_\+read@{sccp\+\_\+set\+\_\+read}}
\index{sccp\+\_\+set\+\_\+read@{sccp\+\_\+set\+\_\+read}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+set\+\_\+read()}
{\footnotesize\ttfamily int sccp\+\_\+set\+\_\+read (\begin{DoxyParamCaption}\item[{const struct sockaddr\+\_\+sccp $\ast$}]{sock,  }\item[{int($\ast$)(struct msgb $\ast$, unsigned int, void $\ast$)}]{read\+\_\+cb,  }\item[{void $\ast$}]{context }\end{DoxyParamCaption})}



References \+\_\+find\+\_\+ssn(), osmo\+\_\+static\+\_\+assert(), sccp\+\_\+data\+\_\+callback\+::read\+\_\+cb, and sccp\+\_\+data\+\_\+callback\+::read\+\_\+context.

\mbox{\label{sccp_8c_a2267785692a639f7e2cdeeb695a8109e}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+src\+\_\+ref\+\_\+from\+\_\+int@{sccp\+\_\+src\+\_\+ref\+\_\+from\+\_\+int}}
\index{sccp\+\_\+src\+\_\+ref\+\_\+from\+\_\+int@{sccp\+\_\+src\+\_\+ref\+\_\+from\+\_\+int}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+src\+\_\+ref\+\_\+from\+\_\+int()}
{\footnotesize\ttfamily struct sccp\+\_\+source\+\_\+reference sccp\+\_\+src\+\_\+ref\+\_\+from\+\_\+int (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{int\+\_\+ref }\end{DoxyParamCaption})}

\mbox{\label{sccp_8c_a74f4729a1ea90a51a4bd0e93ad3112f5}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+src\+\_\+ref\+\_\+to\+\_\+int@{sccp\+\_\+src\+\_\+ref\+\_\+to\+\_\+int}}
\index{sccp\+\_\+src\+\_\+ref\+\_\+to\+\_\+int@{sccp\+\_\+src\+\_\+ref\+\_\+to\+\_\+int}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+src\+\_\+ref\+\_\+to\+\_\+int()}
{\footnotesize\ttfamily uint32\+\_\+t sccp\+\_\+src\+\_\+ref\+\_\+to\+\_\+int (\begin{DoxyParamCaption}\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{ref }\end{DoxyParamCaption})}

\mbox{\label{sccp_8c_a21fee5e1bc4d9e0e6b68b5cb1c9b890e}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+system\+\_\+incoming@{sccp\+\_\+system\+\_\+incoming}}
\index{sccp\+\_\+system\+\_\+incoming@{sccp\+\_\+system\+\_\+incoming}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+system\+\_\+incoming()}
{\footnotesize\ttfamily int sccp\+\_\+system\+\_\+incoming (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb }\end{DoxyParamCaption})}



References sccp\+\_\+system\+\_\+incoming\+\_\+ctx().

\mbox{\label{sccp_8c_acb7c01b1270cee844414f859acb1e738}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+system\+\_\+incoming\+\_\+ctx@{sccp\+\_\+system\+\_\+incoming\+\_\+ctx}}
\index{sccp\+\_\+system\+\_\+incoming\+\_\+ctx@{sccp\+\_\+system\+\_\+incoming\+\_\+ctx}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+system\+\_\+incoming\+\_\+ctx()}
{\footnotesize\ttfamily int sccp\+\_\+system\+\_\+incoming\+\_\+ctx (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msgb,  }\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request(), \+\_\+sccp\+\_\+handle\+\_\+read(), and D\+S\+C\+CP.



Referenced by sccp\+\_\+system\+\_\+incoming().

\mbox{\label{sccp_8c_a56a235e7ab6f880b9b7af319bbc7d977}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+system\+\_\+init@{sccp\+\_\+system\+\_\+init}}
\index{sccp\+\_\+system\+\_\+init@{sccp\+\_\+system\+\_\+init}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+system\+\_\+init()}
{\footnotesize\ttfamily int sccp\+\_\+system\+\_\+init (\begin{DoxyParamCaption}\item[{void($\ast$)(struct \textbf{ sccp\+\_\+connection} $\ast$conn, struct msgb $\ast$\textbf{ data}, void $\ast$, void $\ast$)}]{outgoing,  }\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})}



References sccp\+\_\+system\+::write\+\_\+context, and sccp\+\_\+system\+::write\+\_\+data.

\mbox{\label{sccp_8c_a8d2bbed17a2ae6f9d8785f7d3f0594c8}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+write@{sccp\+\_\+write}}
\index{sccp\+\_\+write@{sccp\+\_\+write}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+write()}
{\footnotesize\ttfamily int sccp\+\_\+write (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{data,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{in,  }\item[{const struct sockaddr\+\_\+sccp $\ast$}]{out,  }\item[{int}]{class,  }\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})}



References \+\_\+sccp\+\_\+send\+\_\+data().

\mbox{\label{sccp_8c_a64830893ca9393f7ce13dd6647001218}} 
\index{sccp.\+c@{sccp.\+c}!source\+\_\+local\+\_\+reference\+\_\+is\+\_\+free@{source\+\_\+local\+\_\+reference\+\_\+is\+\_\+free}}
\index{source\+\_\+local\+\_\+reference\+\_\+is\+\_\+free@{source\+\_\+local\+\_\+reference\+\_\+is\+\_\+free}!sccp.\+c@{sccp.\+c}}
\subsubsection{source\+\_\+local\+\_\+reference\+\_\+is\+\_\+free()}
{\footnotesize\ttfamily static int source\+\_\+local\+\_\+reference\+\_\+is\+\_\+free (\begin{DoxyParamCaption}\item[{struct sccp\+\_\+source\+\_\+reference $\ast$}]{reference }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+connection\+::list.



Referenced by assign\+\_\+source\+\_\+local\+\_\+reference().



\subsection{Variable Documentation}
\mbox{\label{sccp_8c_a76289a1eaad826ce833ea29955728e6b}} 
\index{sccp.\+c@{sccp.\+c}!D\+S\+C\+CP@{D\+S\+C\+CP}}
\index{D\+S\+C\+CP@{D\+S\+C\+CP}!sccp.\+c@{sccp.\+c}}
\subsubsection{D\+S\+C\+CP}
{\footnotesize\ttfamily int D\+S\+C\+CP = 0\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \+\_\+find\+\_\+ssn(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+dt1(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+refused(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+release\+\_\+complete(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+released(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request(), \+\_\+sccp\+\_\+handle\+\_\+read(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+confirm(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+dt1(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+refused(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+release\+\_\+complete(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+released(), \+\_\+sccp\+\_\+parse\+\_\+connection\+\_\+request(), \+\_\+sccp\+\_\+parse\+\_\+err(), \+\_\+sccp\+\_\+parse\+\_\+it(), \+\_\+sccp\+\_\+parse\+\_\+optional\+\_\+data(), \+\_\+sccp\+\_\+parse\+\_\+unitdata(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+data(), \+\_\+sccp\+\_\+send\+\_\+connection\+\_\+request(), assign\+\_\+source\+\_\+local\+\_\+reference(), copy\+\_\+address(), sccp\+\_\+connection\+\_\+close(), sccp\+\_\+connection\+\_\+free(), sccp\+\_\+connection\+\_\+send\+\_\+it(), sccp\+\_\+connection\+\_\+write(), sccp\+\_\+create\+\_\+cc(), sccp\+\_\+create\+\_\+cr(), sccp\+\_\+create\+\_\+dt1(), sccp\+\_\+create\+\_\+refuse(), sccp\+\_\+create\+\_\+rlsd(), sccp\+\_\+create\+\_\+udt(), sccp\+\_\+parse\+\_\+header(), sccp\+\_\+set\+\_\+log\+\_\+area(), and sccp\+\_\+system\+\_\+incoming\+\_\+ctx().

\mbox{\label{sccp_8c_a4eeacfdb01f87cf6d5a676c97f3fa251}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+ssn\+\_\+bssap@{sccp\+\_\+ssn\+\_\+bssap}}
\index{sccp\+\_\+ssn\+\_\+bssap@{sccp\+\_\+ssn\+\_\+bssap}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+ssn\+\_\+bssap}
{\footnotesize\ttfamily const struct sockaddr\+\_\+sccp sccp\+\_\+ssn\+\_\+bssap}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        .sccp\_family    = 0,
        .sccp\_ssn       = SCCP\_SSN\_BSSAP,
\}
\end{DoxyCode}
\mbox{\label{sccp_8c_a11325c39ad2233d6ee92cf75ab9cb543}} 
\index{sccp.\+c@{sccp.\+c}!sccp\+\_\+system@{sccp\+\_\+system}}
\index{sccp\+\_\+system@{sccp\+\_\+system}!sccp.\+c@{sccp.\+c}}
\subsubsection{sccp\+\_\+system}
{\footnotesize\ttfamily struct \textbf{ sccp\+\_\+system} \textbf{ sccp\+\_\+system}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        .write\_data = NULL,
\}
\end{DoxyCode}
\mbox{\label{sccp_8c_adb3ceca4a0faa4e6732101477fa4a5b3}} 
\index{sccp.\+c@{sccp.\+c}!tall\+\_\+sccp\+\_\+ctx@{tall\+\_\+sccp\+\_\+ctx}}
\index{tall\+\_\+sccp\+\_\+ctx@{tall\+\_\+sccp\+\_\+ctx}!sccp.\+c@{sccp.\+c}}
\subsubsection{tall\+\_\+sccp\+\_\+ctx}
{\footnotesize\ttfamily void$\ast$ tall\+\_\+sccp\+\_\+ctx\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \+\_\+\+\_\+attribute\+\_\+\+\_\+(), \+\_\+find\+\_\+ssn(), \+\_\+sccp\+\_\+handle\+\_\+connection\+\_\+request(), and sccp\+\_\+connection\+\_\+socket().

