\doxysection{src/ss7\+\_\+as.h File Reference} \label{ss7__as_8h}\index{src/ss7\_as.h@{src/ss7\_as.h}} {\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/fsm.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/tdef.\+h$>$}\newline {\ttfamily \#include $<$osmocom/netif/stream.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline {\ttfamily \#include \char`\"{}ss7\+\_\+internal.\+h\char`\"{}}\newline \doxysubsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+esls\+\_\+entry} \item struct \textbf{ osmo\+\_\+ss7\+\_\+as} \end{DoxyCompactItemize} \doxysubsection*{Macros} \begin{DoxyCompactItemize} \item \#define \textbf{ NUM\+\_\+\+AS\+\_\+\+EXT\+\_\+\+SLS}~128 \item \#define \textbf{ LOGPAS}(as, subsys, level, fmt, args ...)~ \textbf{ \+\_\+\+LOGSS7}((as)-\/$>$inst, subsys, level, \char`\"{}AS(\%s) \char`\"{} fmt, (as)-\/$>$cfg.\+name, \#\# args) \end{DoxyCompactItemize} \doxysubsection*{Typedefs} \begin{DoxyCompactItemize} \item typedef uint8\+\_\+t \textbf{ as\+\_\+ext\+\_\+sls\+\_\+t} \end{DoxyCompactItemize} \doxysubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode} \{ \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PATCH\+\_\+\+NONE} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PATCH\+\_\+\+BOTH} \} \item enum \textbf{ ss7\+\_\+as\+\_\+ctr} \{ \newline \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+TOTAL} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+0} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+1} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+2} , \newline \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+3} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+4} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+5} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+6} , \newline \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+7} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+8} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+9} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+10} , \newline \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+11} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+12} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+13} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+14} , \newline \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+15} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+TOTAL} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+0} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+1} , \newline \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+2} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+3} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+4} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+5} , \newline \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+6} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+7} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+8} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+9} , \newline \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+10} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+11} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+12} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+13} , \newline \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+14} , \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+15} \} \end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const struct \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param} $\ast$mtp) \begin{DoxyCompactList}\small\item\em Select an AS to transmit a message, according to AS configuration and ASP availability. \end{DoxyCompactList}\item unsigned int \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+count\+\_\+asp} (const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as) \begin{DoxyCompactList}\small\item\em Determine amount of ASPs associated to an AS. \end{DoxyCompactList}\item int \textbf{ ss7\+\_\+as\+\_\+add\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \begin{DoxyCompactList}\small\item\em Add given ASP to given AS. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Macro Definition Documentation} \mbox{\label{ss7__as_8h_aa4be2c672a6e465517106d91c681837c}} \index{ss7\_as.h@{ss7\_as.h}!LOGPAS@{LOGPAS}} \index{LOGPAS@{LOGPAS}!ss7\_as.h@{ss7\_as.h}} \doxysubsubsection{LOGPAS} {\footnotesize\ttfamily \#define LOGPAS(\begin{DoxyParamCaption}\item[{}]{as, }\item[{}]{subsys, }\item[{}]{level, }\item[{}]{fmt, }\item[{}]{args ... }\end{DoxyParamCaption})~ \textbf{ \+\_\+\+LOGSS7}((as)-\/$>$inst, subsys, level, \char`\"{}AS(\%s) \char`\"{} fmt, (as)-\/$>$cfg.\+name, \#\# args)} \mbox{\label{ss7__as_8h_aa0dd0b40b81d111f77417125392daa29}} \index{ss7\_as.h@{ss7\_as.h}!NUM\_AS\_EXT\_SLS@{NUM\_AS\_EXT\_SLS}} \index{NUM\_AS\_EXT\_SLS@{NUM\_AS\_EXT\_SLS}!ss7\_as.h@{ss7\_as.h}} \doxysubsubsection{NUM\_AS\_EXT\_SLS} {\footnotesize\ttfamily \#define NUM\+\_\+\+AS\+\_\+\+EXT\+\_\+\+SLS~128} \doxysubsection{Typedef Documentation} \mbox{\label{ss7__as_8h_a4ae442cf1f586e97a4c6f75317865a13}} \index{ss7\_as.h@{ss7\_as.h}!as\_ext\_sls\_t@{as\_ext\_sls\_t}} \index{as\_ext\_sls\_t@{as\_ext\_sls\_t}!ss7\_as.h@{ss7\_as.h}} \doxysubsubsection{as\_ext\_sls\_t} {\footnotesize\ttfamily typedef uint8\+\_\+t \textbf{ as\+\_\+ext\+\_\+sls\+\_\+t}} \doxysubsection{Enumeration Type Documentation} \mbox{\label{ss7__as_8h_a0b2887d64dc990999c94b2b6cccdc977}} \index{ss7\_as.h@{ss7\_as.h}!osmo\_ss7\_as\_patch\_sccp\_mode@{osmo\_ss7\_as\_patch\_sccp\_mode}} \index{osmo\_ss7\_as\_patch\_sccp\_mode@{osmo\_ss7\_as\_patch\_sccp\_mode}!ss7\_as.h@{ss7\_as.h}} \doxysubsubsection{osmo\_ss7\_as\_patch\_sccp\_mode} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_PATCH\_NONE@{OSMO\_SS7\_PATCH\_NONE}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!OSMO\_SS7\_PATCH\_NONE@{OSMO\_SS7\_PATCH\_NONE}}}\mbox{\label{ss7__as_8h_a0b2887d64dc990999c94b2b6cccdc977abd50362e0202087cc98258086f29e834}} OSMO\+\_\+\+SS7\+\_\+\+PATCH\+\_\+\+NONE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_PATCH\_BOTH@{OSMO\_SS7\_PATCH\_BOTH}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!OSMO\_SS7\_PATCH\_BOTH@{OSMO\_SS7\_PATCH\_BOTH}}}\mbox{\label{ss7__as_8h_a0b2887d64dc990999c94b2b6cccdc977a3645ea045c8a9be707ec49bb63ec33ce}} OSMO\+\_\+\+SS7\+\_\+\+PATCH\+\_\+\+BOTH&\\ \hline \end{DoxyEnumFields} \mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67a}} \index{ss7\_as.h@{ss7\_as.h}!ss7\_as\_ctr@{ss7\_as\_ctr}} \index{ss7\_as\_ctr@{ss7\_as\_ctr}!ss7\_as.h@{ss7\_as.h}} \doxysubsubsection{ss7\_as\_ctr} {\footnotesize\ttfamily enum \textbf{ ss7\+\_\+as\+\_\+ctr}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_TOTAL@{SS7\_AS\_CTR\_RX\_MSU\_TOTAL}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_TOTAL@{SS7\_AS\_CTR\_RX\_MSU\_TOTAL}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa26abc32054e575ee149c045750f8cfda}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+TOTAL&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_0@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_0}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_0@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_0}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aaf33ca396fbbc54cd36ca81bd53a3636f}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+0&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_1@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_1}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_1@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_1}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa3713586a8fbfbe295520fd07c6ccd51e}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+1&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_2@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_2}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_2@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_2}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa5e7cad14a254a6652669b846117387d3}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+2&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_3@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_3}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_3@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_3}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aadb3a7306ee8ddfab7db3c796a58e2da0}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+3&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_4@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_4}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_4@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_4}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa79673f6d8ca816f9f3e73c81f6b73389}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+4&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_5@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_5}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_5@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_5}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa640289cae29f6337a43c51cdeb0a0571}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+5&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_6@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_6}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_6@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_6}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aab6109923744bfa89d240624c8982c9ea}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+6&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_7@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_7}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_7@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_7}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa9077f62d680c8db1a931a8ee6851ec4e}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+7&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_8@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_8}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_8@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_8}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa712bfb317eca419205a58b3457c8f468}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+8&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_9@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_9}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_9@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_9}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aabc68df8f68e12563f2a8aec335b56306}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+9&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_10@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_10}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_10@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_10}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa11eef09b796a3f8314c2019c1f683c43}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+10&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_11@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_11}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_11@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_11}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aaeda96f9fca6c567001d927ba501eaccd}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+11&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_12@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_12}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_12@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_12}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aad0276122e460f2af6603e613bf8a1351}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+12&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_13@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_13}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_13@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_13}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aacb31a3bfd1a44eb922aedf8701f291a7}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+13&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_14@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_14}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_14@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_14}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aabbe08bec9b1c5d778f61260601f47ac5}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+14&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_SLS\_15@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_15}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_RX\_MSU\_SLS\_15@{SS7\_AS\_CTR\_RX\_MSU\_SLS\_15}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa2b6ccfc282bf26365f412c3d3103f6a3}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+SLS\+\_\+15&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_TOTAL@{SS7\_AS\_CTR\_TX\_MSU\_TOTAL}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_TOTAL@{SS7\_AS\_CTR\_TX\_MSU\_TOTAL}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa9006faf07587c92ebe18200be163e248}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+TOTAL&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_0@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_0}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_0@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_0}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa8cac720590e7c9f5290c7cd07ee03131}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+0&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_1@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_1}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_1@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_1}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aad2754a1d8a329407ce5401340199c68b}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+1&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_2@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_2}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_2@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_2}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa8af86dfa1e8cf348d642684ee38a0d8b}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+2&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_3@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_3}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_3@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_3}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa60fc0aa07e3e944068aebdd70dcb1e75}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+3&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_4@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_4}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_4@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_4}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aafc8b22f5e054056a218cd23b2b906969}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+4&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_5@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_5}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_5@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_5}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa3d8d1a9e3158f549a6d3c5113ef0d7b9}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+5&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_6@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_6}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_6@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_6}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aab59d476e3f25370a6745941fda222a38}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+6&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_7@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_7}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_7@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_7}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa2af10717da1cce0ed7ebc70ec277e86c}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+7&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_8@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_8}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_8@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_8}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa0af35a815970f375f8cc9d7be5e55f6d}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+8&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_9@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_9}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_9@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_9}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa83aa88c78ce504063b1f5837887d5f7d}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+9&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_10@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_10}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_10@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_10}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa6bfc1fb7d1d94676c2c6f17b9d41307a}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+10&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_11@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_11}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_11@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_11}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aaaa55e05585e92fb66c037ed9a8a2953d}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+11&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_12@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_12}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_12@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_12}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa73aa462453b2a4975c2cc20ab9bbd01b}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+12&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_13@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_13}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_13@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_13}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aaca1145b9ad8e809e39cb30dd6327493d}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+13&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_14@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_14}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_14@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_14}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa2888cd68c3e69e9fa0df474806e493d3}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+14&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_SLS\_15@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_15}!ss7\_as.h@{ss7\_as.h}}\index{ss7\_as.h@{ss7\_as.h}!SS7\_AS\_CTR\_TX\_MSU\_SLS\_15@{SS7\_AS\_CTR\_TX\_MSU\_SLS\_15}}}\mbox{\label{ss7__as_8h_ac6bc66087e1e1f143797c66201b2b67aa0b27ed1c0686d8431c5bf34c4129ec9a}} SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+SLS\+\_\+15&\\ \hline \end{DoxyEnumFields} \doxysubsection{Function Documentation} \mbox{\label{ss7__as_8h_ae2ba35bd7b47ceab3d3036fc4e5f5b4e}} \index{ss7\_as.h@{ss7\_as.h}!osmo\_ss7\_as\_count\_asp@{osmo\_ss7\_as\_count\_asp}} \index{osmo\_ss7\_as\_count\_asp@{osmo\_ss7\_as\_count\_asp}!ss7\_as.h@{ss7\_as.h}} \doxysubsubsection{osmo\_ss7\_as\_count\_asp()} {\footnotesize\ttfamily unsigned int osmo\+\_\+ss7\+\_\+as\+\_\+count\+\_\+asp (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})} Determine amount of ASPs associated to an AS. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} number of ASPs associated to as \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}. Referenced by \textbf{ xua\+\_\+rkm\+\_\+cleanup\+\_\+dyn\+\_\+as\+\_\+for\+\_\+asp()}. \mbox{\label{ss7__as_8h_aa3217a7a843ab6681bdf26579de9533f}} \index{ss7\_as.h@{ss7\_as.h}!ss7\_as\_add\_asp@{ss7\_as\_add\_asp}} \index{ss7\_as\_add\_asp@{ss7\_as\_add\_asp}!ss7\_as.h@{ss7\_as.h}} \doxysubsubsection{ss7\_as\_add\_asp()} {\footnotesize\ttfamily int ss7\+\_\+as\+\_\+add\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} Add given ASP to given AS. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server to which asp is added \\ \hline \mbox{\texttt{ in}} & {\em asp} & Application Server Process to be added to as \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative in case of error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ LOGPAS}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, and \textbf{ XUA\+\_\+\+ASP\+\_\+\+E\+\_\+\+AS\+\_\+\+ASSIGNED}. Referenced by \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}. \mbox{\label{ss7__as_8h_ac1d0530c590221ec37b9a6deb3d0c438}} \index{ss7\_as.h@{ss7\_as.h}!ss7\_as\_select\_asp@{ss7\_as\_select\_asp}} \index{ss7\_as\_select\_asp@{ss7\_as\_select\_asp}!ss7\_as.h@{ss7\_as.h}} \doxysubsubsection{ss7\_as\_select\_asp()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ ss7\+\_\+as\+\_\+select\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{const struct \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param} $\ast$}]{mtp }\end{DoxyParamCaption})} Select an AS to transmit a message, according to AS configuration and ASP availability. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} asp to send the message to, NULL if no possible asp found \end{DoxyReturn} This function returns NULL too if multiple ASPs would be selected, ie. AS is configured in broadcast mode and more than one ASP is configured. References \textbf{ \+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+TMOD}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode}, \textbf{ NULL}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+ROUNDROBIN}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+broadcast()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+loadshare()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+override()}, and \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+roundrobin()}. Referenced by \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg()}.