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