\doxysection{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 \doxysubsection*{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 MTP -\/$>$ SNM (MTP-\/\+PAUSE.\+ind) -\/ inability to providing MTP 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 MTP -\/$>$ SNM (MTP-\/\+RESUME.\+ind) -\/ ability of providing the MTP 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} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item const struct value\+\_\+string \textbf{ sccp\+\_\+scmg\+\_\+msgt\+\_\+names} [$\,$] \end{DoxyCompactItemize} \doxysubsection{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}} \doxysubsubsection{sccp\_scmg\_init()} {\footnotesize\ttfamily int sccp\+\_\+scmg\+\_\+init (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+bind()}, and \textbf{ scmg\+\_\+prim\+\_\+cb()}. Referenced by \textbf{ 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}} \doxysubsubsection{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 MTP -\/$>$ SNM (MTP-\/\+PAUSE.\+ind) -\/ inability to providing MTP service Q.\+714 5.\+2.\+2 References \textbf{ osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+UNAVAILABLE\+\_\+\+UNKNOWN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+INACCESSIBLE}, and \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate()}. Referenced by \textbf{ 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}} \doxysubsubsection{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 MTP -\/$>$ SNM (MTP-\/\+RESUME.\+ind) -\/ ability of providing the MTP service Q.\+714 5.\+2.\+3 References \textbf{ osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+AVAILABLE}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+ACCESSIBLE}, and \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate()}. Referenced by \textbf{ 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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ MTP\+\_\+\+UNAVAIL\+\_\+\+C\+\_\+\+INACC\+\_\+\+REM\+\_\+\+USER}, \textbf{ MTP\+\_\+\+UNAVAIL\+\_\+\+C\+\_\+\+UNEQUIP\+\_\+\+REM\+\_\+\+USER}, \textbf{ MTP\+\_\+\+UNAVAIL\+\_\+\+C\+\_\+\+UNKNOWN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+UNAVAILABLE\+\_\+\+UNKNOWN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+ACCESSIBLE}, and \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate()}. Referenced by \textbf{ 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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+scu\+\_\+state\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state()}, and \textbf{ smi}. Referenced by \textbf{ scmg\+\_\+rx\+\_\+ssa()}, and \textbf{ 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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+scu\+\_\+state\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state()}, and \textbf{ smi}. Referenced by \textbf{ scmg\+\_\+rx\+\_\+ssp()}, and \textbf{ 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}} \doxysubsubsection{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 \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::called\+\_\+addr}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::calling\+\_\+addr}, \textbf{ msg\+\_\+type}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::msg\+\_\+type}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down()}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA}, \textbf{ sccp\+\_\+msgb\+\_\+alloc()}, \textbf{ SCCP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSC}, \textbf{ smi}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::smi}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::ssc\+\_\+congestion\+\_\+lvl}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}, and \textbf{ osmo\+\_\+scu\+\_\+prim\+::unitdata}. Referenced by \textbf{ 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}} \doxysubsubsection{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 \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::called\+\_\+addr}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::calling\+\_\+addr}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::msg\+\_\+type}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+PCSTATE}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA}, \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name()}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSC}, \textbf{ scmg\+\_\+rx()}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}, and \textbf{ osmo\+\_\+scu\+\_\+prim\+::unitdata}. Referenced by \textbf{ 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}} \doxysubsubsection{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 \textbf{ sccp\+\_\+scmg\+\_\+msg\+::msg\+\_\+type}, \textbf{ sccp\+\_\+scmg\+\_\+msgt\+\_\+name()}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SOG}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SOR}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSA}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSC}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSP}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SST}, \textbf{ scmg\+\_\+rx\+\_\+ssa()}, \textbf{ scmg\+\_\+rx\+\_\+ssp()}, and \textbf{ scmg\+\_\+rx\+\_\+sst()}. Referenced by \textbf{ 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}} \doxysubsubsection{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 \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed()}, and \textbf{ sccp\+\_\+scmg\+\_\+msg\+::smi}. Referenced by \textbf{ 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}} \doxysubsubsection{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 \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited()}, and \textbf{ sccp\+\_\+scmg\+\_\+msg\+::smi}. Referenced by \textbf{ 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}} \doxysubsubsection{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 \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSA}, \textbf{ sccp\+\_\+scmg\+\_\+tx()}, and \textbf{ sccp\+\_\+user\+\_\+find()}. Referenced by \textbf{ scmg\+\_\+rx()}. \doxysubsection{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}} \doxysubsubsection{sccp\_scmg\_msgt\_names} {\footnotesize\ttfamily const struct value\+\_\+string sccp\+\_\+scmg\+\_\+msgt\+\_\+names[$\,$]} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{= \{} \DoxyCodeLine{ \{ SCCP\_SCMG\_MSGT\_SSA, \textcolor{stringliteral}{"{}SSA (Subsystem Allowed)"{}} \},} \DoxyCodeLine{ \{ SCCP\_SCMG\_MSGT\_SSP, \textcolor{stringliteral}{"{}SSP (Subsystem Prohibited)"{}} \},} \DoxyCodeLine{ \{ SCCP\_SCMG\_MSGT\_SST, \textcolor{stringliteral}{"{}SST (Subsystem Status Test)"{}} \},} \DoxyCodeLine{ \{ SCCP\_SCMG\_MSGT\_SOR, \textcolor{stringliteral}{"{}SOR (Subsystem Out-\/of-\/service Request)"{}} \},} \DoxyCodeLine{ \{ SCCP\_SCMG\_MSGT\_SOG, \textcolor{stringliteral}{"{}SOG (Subsystem Out-\/of-\/service Grant)"{}} \},} \DoxyCodeLine{ \{ SCCP\_SCMG\_MSGT\_SSC, \textcolor{stringliteral}{"{}SSC (Subsystem Congested)"{}} \},} \DoxyCodeLine{ \{ 0, NULL \}} \DoxyCodeLine{\}} \end{DoxyCode} Referenced by \textbf{ sccp\+\_\+scmg\+\_\+msgt\+\_\+name()}.