\doxysection{src/sccp\+\_\+sap.c File Reference}
\label{sccp__sap_8c}\index{src/sccp\_sap.c@{src/sccp\_sap.c}}
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/prim.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+instance.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+connection.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+scoc\+\_\+fsm.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+instance.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+user.\+h\char`\"{}}\newline
{\ttfamily \#include $<$osmocom/sigtran/sigtran\+\_\+sap.\+h$>$}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
char $\ast$ \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name} (const struct osmo\+\_\+prim\+\_\+hdr $\ast$oph)
\item 
int \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+buf} (char $\ast$buf, size\+\_\+t buflen, const struct osmo\+\_\+prim\+\_\+hdr $\ast$oph)
\item 
char $\ast$ \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+c} (void $\ast$ctx, const struct osmo\+\_\+prim\+\_\+hdr $\ast$oph)
\item 
char $\ast$ \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+name} (struct osmo\+\_\+prim\+\_\+hdr $\ast$oph)
\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 SCCP 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 SCCP User. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+names} [$\,$]
\item 
static char \textbf{ prim\+\_\+name\+\_\+buf} [128]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+names} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind\+\_\+names} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+gti\+\_\+names} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status\+\_\+names} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status\+\_\+names} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+ssn\+\_\+names} [$\,$]
\item 
static const struct osmo\+\_\+prim\+\_\+event\+\_\+map \textbf{ scu\+\_\+scoc\+\_\+event\+\_\+map} [$\,$]
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\label{sccp__sap_8c_a80a39e9ce7614bcd9715d28a72d8d1d8}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_sccp\_user\_sap\_down@{osmo\_sccp\_user\_sap\_down}}
\index{osmo\_sccp\_user\_sap\_down@{osmo\_sccp\_user\_sap\_down}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{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 SCCP User. 

Implies a msgb\+\_\+free(oph-\/$>$msg), otherwise the same as osmo\+\_\+sccp\+\_\+user\+\_\+sap(). 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em scu} & SCCP User sending us the primitive \\
\hline
\mbox{\texttt{ in}}  & {\em oph} & Osmocom primitive sent by the user \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative on error 
\end{DoxyReturn}


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



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

\mbox{\label{sccp__sap_8c_a1e856f6b6f7d9533aca0ddab9e045226}} 
\index{sccp\_sap.c@{sccp\_sap.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\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{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 SCCP User. 

The caller is required to free oph-\/$>$msg, otherwise the same as \doxyref{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down()}{p.}{sccp__sap_8c_a80a39e9ce7614bcd9715d28a72d8d1d8}. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em scu} & SCCP User sending us the primitive \\
\hline
\mbox{\texttt{ in}}  & {\em oph} & Osmocom primitive sent by the user \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+scu\+\_\+connect\+\_\+param\+::conn\+\_\+id}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::connect}, \textbf{ sccp\+\_\+connection\+::fi}, \textbf{ sccp\+\_\+connection\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ LOGPSCU}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+CONNECT}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DATA}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DISCONNECT}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+RESET}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA}, \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name()}, \textbf{ sccp\+\_\+conn\+\_\+alloc()}, \textbf{ sccp\+\_\+find\+\_\+conn\+\_\+by\+\_\+id()}, \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}, \textbf{ scu\+\_\+prim\+\_\+conn\+\_\+id()}, \textbf{ scu\+\_\+scoc\+\_\+event\+\_\+map}, and \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}.



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

\mbox{\label{sccp__sap_8c_a4a0d3e2c8c9135326cf427fbd07ee785}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_scu\_prim\_hdr\_name\_buf@{osmo\_scu\_prim\_hdr\_name\_buf}}
\index{osmo\_scu\_prim\_hdr\_name\_buf@{osmo\_scu\_prim\_hdr\_name\_buf}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_scu\_prim\_hdr\_name\_buf()}
{\footnotesize\ttfamily int osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+buf (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf,  }\item[{size\+\_\+t}]{buflen,  }\item[{const struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+name()}.



Referenced by \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+c()}, and \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name()}.

\mbox{\label{sccp__sap_8c_a27a4c463624ef3845af7d9e1d6b9e170}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_scu\_prim\_hdr\_name\_c@{osmo\_scu\_prim\_hdr\_name\_c}}
\index{osmo\_scu\_prim\_hdr\_name\_c@{osmo\_scu\_prim\_hdr\_name\_c}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_scu\_prim\_hdr\_name\_c()}
{\footnotesize\ttfamily char $\ast$ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+c (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{const struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+buf()}.

\mbox{\label{sccp__sap_8c_ac79050659ecf2f0f5f4921715b386ce4}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_scu\_prim\_name@{osmo\_scu\_prim\_name}}
\index{osmo\_scu\_prim\_name@{osmo\_scu\_prim\_name}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_scu\_prim\_name()}
{\footnotesize\ttfamily char $\ast$ osmo\+\_\+scu\+\_\+prim\+\_\+name (\begin{DoxyParamCaption}\item[{const struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+buf()}, and \textbf{ prim\+\_\+name\+\_\+buf}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}, \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}, \textbf{ sccp\+\_\+user\+\_\+prim\+\_\+up()}, \textbf{ scmg\+\_\+prim\+\_\+cb()}, \textbf{ xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep()}, and \textbf{ xua\+\_\+opt\+\_\+data\+\_\+check\+\_\+drop()}.

\mbox{\label{sccp__sap_8c_aaef9ad4e08afbfa5ec5604d748e0c7d4}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_xlm\_prim\_name@{osmo\_xlm\_prim\_name}}
\index{osmo\_xlm\_prim\_name@{osmo\_xlm\_prim\_name}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_xlm\_prim\_name()}
{\footnotesize\ttfamily char $\ast$ osmo\+\_\+xlm\+\_\+prim\+\_\+name (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+names}, and \textbf{ prim\+\_\+name\+\_\+buf}.



Referenced by \textbf{ default\+\_\+lm\+\_\+prim\+\_\+cb()}, \textbf{ osmo\+\_\+xlm\+\_\+sap\+\_\+down()}, and \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim()}.

\mbox{\label{sccp__sap_8c_a5520283194b4626e792e09c401b4fc30}} 
\index{sccp\_sap.c@{sccp\_sap.c}!scu\_prim\_conn\_id@{scu\_prim\_conn\_id}}
\index{scu\_prim\_conn\_id@{scu\_prim\_conn\_id}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{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 \textbf{ osmo\+\_\+scu\+\_\+connect\+\_\+param\+::conn\+\_\+id}, \textbf{ osmo\+\_\+scu\+\_\+data\+\_\+param\+::conn\+\_\+id}, \textbf{ osmo\+\_\+scu\+\_\+disconn\+\_\+param\+::conn\+\_\+id}, \textbf{ osmo\+\_\+scu\+\_\+reset\+\_\+param\+::conn\+\_\+id}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::connect}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::data}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::disconnect}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+CONNECT}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DATA}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DISCONNECT}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+RESET}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::reset}, and \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}.



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



\doxysubsection{Variable Documentation}
\mbox{\label{sccp__sap_8c_ae1bde590c466d405e70b9b804527c1ad}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_sccp\_gti\_names@{osmo\_sccp\_gti\_names}}
\index{osmo\_sccp\_gti\_names@{osmo\_sccp\_gti\_names}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_sccp\_gti\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+gti\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_SCCP\_GTI\_NO\_GT,               \textcolor{stringliteral}{"{}NO\_GT"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_GTI\_NAI\_ONLY, \textcolor{stringliteral}{"{}NAI\_ONLY"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_GTI\_TT\_ONLY,   \textcolor{stringliteral}{"{}TT\_ONLY"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_GTI\_TT\_NPL\_ENC,     \textcolor{stringliteral}{"{}TT\_NPL\_ENC"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_GTI\_TT\_NPL\_ENC\_NAI,     \textcolor{stringliteral}{"{}TT\_NPL\_ENC\_NAI"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+sccp\+\_\+gti\+\_\+name()}.

\mbox{\label{sccp__sap_8c_a3c04df19759d08735f59de6af9678edf}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_sccp\_rem\_sccp\_status\_names@{osmo\_sccp\_rem\_sccp\_status\_names}}
\index{osmo\_sccp\_rem\_sccp\_status\_names@{osmo\_sccp\_rem\_sccp\_status\_names}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_sccp\_rem\_sccp\_status\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_SCCP\_REM\_SCCP\_S\_AVAILABLE, \textcolor{stringliteral}{"{}AVAILABLE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_REM\_SCCP\_S\_UNAVAILABLE\_UNKNOWN, \textcolor{stringliteral}{"{}UNAVAILABLE\_UNKNOWN"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_REM\_SCCP\_S\_UNEQUIPPED, \textcolor{stringliteral}{"{}UNEQUIPPED"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_REM\_SCCP\_S\_INACCESSIBLE, \textcolor{stringliteral}{"{}INACCESSIBLE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_REM\_SCCP\_S\_CONGESTED, \textcolor{stringliteral}{"{}CONGESTED"{}} \},}
\DoxyCodeLine{        \{\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status\+\_\+name()}.

\mbox{\label{sccp__sap_8c_a7d2dbcc6dbd2e8f75fb6e75ba2bfe28b}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_sccp\_routing\_ind\_names@{osmo\_sccp\_routing\_ind\_names}}
\index{osmo\_sccp\_routing\_ind\_names@{osmo\_sccp\_routing\_ind\_names}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_sccp\_routing\_ind\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+routing\+\_\+ind\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_SCCP\_RI\_NONE,   \textcolor{stringliteral}{"{}NONE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_RI\_GT,       \textcolor{stringliteral}{"{}GT"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_RI\_SSN\_PC,       \textcolor{stringliteral}{"{}SSN\_PC"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_RI\_SSN\_IP,       \textcolor{stringliteral}{"{}SSN\_IP"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind\+\_\+name()}.

\mbox{\label{sccp__sap_8c_a27e007aa3158d15fb27a6c28957935c2}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_sccp\_sp\_status\_names@{osmo\_sccp\_sp\_status\_names}}
\index{osmo\_sccp\_sp\_status\_names@{osmo\_sccp\_sp\_status\_names}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_sccp\_sp\_status\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+sp\+\_\+status\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SP\_S\_INACCESSIBLE, \textcolor{stringliteral}{"{}INACCESSIBLE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SP\_S\_CONGESTED, \textcolor{stringliteral}{"{}CONGESTED"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SP\_S\_ACCESSIBLE, \textcolor{stringliteral}{"{}ACCESSIBLE"{}} \},}
\DoxyCodeLine{        \{\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status\+\_\+name()}.

\mbox{\label{sccp__sap_8c_a5fed5e157ab1a93095318b73beb22813}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_sccp\_ssn\_names@{osmo\_sccp\_ssn\_names}}
\index{osmo\_sccp\_ssn\_names@{osmo\_sccp\_ssn\_names}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_sccp\_ssn\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+ssn\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_MGMT,         \textcolor{stringliteral}{"{}MGMT"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_ISUP,         \textcolor{stringliteral}{"{}ISUP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_OMAP,         \textcolor{stringliteral}{"{}OMAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_MAP,           \textcolor{stringliteral}{"{}MAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_HLR,           \textcolor{stringliteral}{"{}HLR"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_VLR,           \textcolor{stringliteral}{"{}VLR"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_MSC,           \textcolor{stringliteral}{"{}MSC"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_EIR,           \textcolor{stringliteral}{"{}EIR"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_AUC,           \textcolor{stringliteral}{"{}AUC"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_ISDN\_SS,   \textcolor{stringliteral}{"{}ISDN\_SS"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_RES\_INTL, \textcolor{stringliteral}{"{}RES\_INTL"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_BISDN,               \textcolor{stringliteral}{"{}BISDN"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_TC\_TEST,   \textcolor{stringliteral}{"{}TC\_TEST"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_RANAP,               \textcolor{stringliteral}{"{}RANAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_RNSAP,               \textcolor{stringliteral}{"{}RNSAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_GMLC\_MAP, \textcolor{stringliteral}{"{}GMLC\_MAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_CAP,           \textcolor{stringliteral}{"{}CAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_gsmSCF\_MAP,     \textcolor{stringliteral}{"{}gsmSCF\_MAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_SIWF\_MAP, \textcolor{stringliteral}{"{}SIWF\_MAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_SGSN\_MAP, \textcolor{stringliteral}{"{}SGSN\_MAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_GGSN\_MAP, \textcolor{stringliteral}{"{}GGSN\_MAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_PCAP,         \textcolor{stringliteral}{"{}PCAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_BSC\_BSSAP\_LE, \textcolor{stringliteral}{"{}BSC\_BSSAP\_LE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_MSC\_BSSAP\_LE, \textcolor{stringliteral}{"{}MSC\_BSSAP\_LE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_SMLC\_BSSAP,     \textcolor{stringliteral}{"{}SMLC\_BSSAP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_BSS\_OAM,   \textcolor{stringliteral}{"{}BSS\_OAM"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCCP\_SSN\_BSSAP,               \textcolor{stringliteral}{"{}BSSAP"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+sccp\+\_\+ssn\+\_\+name()}.

\mbox{\label{sccp__sap_8c_af01add5b9ac72524cf20285d60ffb717}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_scu\_prim\_type\_names@{osmo\_scu\_prim\_type\_names}}
\index{osmo\_scu\_prim\_type\_names@{osmo\_scu\_prim\_type\_names}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_scu\_prim\_type\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_CONNECT,               \textcolor{stringliteral}{"{}N-\/CONNECT"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_DATA,                     \textcolor{stringliteral}{"{}N-\/DATA"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_EXPEDITED\_DATA, \textcolor{stringliteral}{"{}N-\/EXPEDITED-\/DATA"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_DISCONNECT,         \textcolor{stringliteral}{"{}N-\/DISCONNECT"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_RESET,           \textcolor{stringliteral}{"{}N-\/RESET"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_INFORM,         \textcolor{stringliteral}{"{}N-\/INFORM"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_UNITDATA,             \textcolor{stringliteral}{"{}N-\/UNITDATA"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_NOTICE,         \textcolor{stringliteral}{"{}N-\/NOTICE"{}} \},}
\DoxyCodeLine{        }
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_COORD,           \textcolor{stringliteral}{"{}N-\/COORD"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_STATE,           \textcolor{stringliteral}{"{}N-\/STATE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SCU\_PRIM\_N\_PCSTATE,               \textcolor{stringliteral}{"{}N-\/PCSTATE"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+name()}.

\mbox{\label{sccp__sap_8c_a15c567cc2103dd74ca32374590b7574f}} 
\index{sccp\_sap.c@{sccp\_sap.c}!osmo\_xlm\_prim\_names@{osmo\_xlm\_prim\_names}}
\index{osmo\_xlm\_prim\_names@{osmo\_xlm\_prim\_names}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{osmo\_xlm\_prim\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+xlm\+\_\+prim\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_SCTP\_ESTABLISH, \textcolor{stringliteral}{"{}M-\/SCTP\_ESTABLISH"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_SCTP\_RELEASE,             \textcolor{stringliteral}{"{}M-\/SCTP\_RELEASE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_SCTP\_RESTART,             \textcolor{stringliteral}{"{}M-\/SCTP\_RESTART"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_SCTP\_STATUS,               \textcolor{stringliteral}{"{}M-\/SCTP\_STATUS"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_ASP\_STATUS,         \textcolor{stringliteral}{"{}M-\/ASP\_STATUS"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_AS\_STATUS,           \textcolor{stringliteral}{"{}M-\/AS\_STATUS"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_NOTIFY,         \textcolor{stringliteral}{"{}M-\/NOTIFY"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_ERROR,           \textcolor{stringliteral}{"{}M-\/ERROR"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_ASP\_UP,         \textcolor{stringliteral}{"{}M-\/ASP\_UP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_ASP\_DOWN,             \textcolor{stringliteral}{"{}M-\/ASP\_DOWN"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_ASP\_ACTIVE,         \textcolor{stringliteral}{"{}M-\/ASP\_ACTIVE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_ASP\_INACTIVE,             \textcolor{stringliteral}{"{}M-\/ASP\_INACTIVE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_AS\_ACTIVE,           \textcolor{stringliteral}{"{}M-\/AS\_ACTIVE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_AS\_INACTIVE,               \textcolor{stringliteral}{"{}M-\/AS\_INACTIVE"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_AS\_DOWN,               \textcolor{stringliteral}{"{}M-\/AS\_DOWN"{}} \},}
\DoxyCodeLine{        }
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_RK\_REG,         \textcolor{stringliteral}{"{}M-\/RK\_REG"{}} \},}
\DoxyCodeLine{        \{ OSMO\_XLM\_PRIM\_M\_RK\_DEREG,             \textcolor{stringliteral}{"{}M-\/RK\_DEREG"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+name()}.

\mbox{\label{sccp__sap_8c_ade03488aec056a43cb6713c56c331c04}} 
\index{sccp\_sap.c@{sccp\_sap.c}!prim\_name\_buf@{prim\_name\_buf}}
\index{prim\_name\_buf@{prim\_name\_buf}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{prim\_name\_buf}
{\footnotesize\ttfamily char prim\+\_\+name\+\_\+buf[128]\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name()}, and \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+name()}.

\mbox{\label{sccp__sap_8c_a8f4c91018d959ab54df91d9f0d32818e}} 
\index{sccp\_sap.c@{sccp\_sap.c}!scu\_scoc\_event\_map@{scu\_scoc\_event\_map}}
\index{scu\_scoc\_event\_map@{scu\_scoc\_event\_map}!sccp\_sap.c@{sccp\_sap.c}}
\doxysubsubsection{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}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ SCCP\_SAP\_USER, OSMO\_SCU\_PRIM\_N\_CONNECT, PRIM\_OP\_REQUEST,}
\DoxyCodeLine{                SCOC\_E\_SCU\_N\_CONN\_REQ \},}
\DoxyCodeLine{        \{ SCCP\_SAP\_USER, OSMO\_SCU\_PRIM\_N\_CONNECT, PRIM\_OP\_RESPONSE,}
\DoxyCodeLine{                SCOC\_E\_SCU\_N\_CONN\_RESP \},}
\DoxyCodeLine{        \{ SCCP\_SAP\_USER, OSMO\_SCU\_PRIM\_N\_DATA, PRIM\_OP\_REQUEST,}
\DoxyCodeLine{                SCOC\_E\_SCU\_N\_DATA\_REQ \},}
\DoxyCodeLine{        \{ SCCP\_SAP\_USER, OSMO\_SCU\_PRIM\_N\_DISCONNECT, PRIM\_OP\_REQUEST,}
\DoxyCodeLine{                SCOC\_E\_SCU\_N\_DISC\_REQ \},}
\DoxyCodeLine{        \{ SCCP\_SAP\_USER, OSMO\_SCU\_PRIM\_N\_EXPEDITED\_DATA, PRIM\_OP\_REQUEST,}
\DoxyCodeLine{                SCOC\_E\_SCU\_N\_EXP\_DATA\_REQ \},}
\DoxyCodeLine{        \{ 0, 0, 0, OSMO\_NO\_EVENT \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


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

