\section{src/sccp\+\_\+scmg.c File Reference}
\label{sccp__scmg_8c}\index{src/sccp\+\_\+scmg.\+c@{src/sccp\+\_\+scmg.\+c}}
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/timer.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/fsm.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sccp\+\_\+scmg.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sccp/sccp\+\_\+types.\+h$>$}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+internal.\+h\char`\"{}}\newline
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t ssn, uint32\+\_\+t \textbf{ smi})
\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t ssn, uint32\+\_\+t \textbf{ smi})
\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc})
\begin{DoxyCompactList}\small\item\em brief M\+TP -\/$>$ S\+NM (M\+T\+P-\/\+P\+A\+U\+S\+E.\+ind) -\/ inability to providing M\+TP service Q.\+714 5.\+2.\+2 \end{DoxyCompactList}\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc})
\begin{DoxyCompactList}\small\item\em brief M\+TP -\/$>$ S\+NM (M\+T\+P-\/\+R\+E\+S\+U\+M\+E.\+ind) -\/ ability of providing the M\+TP service Q.\+714 5.\+2.\+3 \end{DoxyCompactList}\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}, enum \textbf{ mtp\+\_\+unavail\+\_\+cause} cause)
\item 
static int \textbf{ sccp\+\_\+scmg\+\_\+tx} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, uint8\+\_\+t \textbf{ msg\+\_\+type}, uint8\+\_\+t ssn, uint16\+\_\+t pc, uint8\+\_\+t \textbf{ smi}, uint8\+\_\+t $\ast$ssc\+\_\+cong\+\_\+lvl)
\item 
static int \textbf{ scmg\+\_\+rx\+\_\+ssa} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$ssa)
\item 
static int \textbf{ scmg\+\_\+rx\+\_\+ssp} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$ssp)
\item 
static int \textbf{ scmg\+\_\+rx\+\_\+sst} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$sst)
\item 
static int \textbf{ scmg\+\_\+rx} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$scmg)
\item 
static int \textbf{ scmg\+\_\+prim\+\_\+cb} (struct osmo\+\_\+prim\+\_\+hdr $\ast$oph, void $\ast$\+\_\+scu)
\item 
int \textbf{ sccp\+\_\+scmg\+\_\+init} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct value\+\_\+string \textbf{ sccp\+\_\+scmg\+\_\+msgt\+\_\+names} [$\,$]
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\mbox{\label{sccp__scmg_8c_a78005d521d9f14a1a8504b2d18691539}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!sccp\+\_\+scmg\+\_\+init@{sccp\+\_\+scmg\+\_\+init}}
\index{sccp\+\_\+scmg\+\_\+init@{sccp\+\_\+scmg\+\_\+init}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{sccp\+\_\+scmg\+\_\+init()}
{\footnotesize\ttfamily int sccp\+\_\+scmg\+\_\+init (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})}



References osmo\+\_\+sccp\+\_\+user\+\_\+bind(), and scmg\+\_\+prim\+\_\+cb().



Referenced by osmo\+\_\+sccp\+\_\+instance\+\_\+create().

\mbox{\label{sccp__scmg_8c_a6e1de1fdffab62084b3e51db5a09b7c4}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause}}
\index{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})}



brief M\+TP -\/$>$ S\+NM (M\+T\+P-\/\+P\+A\+U\+S\+E.\+ind) -\/ inability to providing M\+TP service Q.\+714 5.\+2.\+2 



References osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc, dpc, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+E\+M\+\_\+\+S\+C\+C\+P\+\_\+\+S\+\_\+\+U\+N\+A\+V\+A\+I\+L\+A\+B\+L\+E\+\_\+\+U\+N\+K\+N\+O\+WN, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+S\+P\+\_\+\+S\+\_\+\+I\+N\+A\+C\+C\+E\+S\+S\+I\+B\+LE, and sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate().



Referenced by xua\+\_\+snm\+\_\+pc\+\_\+available\+\_\+to\+\_\+sccp().

\mbox{\label{sccp__scmg_8c_a9b395f6f66a9d5cd22fec3841738d6ca}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume}}
\index{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})}



brief M\+TP -\/$>$ S\+NM (M\+T\+P-\/\+R\+E\+S\+U\+M\+E.\+ind) -\/ ability of providing the M\+TP service Q.\+714 5.\+2.\+3 



References osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc, dpc, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+E\+M\+\_\+\+S\+C\+C\+P\+\_\+\+S\+\_\+\+A\+V\+A\+I\+L\+A\+B\+LE, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+S\+P\+\_\+\+S\+\_\+\+A\+C\+C\+E\+S\+S\+I\+B\+LE, and sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate().



Referenced by xua\+\_\+snm\+\_\+pc\+\_\+available\+\_\+to\+\_\+sccp().

\mbox{\label{sccp__scmg_8c_a52ebba6e3b52df06bb6b8e21ea937dda}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status}}
\index{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status@{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{enum \textbf{ mtp\+\_\+unavail\+\_\+cause}}]{cause }\end{DoxyParamCaption})}



References osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc, dpc, M\+T\+P\+\_\+\+U\+N\+A\+V\+A\+I\+L\+\_\+\+C\+\_\+\+I\+N\+A\+C\+C\+\_\+\+R\+E\+M\+\_\+\+U\+S\+ER, M\+T\+P\+\_\+\+U\+N\+A\+V\+A\+I\+L\+\_\+\+C\+\_\+\+U\+N\+E\+Q\+U\+I\+P\+\_\+\+R\+E\+M\+\_\+\+U\+S\+ER, M\+T\+P\+\_\+\+U\+N\+A\+V\+A\+I\+L\+\_\+\+C\+\_\+\+U\+N\+K\+N\+O\+WN, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+R\+E\+M\+\_\+\+S\+C\+C\+P\+\_\+\+S\+\_\+\+U\+N\+A\+V\+A\+I\+L\+A\+B\+L\+E\+\_\+\+U\+N\+K\+N\+O\+WN, O\+S\+M\+O\+\_\+\+S\+C\+C\+P\+\_\+\+S\+P\+\_\+\+S\+\_\+\+A\+C\+C\+E\+S\+S\+I\+B\+LE, and sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate().



Referenced by xua\+\_\+snm\+\_\+upu().

\mbox{\label{sccp__scmg_8c_a112a6f006b73b2b5dc475c6ccd33337d}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed@{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed}}
\index{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed@{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint32\+\_\+t}]{ssn,  }\item[{uint32\+\_\+t}]{smi }\end{DoxyParamCaption})}



References osmo\+\_\+scu\+\_\+state\+\_\+param\+::affected\+\_\+pc, dpc, sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state(), and smi.



Referenced by scmg\+\_\+rx\+\_\+ssa(), and sua\+\_\+snm\+\_\+ssn\+\_\+available\+\_\+to\+\_\+sccp().

\mbox{\label{sccp__scmg_8c_a6790766deb21c57560ab062d8a7ee0be}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited@{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited}}
\index{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited@{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint32\+\_\+t}]{ssn,  }\item[{uint32\+\_\+t}]{smi }\end{DoxyParamCaption})}



References osmo\+\_\+scu\+\_\+state\+\_\+param\+::affected\+\_\+pc, dpc, sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state(), and smi.



Referenced by scmg\+\_\+rx\+\_\+ssp(), and sua\+\_\+snm\+\_\+ssn\+\_\+available\+\_\+to\+\_\+sccp().

\mbox{\label{sccp__scmg_8c_ab62f2db95b4ad197732d6cc6cfbb9281}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!sccp\+\_\+scmg\+\_\+tx@{sccp\+\_\+scmg\+\_\+tx}}
\index{sccp\+\_\+scmg\+\_\+tx@{sccp\+\_\+scmg\+\_\+tx}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{sccp\+\_\+scmg\+\_\+tx()}
{\footnotesize\ttfamily static int sccp\+\_\+scmg\+\_\+tx (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{uint8\+\_\+t}]{msg\+\_\+type,  }\item[{uint8\+\_\+t}]{ssn,  }\item[{uint16\+\_\+t}]{pc,  }\item[{uint8\+\_\+t}]{smi,  }\item[{uint8\+\_\+t $\ast$}]{ssc\+\_\+cong\+\_\+lvl }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc, sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn, osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::called\+\_\+addr, osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::calling\+\_\+addr, sccp\+\_\+scmg\+\_\+msg\+::msg\+\_\+type, osmo\+\_\+scu\+\_\+prim\+::oph, osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down(), O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+U\+N\+I\+T\+D\+A\+TA, sccp\+\_\+msgb\+\_\+alloc(), S\+C\+C\+P\+\_\+\+S\+A\+P\+\_\+\+U\+S\+ER, S\+C\+C\+P\+\_\+\+S\+C\+M\+G\+\_\+\+M\+S\+G\+T\+\_\+\+S\+SC, sccp\+\_\+scmg\+\_\+msg\+::smi, sccp\+\_\+scmg\+\_\+msg\+::ssc\+\_\+congestion\+\_\+lvl, osmo\+\_\+scu\+\_\+prim\+::u, and osmo\+\_\+scu\+\_\+prim\+::unitdata.



Referenced by scmg\+\_\+rx\+\_\+sst().

\mbox{\label{sccp__scmg_8c_a1d014dedd003fe64f1d63154a0bae72d}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!scmg\+\_\+prim\+\_\+cb@{scmg\+\_\+prim\+\_\+cb}}
\index{scmg\+\_\+prim\+\_\+cb@{scmg\+\_\+prim\+\_\+cb}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{scmg\+\_\+prim\+\_\+cb()}
{\footnotesize\ttfamily static int scmg\+\_\+prim\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph,  }\item[{void $\ast$}]{\+\_\+scu }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc, osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::called\+\_\+addr, osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::calling\+\_\+addr, sccp\+\_\+scmg\+\_\+msg\+::msg\+\_\+type, O\+S\+M\+O\+\_\+\+S\+C\+U\+\_\+\+P\+R\+I\+M\+\_\+\+N\+\_\+\+U\+N\+I\+T\+D\+A\+TA, osmo\+\_\+scu\+\_\+prim\+\_\+name(), S\+C\+C\+P\+\_\+\+S\+C\+M\+G\+\_\+\+M\+S\+G\+T\+\_\+\+S\+SC, scmg\+\_\+rx(), osmo\+\_\+scu\+\_\+prim\+::u, and osmo\+\_\+scu\+\_\+prim\+::unitdata.



Referenced by sccp\+\_\+scmg\+\_\+init().

\mbox{\label{sccp__scmg_8c_a0e3a3cdc35df69b38f7f37eb4d359d9b}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!scmg\+\_\+rx@{scmg\+\_\+rx}}
\index{scmg\+\_\+rx@{scmg\+\_\+rx}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{scmg\+\_\+rx()}
{\footnotesize\ttfamily static int scmg\+\_\+rx (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$}]{scmg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+scmg\+\_\+msg\+::msg\+\_\+type, sccp\+\_\+scmg\+\_\+msgt\+\_\+name(), S\+C\+C\+P\+\_\+\+S\+C\+M\+G\+\_\+\+M\+S\+G\+T\+\_\+\+S\+OG, S\+C\+C\+P\+\_\+\+S\+C\+M\+G\+\_\+\+M\+S\+G\+T\+\_\+\+S\+OR, S\+C\+C\+P\+\_\+\+S\+C\+M\+G\+\_\+\+M\+S\+G\+T\+\_\+\+S\+SA, S\+C\+C\+P\+\_\+\+S\+C\+M\+G\+\_\+\+M\+S\+G\+T\+\_\+\+S\+SC, S\+C\+C\+P\+\_\+\+S\+C\+M\+G\+\_\+\+M\+S\+G\+T\+\_\+\+S\+SP, S\+C\+C\+P\+\_\+\+S\+C\+M\+G\+\_\+\+M\+S\+G\+T\+\_\+\+S\+ST, scmg\+\_\+rx\+\_\+ssa(), scmg\+\_\+rx\+\_\+ssp(), and scmg\+\_\+rx\+\_\+sst().



Referenced by scmg\+\_\+prim\+\_\+cb().

\mbox{\label{sccp__scmg_8c_ac0ac40d9fd1003fe9e40f8681bb49c3f}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!scmg\+\_\+rx\+\_\+ssa@{scmg\+\_\+rx\+\_\+ssa}}
\index{scmg\+\_\+rx\+\_\+ssa@{scmg\+\_\+rx\+\_\+ssa}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{scmg\+\_\+rx\+\_\+ssa()}
{\footnotesize\ttfamily static int scmg\+\_\+rx\+\_\+ssa (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$}]{ssa }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc, sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn, osmo\+\_\+sccp\+\_\+user\+::inst, sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed(), and sccp\+\_\+scmg\+\_\+msg\+::smi.



Referenced by scmg\+\_\+rx().

\mbox{\label{sccp__scmg_8c_af5d62e1daa9a2ad529c6efa6f4356b74}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!scmg\+\_\+rx\+\_\+ssp@{scmg\+\_\+rx\+\_\+ssp}}
\index{scmg\+\_\+rx\+\_\+ssp@{scmg\+\_\+rx\+\_\+ssp}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{scmg\+\_\+rx\+\_\+ssp()}
{\footnotesize\ttfamily static int scmg\+\_\+rx\+\_\+ssp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$}]{ssp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc, sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn, osmo\+\_\+sccp\+\_\+user\+::inst, sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited(), and sccp\+\_\+scmg\+\_\+msg\+::smi.



Referenced by scmg\+\_\+rx().

\mbox{\label{sccp__scmg_8c_aa49df1828fb01829cef1912faa0d3999}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!scmg\+\_\+rx\+\_\+sst@{scmg\+\_\+rx\+\_\+sst}}
\index{scmg\+\_\+rx\+\_\+sst@{scmg\+\_\+rx\+\_\+sst}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{scmg\+\_\+rx\+\_\+sst()}
{\footnotesize\ttfamily static int scmg\+\_\+rx\+\_\+sst (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$}]{sst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc, sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn, osmo\+\_\+sccp\+\_\+user\+::inst, S\+C\+C\+P\+\_\+\+S\+C\+M\+G\+\_\+\+M\+S\+G\+T\+\_\+\+S\+SA, sccp\+\_\+scmg\+\_\+tx(), and sccp\+\_\+user\+\_\+find().



Referenced by scmg\+\_\+rx().



\subsection{Variable Documentation}
\mbox{\label{sccp__scmg_8c_a19984f8b6a5a4a9d11eb79090088649a}} 
\index{sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}!sccp\+\_\+scmg\+\_\+msgt\+\_\+names@{sccp\+\_\+scmg\+\_\+msgt\+\_\+names}}
\index{sccp\+\_\+scmg\+\_\+msgt\+\_\+names@{sccp\+\_\+scmg\+\_\+msgt\+\_\+names}!sccp\+\_\+scmg.\+c@{sccp\+\_\+scmg.\+c}}
\subsubsection{sccp\+\_\+scmg\+\_\+msgt\+\_\+names}
{\footnotesize\ttfamily const struct value\+\_\+string sccp\+\_\+scmg\+\_\+msgt\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
        \{ SCCP_SCMG_MSGT_SSA, \textcolor{stringliteral}{"SSA (Subsystem Allowed)"} \},
        \{ SCCP_SCMG_MSGT_SSP, \textcolor{stringliteral}{"SSP (Subsystem Prohibited)"} \},
        \{ SCCP_SCMG_MSGT_SST, \textcolor{stringliteral}{"SST (Subsystem Status Test)"} \},
        \{ SCCP_SCMG_MSGT_SOR, \textcolor{stringliteral}{"SOR (Subsystem Out-of-service Request)"} \},
        \{ SCCP_SCMG_MSGT_SOG, \textcolor{stringliteral}{"SOG (Subsystem Out-of-service Grant)"} \},
        \{ SCCP_SCMG_MSGT_SSC, \textcolor{stringliteral}{"SSC (Subsystem Congested)"} \},
        \{ 0, NULL \}
\}
\end{DoxyCode}


Referenced by sccp\+\_\+scmg\+\_\+msgt\+\_\+name().

