\doxysection{src/ss7\+\_\+asp.c File Reference}
\label{ss7__asp_8c}\index{src/ss7\_asp.c@{src/ss7\_asp.c}}
{\ttfamily \#include \char`\"{}config.\+h\char`\"{}}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$unistd.\+h$>$}\newline
{\ttfamily \#include $<$inttypes.\+h$>$}\newline
{\ttfamily \#include $<$netdb.\+h$>$}\newline
{\ttfamily \#include $<$netinet/in.\+h$>$}\newline
{\ttfamily \#include $<$netinet/sctp.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/mtp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/mtp.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/m3ua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/select.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/talloc.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/socket.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/sockaddr\+\_\+str.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/osmo\+\_\+io.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/netif/stream.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/netif/ipa.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/netif/sctp.\+h$>$}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+as.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+asp.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+xua\+\_\+srv.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+asp\+\_\+fsm.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+as\+\_\+fsm.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static int \textbf{ \+\_\+setsockopt\+\_\+peer\+\_\+primary\+\_\+addr} (int fd, const struct osmo\+\_\+sockaddr $\ast$saddr)
\item 
static int \textbf{ \+\_\+setsockopt\+\_\+primary\+\_\+addr} (int fd, const struct osmo\+\_\+sockaddr $\ast$saddr)
\item 
\textbf{ osmo\+\_\+static\+\_\+assert} (ARRAY\+\_\+\+SIZE(\textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+defaults})==(\textbf{ SS7\+\_\+\+ASP\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN}) \&\&ARRAY\+\_\+\+SIZE(\textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+names})==(\textbf{ SS7\+\_\+\+ASP\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN}), assert\+\_\+ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+count)
\item 
bool \textbf{ ss7\+\_\+asp\+\_\+protocol\+\_\+check\+\_\+trans\+\_\+proto} (enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto, int trans\+\_\+proto)
\item 
int \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto} (enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port} (enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot)
\item 
static int \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+keepalive} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
static int \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+user\+\_\+timeout} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+pars} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+new\+\_\+local\+\_\+address} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, unsigned int loc\+\_\+idx)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+drop\+\_\+local\+\_\+address} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, unsigned int loc\+\_\+idx)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+peer\+\_\+primary\+\_\+address} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
static bool \textbf{ sctp\+\_\+peer\+\_\+addr\+\_\+change\+\_\+ev\+\_\+addr\+\_\+matches\+\_\+our\+\_\+primary} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const union sctp\+\_\+notification $\ast$notif)
\item 
static void \textbf{ asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const union sctp\+\_\+notification $\ast$notif)
\item 
static int \textbf{ asp\+\_\+client\+\_\+apply\+\_\+sctp\+\_\+init\+\_\+pars} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
bool \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
static uint16\+\_\+t \textbf{ get\+\_\+in\+\_\+port} (struct sockaddr $\ast$sa)
\item 
static void \textbf{ chop\+\_\+v4\+\_\+mapped\+\_\+on\+\_\+v6\+\_\+prefix} (char $\ast$buf)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr} (int fd, int trans\+\_\+proto)
\begin{DoxyCompactList}\small\item\em Find an ASP definition matching the local+remote IP/\+PORT of given fd. \end{DoxyCompactList}\item 
static void \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+start} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
static void \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ ss7\+\_\+asp\+\_\+alloc} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, uint16\+\_\+t remote\+\_\+port, uint16\+\_\+t local\+\_\+port, int trans\+\_\+proto, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto)
\item 
void \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
static int \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb} (struct osmo\+\_\+stream\+\_\+cli $\ast$conn, int res, struct msgb $\ast$msg)
\item 
static int \textbf{ ipa\+\_\+cli\+\_\+read\+\_\+cb} (struct osmo\+\_\+stream\+\_\+cli $\ast$conn, int res, struct msgb $\ast$msg)
\item 
static int \textbf{ m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb} (struct osmo\+\_\+stream\+\_\+cli $\ast$conn, int res, struct msgb $\ast$msg)
\item 
static int \textbf{ xua\+\_\+cli\+\_\+connect\+\_\+cb} (struct osmo\+\_\+stream\+\_\+cli $\ast$cli)
\item 
static int \textbf{ xua\+\_\+cli\+\_\+disconnect\+\_\+cb} (struct osmo\+\_\+stream\+\_\+cli $\ast$cli)
\item 
static int \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect} (struct osmo\+\_\+stream\+\_\+cli $\ast$cli)
\item 
static int \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+disconnect\+\_\+stream} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
bool \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+active} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
bool \textbf{ ss7\+\_\+asp\+\_\+is\+\_\+started} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
static int \textbf{ get\+\_\+logevel\+\_\+by\+\_\+sn\+\_\+type} (int sn\+\_\+type)
\item 
static void \textbf{ log\+\_\+sctp\+\_\+notification} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const char $\ast$pfx, union sctp\+\_\+notification $\ast$notif)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+ipa\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb} (struct osmo\+\_\+stream\+\_\+srv $\ast$conn, int res, struct msgb $\ast$msg)
\item 
static int \textbf{ xua\+\_\+rx\+\_\+msg} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct msgb $\ast$msg)
\item 
static int \textbf{ m3ua\+\_\+tcp\+\_\+rx\+\_\+msg} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct msgb $\ast$msg)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb} (struct osmo\+\_\+stream\+\_\+srv $\ast$conn, int res, struct msgb $\ast$msg)
\item 
int \textbf{ xua\+\_\+tcp\+\_\+segmentation\+\_\+cb} (struct msgb $\ast$msg)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+m3ua\+\_\+tcp\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb} (struct osmo\+\_\+stream\+\_\+srv $\ast$conn, int res, struct msgb $\ast$msg)
\item 
static void \textbf{ xua\+\_\+cli\+\_\+close} (struct osmo\+\_\+stream\+\_\+cli $\ast$cli)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb} (struct osmo\+\_\+stream\+\_\+srv $\ast$srv)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+send} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct msgb $\ast$msg)
\begin{DoxyCompactList}\small\item\em send a fully encoded msgb via a given ASP \end{DoxyCompactList}\item 
void \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
void \textbf{ osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb} (\textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb} $\ast$cb)
\begin{DoxyCompactList}\small\item\em Register a call-\/back function for unknown SCTP PPID / IPA Stream ID. \end{DoxyCompactList}\item 
int \textbf{ ss7\+\_\+asp\+\_\+rx\+\_\+unknown} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, int ppid\+\_\+mux, struct msgb $\ast$msg)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\begin{DoxyCompactList}\small\item\em Get the logging subsystem for a given ASP. \end{DoxyCompactList}\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\begin{DoxyCompactList}\small\item\em Get the name of a given ASP. \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\begin{DoxyCompactList}\small\item\em Get the proto of a given ASP. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\begin{DoxyCompactList}\small\item\em Get the transport proto of a given ASP. \end{DoxyCompactList}\item 
int \textbf{ ss7\+\_\+asp\+\_\+get\+\_\+fd} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\begin{DoxyCompactList}\small\item\em Get the fd of a given ASP. \end{DoxyCompactList}\item 
void \textbf{ ss7\+\_\+asp\+\_\+restart\+\_\+after\+\_\+reconfigure} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
static unsigned int \textbf{ \+\_\+ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, uint32\+\_\+t $\ast$rctx, unsigned int rctx\+\_\+size, const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$excl\+\_\+as, bool network\+\_\+byte\+\_\+order)
\item 
unsigned int \textbf{ ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx\+\_\+be} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, uint32\+\_\+t $\ast$rctx, unsigned int rctx\+\_\+size, const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$excl\+\_\+as)
\item 
unsigned int \textbf{ ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, uint32\+\_\+t $\ast$rctx, unsigned int rctx\+\_\+size, const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$excl\+\_\+as)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ ss7\+\_\+asp\+\_\+get\+\_\+first\+\_\+as} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ ss7\+\_\+asp\+\_\+determine\+\_\+traf\+\_\+mode} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
bool \textbf{ ss7\+\_\+asp\+\_\+check\+\_\+remote\+\_\+asp\+\_\+id\+\_\+unique} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, uint32\+\_\+t remote\+\_\+asp\+\_\+id)
\item 
int \textbf{ osmo\+\_\+xlm\+\_\+sap\+\_\+down} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct osmo\+\_\+prim\+\_\+hdr $\ast$oph)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct osmo\+\_\+tdef \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+defaults} [\textbf{ SS7\+\_\+\+ASP\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN}]
\item 
const struct value\+\_\+string \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+names} [$\,$]
\item 
struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state\+\_\+names} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names} [$\,$]
\item 
static const uint16\+\_\+t \textbf{ prot2port} [$\,$]
\item 
static const struct rate\+\_\+ctr\+\_\+desc \textbf{ ss7\+\_\+asp\+\_\+rcd} [$\,$]
\item 
static const struct rate\+\_\+ctr\+\_\+group\+\_\+desc \textbf{ ss7\+\_\+asp\+\_\+rcgd}
\item 
static unsigned int \textbf{ g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx}
\item 
static \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb} $\ast$ \textbf{ g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\label{ss7__asp_8c_acca5c1150a63d9ffd39c94bea4f55fea}} 
\index{ss7\_asp.c@{ss7\_asp.c}!\_setsockopt\_peer\_primary\_addr@{\_setsockopt\_peer\_primary\_addr}}
\index{\_setsockopt\_peer\_primary\_addr@{\_setsockopt\_peer\_primary\_addr}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{\_setsockopt\_peer\_primary\_addr()}
{\footnotesize\ttfamily static int \+\_\+setsockopt\+\_\+peer\+\_\+primary\+\_\+addr (\begin{DoxyParamCaption}\item[{int}]{fd,  }\item[{const struct osmo\+\_\+sockaddr $\ast$}]{saddr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ err}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+peer\+\_\+primary\+\_\+address()}.

\mbox{\label{ss7__asp_8c_a5b4b039ff2f8122b9b26ff326059608a}} 
\index{ss7\_asp.c@{ss7\_asp.c}!\_setsockopt\_primary\_addr@{\_setsockopt\_primary\_addr}}
\index{\_setsockopt\_primary\_addr@{\_setsockopt\_primary\_addr}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{\_setsockopt\_primary\_addr()}
{\footnotesize\ttfamily static int \+\_\+setsockopt\+\_\+primary\+\_\+addr (\begin{DoxyParamCaption}\item[{int}]{fd,  }\item[{const struct osmo\+\_\+sockaddr $\ast$}]{saddr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address()}.

\mbox{\label{ss7__asp_8c_aad14a0dd6b4869a28aabccc6b62c1865}} 
\index{ss7\_asp.c@{ss7\_asp.c}!\_ss7\_asp\_get\_all\_rctx@{\_ss7\_asp\_get\_all\_rctx}}
\index{\_ss7\_asp\_get\_all\_rctx@{\_ss7\_asp\_get\_all\_rctx}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{\_ss7\_asp\_get\_all\_rctx()}
{\footnotesize\ttfamily static unsigned int \+\_\+ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{uint32\+\_\+t $\ast$}]{rctx,  }\item[{unsigned int}]{rctx\+\_\+size,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{excl\+\_\+as,  }\item[{bool}]{network\+\_\+byte\+\_\+order }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp\+\_\+entry}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::assoc\+\_\+as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::context}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx()}, and \textbf{ ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx\+\_\+be()}.

\mbox{\label{ss7__asp_8c_a043a0118489b7cb45b436132986d4010}} 
\index{ss7\_asp.c@{ss7\_asp.c}!asp\_client\_apply\_sctp\_init\_pars@{asp\_client\_apply\_sctp\_init\_pars}}
\index{asp\_client\_apply\_sctp\_init\_pars@{asp\_client\_apply\_sctp\_init\_pars}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{asp\_client\_apply\_sctp\_init\_pars()}
{\footnotesize\ttfamily static int asp\+\_\+client\+\_\+apply\+\_\+sctp\+\_\+init\+\_\+pars (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+attempts\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+attempts\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+init\+\_\+timeo\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+init\+\_\+timeo\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+instreams\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+instreams\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::num\+\_\+ostreams\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::num\+\_\+ostreams\+\_\+value}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sctp\+\_\+init}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}.

\mbox{\label{ss7__asp_8c_ae693fb36bc511d556200d7265686ed25}} 
\index{ss7\_asp.c@{ss7\_asp.c}!asp\_handle\_sctp\_notif\_monitor\_primary\_address@{asp\_handle\_sctp\_notif\_monitor\_primary\_address}}
\index{asp\_handle\_sctp\_notif\_monitor\_primary\_address@{asp\_handle\_sctp\_notif\_monitor\_primary\_address}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{asp\_handle\_sctp\_notif\_monitor\_primary\_address()}
{\footnotesize\ttfamily static void asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{const union sctp\+\_\+notification $\ast$}]{notif }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ sctp\+\_\+peer\+\_\+addr\+\_\+change\+\_\+ev\+\_\+addr\+\_\+matches\+\_\+our\+\_\+primary()}, and \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address()}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a2c6b544ce40c5efd24b1f82d0f1f76cc}} 
\index{ss7\_asp.c@{ss7\_asp.c}!chop\_v4\_mapped\_on\_v6\_prefix@{chop\_v4\_mapped\_on\_v6\_prefix}}
\index{chop\_v4\_mapped\_on\_v6\_prefix@{chop\_v4\_mapped\_on\_v6\_prefix}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{chop\_v4\_mapped\_on\_v6\_prefix()}
{\footnotesize\ttfamily static void chop\+\_\+v4\+\_\+mapped\+\_\+on\+\_\+v6\+\_\+prefix (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ len}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr()}.

\mbox{\label{ss7__asp_8c_a1f18cc9a880d46df3c5db7b760fdc305}} 
\index{ss7\_asp.c@{ss7\_asp.c}!get\_in\_port@{get\_in\_port}}
\index{get\_in\_port@{get\_in\_port}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{get\_in\_port()}
{\footnotesize\ttfamily static uint16\+\_\+t get\+\_\+in\+\_\+port (\begin{DoxyParamCaption}\item[{struct sockaddr $\ast$}]{sa }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr()}.

\mbox{\label{ss7__asp_8c_adf98277fedb099f019d3f59d8b0e96c8}} 
\index{ss7\_asp.c@{ss7\_asp.c}!get\_logevel\_by\_sn\_type@{get\_logevel\_by\_sn\_type}}
\index{get\_logevel\_by\_sn\_type@{get\_logevel\_by\_sn\_type}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{get\_logevel\_by\_sn\_type()}
{\footnotesize\ttfamily static int get\+\_\+logevel\+\_\+by\+\_\+sn\+\_\+type (\begin{DoxyParamCaption}\item[{int}]{sn\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ log\+\_\+sctp\+\_\+notification()}.

\mbox{\label{ss7__asp_8c_a4b8a8b39300fe0db3342fd961e37dfdd}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ipa\_cli\_read\_cb@{ipa\_cli\_read\_cb}}
\index{ipa\_cli\_read\_cb@{ipa\_cli\_read\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ipa\_cli\_read\_cb()}
{\footnotesize\ttfamily static int ipa\+\_\+cli\+\_\+read\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+cli $\ast$}]{conn,  }\item[{int}]{res,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ipa}, \textbf{ ipa\+\_\+rx\+\_\+msg()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sls}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, and \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}.

\mbox{\label{ss7__asp_8c_ad36aebefc2d00d1122549c69a37b413a}} 
\index{ss7\_asp.c@{ss7\_asp.c}!log\_sctp\_notification@{log\_sctp\_notification}}
\index{log\_sctp\_notification@{log\_sctp\_notification}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{log\_sctp\_notification()}
{\footnotesize\ttfamily static void log\+\_\+sctp\+\_\+notification (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{const char $\ast$}]{pfx,  }\item[{union sctp\+\_\+notification $\ast$}]{notif }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ get\+\_\+logevel\+\_\+by\+\_\+sn\+\_\+type()}, and \textbf{ LOGPASP}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a4971e62860add06a4913d6463c00ffac}} 
\index{ss7\_asp.c@{ss7\_asp.c}!m3ua\_tcp\_cli\_read\_cb@{m3ua\_tcp\_cli\_read\_cb}}
\index{m3ua\_tcp\_cli\_read\_cb@{m3ua\_tcp\_cli\_read\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{m3ua\_tcp\_cli\_read\_cb()}
{\footnotesize\ttfamily static int m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+cli $\ast$}]{conn,  }\item[{int}]{res,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ m3ua\+\_\+tcp\+\_\+rx\+\_\+msg()}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, and \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}.

\mbox{\label{ss7__asp_8c_ad51b268ecc9aacaf37ca39f6cff93405}} 
\index{ss7\_asp.c@{ss7\_asp.c}!m3ua\_tcp\_rx\_msg@{m3ua\_tcp\_rx\_msg}}
\index{m3ua\_tcp\_rx\_msg@{m3ua\_tcp\_rx\_msg}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{m3ua\_tcp\_rx\_msg()}
{\footnotesize\ttfamily static int m3ua\+\_\+tcp\+\_\+rx\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ xua\+\_\+common\+\_\+hdr\+::data}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+XFER}, \textbf{ M3\+UA\+\_\+\+PPID}, \textbf{ m3ua\+\_\+rx\+\_\+msg()}, and \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}.



Referenced by \textbf{ m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb()}, and \textbf{ ss7\+\_\+asp\+\_\+m3ua\+\_\+tcp\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a85b5b2514d86c48bf6c994b08e362c55}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_active@{osmo\_ss7\_asp\_active}}
\index{osmo\_ss7\_asp\_active@{osmo\_ss7\_asp\_active}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_active()}
{\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+asp\+\_\+active (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, and \textbf{ XUA\+\_\+\+ASP\+\_\+\+S\+\_\+\+ACTIVE}.



Referenced by \textbf{ current\+\_\+asp()}, \textbf{ DEFUN()}, \textbf{ find\+\_\+asp\+\_\+no\+\_\+tcap\+\_\+range()}, \textbf{ notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+broadcast()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+loadshare()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+override()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+roundrobin()}, \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast()}, \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ xua\+\_\+snm\+\_\+scon()}, and \textbf{ xua\+\_\+snm\+\_\+upu()}.

\mbox{\label{ss7__asp_8c_a6fce9d43401870a21aafb2b62936b321}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_destroy@{osmo\_ss7\_asp\_destroy}}
\index{osmo\_ss7\_asp\_destroy@{osmo\_ss7\_asp\_destroy}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_destroy()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp\+\_\+entry}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::assoc\+\_\+as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ LOGPASP}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ ss7\+\_\+as\+\_\+del\+\_\+asp()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+destroy()}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_af24d6e5d1494620c9a340ff2bb68416c}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_disconnect@{osmo\_ss7\_asp\_disconnect}}
\index{osmo\_ss7\_asp\_disconnect@{osmo\_ss7\_asp\_disconnect}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_disconnect()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, and \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}.



Referenced by \textbf{ DEFUN()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+timer\+\_\+cb()}, and \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}.

\mbox{\label{ss7__asp_8c_aecc0022dbb85c45d452d624c7a74587f}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_get\_log\_subsys@{osmo\_ss7\_asp\_get\_log\_subsys}}
\index{osmo\_ss7\_asp\_get\_log\_subsys@{osmo\_ss7\_asp\_get\_log\_subsys}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_get\_log\_subsys()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the logging subsystem for a given ASP. 

Used by generic code. 

References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}.



Referenced by \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon()}.

\mbox{\label{ss7__asp_8c_adaf906c479a08d0f6ed6664c3fdd95c7}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_get\_name@{osmo\_ss7\_asp\_get\_name}}
\index{osmo\_ss7\_asp\_get\_name@{osmo\_ss7\_asp\_get\_name}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_get\_name()}
{\footnotesize\ttfamily const char $\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the name of a given ASP. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & The ASP for which the name is requested \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The name of the ASP, or NULL if not set 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}.

\mbox{\label{ss7__asp_8c_a44b7671799d1beacce83817e2061f72f}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_get\_proto@{osmo\_ss7\_asp\_get\_proto}}
\index{osmo\_ss7\_asp\_get\_proto@{osmo\_ss7\_asp\_get\_proto}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_get\_proto()}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the proto of a given ASP. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & The ASP for which the proto is requested \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The proto of the ASP 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}.

\mbox{\label{ss7__asp_8c_a1b9ecb408d77a295723c34235b796e1e}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_get\_trans\_proto@{osmo\_ss7\_asp\_get\_trans\_proto}}
\index{osmo\_ss7\_asp\_get\_trans\_proto@{osmo\_ss7\_asp\_get\_trans\_proto}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_get\_trans\_proto()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the transport proto of a given ASP. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & The ASP for which the transport proto is requested \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The transport proto of the ASP (one of IPPROTO\+\_\+$\ast$) 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}.

\mbox{\label{ss7__asp_8c_a6d09b26e33e8838594e0374976769f6e}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_protocol\_port@{osmo\_ss7\_asp\_protocol\_port}}
\index{osmo\_ss7\_asp\_protocol\_port@{osmo\_ss7\_asp\_protocol\_port}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_protocol\_port()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot }\end{DoxyParamCaption})}



References \textbf{ prot2port}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}.

\mbox{\label{ss7__asp_8c_a8d3670d7e36042c95611f9bfa0a3b597}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_restart@{osmo\_ss7\_asp\_restart}}
\index{osmo\_ss7\_asp\_restart@{osmo\_ss7\_asp\_restart}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_restart()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+restart (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::adm\+\_\+state}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::dyn\+\_\+allocated}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ NULL}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+SHUTDOWN}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state\+\_\+names}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+asp\+\_\+disconnect\+\_\+stream()}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+snprintf()}, \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+destroy()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+start()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+start()}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, and \textbf{ ss7\+\_\+asp\+\_\+restart\+\_\+after\+\_\+reconfigure()}.

\mbox{\label{ss7__asp_8c_a4bbbb5047fd067deb34846c6dab99c1f}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_send@{osmo\_ss7\_asp\_send}}
\index{osmo\_ss7\_asp\_send@{osmo\_ss7\_asp\_send}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_send()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+send (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



send a fully encoded msgb via a given ASP 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & Application Server Process through which to send \\
\hline
\mbox{\texttt{ in}}  & {\em msg} & message buffer to transmit. Ownership transferred. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative in case of error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+PPID}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+TX\+\_\+\+TOTAL}, \textbf{ ss7\+\_\+initialized}, \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+TX\+\_\+\+TOTAL}, and \textbf{ SUA\+\_\+\+PPID}.



Referenced by \textbf{ as\+\_\+notify\+\_\+all\+\_\+asp()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+get()}, \textbf{ ipa\+\_\+t\+\_\+beat\+\_\+send()}, \textbf{ ipa\+\_\+tx\+\_\+tcap\+\_\+routing\+\_\+ack()}, \textbf{ ipa\+\_\+tx\+\_\+tcap\+\_\+routing\+\_\+nack()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+req()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req()}, \textbf{ m3ua\+\_\+tx\+\_\+xua\+\_\+asp()}, \textbf{ notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive()}, \textbf{ peer\+\_\+send()}, \textbf{ peer\+\_\+send\+\_\+error()}, \textbf{ sua\+\_\+tx\+\_\+xua\+\_\+asp()}, \textbf{ tx\+\_\+notify()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast()}, \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+dereg\+\_\+req()}, and \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req()}.

\mbox{\label{ss7__asp_8c_aa24cea8083d06097c1655a38a36e0a17}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_register\_rx\_unknown\_cb@{osmo\_ss7\_register\_rx\_unknown\_cb}}
\index{osmo\_ss7\_register\_rx\_unknown\_cb@{osmo\_ss7\_register\_rx\_unknown\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_register\_rx\_unknown\_cb()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb (\begin{DoxyParamCaption}\item[{\textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb} $\ast$}]{cb }\end{DoxyParamCaption})}



Register a call-\/back function for unknown SCTP PPID / IPA Stream ID. 



References \textbf{ g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}.

\mbox{\label{ss7__asp_8c_afdb6501d6199194b50e7a95f64c6ac2c}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_static\_assert@{osmo\_static\_assert}}
\index{osmo\_static\_assert@{osmo\_static\_assert}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_static\_assert()}
{\footnotesize\ttfamily osmo\+\_\+static\+\_\+assert (\begin{DoxyParamCaption}\item[{ARRAY\+\_\+\+SIZE(\textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+defaults})}]{ = {\ttfamily =(\textbf{ SS7\+\_\+\+ASP\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN})~\&\&ARRAY\+\_\+SIZE(\textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+names})==(\textbf{ SS7\+\_\+\+ASP\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN})},  }\item[{assert\+\_\+ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+count}]{ }\end{DoxyParamCaption})}

\mbox{\label{ss7__asp_8c_a0ecffc58820e661cf3ca6d576ce78f82}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_xlm\_sap\_down@{osmo\_xlm\_sap\_down}}
\index{osmo\_xlm\_sap\_down@{osmo\_xlm\_sap\_down}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_xlm\_sap\_down()}
{\footnotesize\ttfamily int osmo\+\_\+xlm\+\_\+sap\+\_\+down (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+rk\+\_\+reg\+::key}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+XLM\+\_\+\+PRIM\+\_\+\+M\+\_\+\+RK\+\_\+\+DEREG}, \textbf{ OSMO\+\_\+\+XLM\+\_\+\+PRIM\+\_\+\+M\+\_\+\+RK\+\_\+\+REG}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+name()}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+::rk\+\_\+dereg}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+::rk\+\_\+reg}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+rk\+\_\+dereg\+::route\+\_\+ctx}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+\_\+rk\+\_\+reg\+::traf\+\_\+mode}, \textbf{ osmo\+\_\+xlm\+\_\+prim\+::u}, \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+dereg\+\_\+req()}, and \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req()}.



Referenced by \textbf{ reg\+\_\+req\+\_\+all\+\_\+assoc\+\_\+as()}.

\mbox{\label{ss7__asp_8c_ad0dd5b9bc4a221ea90c8a56658786b69}} 
\index{ss7\_asp.c@{ss7\_asp.c}!sctp\_peer\_addr\_change\_ev\_addr\_matches\_our\_primary@{sctp\_peer\_addr\_change\_ev\_addr\_matches\_our\_primary}}
\index{sctp\_peer\_addr\_change\_ev\_addr\_matches\_our\_primary@{sctp\_peer\_addr\_change\_ev\_addr\_matches\_our\_primary}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{sctp\_peer\_addr\_change\_ev\_addr\_matches\_our\_primary()}
{\footnotesize\ttfamily static bool sctp\+\_\+peer\+\_\+addr\+\_\+change\+\_\+ev\+\_\+addr\+\_\+matches\+\_\+our\+\_\+primary (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{const union sctp\+\_\+notification $\ast$}]{notif }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}.



Referenced by \textbf{ asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address()}.

\mbox{\label{ss7__asp_8c_ac3d6291887a658d39aa55ec3b229acc2}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_alloc@{ss7\_asp\_alloc}}
\index{ss7\_asp\_alloc@{ss7\_asp\_alloc}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_alloc()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ ss7\+\_\+asp\+\_\+alloc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name,  }\item[{uint16\+\_\+t}]{remote\+\_\+port,  }\item[{uint16\+\_\+t}]{local\+\_\+port,  }\item[{int}]{trans\+\_\+proto,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::adm\+\_\+state}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::assoc\+\_\+as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ NULL}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+ENABLED}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+defaults}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+init()}, \textbf{ ss7\+\_\+asp\+\_\+protocol\+\_\+check\+\_\+trans\+\_\+proto()}, \textbf{ ss7\+\_\+asp\+\_\+rcgd}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+defaults}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::\+T\+\_\+defs\+\_\+lm}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::\+T\+\_\+defs\+\_\+xua}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}.

\mbox{\label{ss7__asp_8c_ab2e3375ff5198011e7ceefbee4437d8f}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_apply\_drop\_local\_address@{ss7\_asp\_apply\_drop\_local\_address}}
\index{ss7\_asp\_apply\_drop\_local\_address@{ss7\_asp\_apply\_drop\_local\_address}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_apply\_drop\_local\_address()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+apply\+\_\+drop\+\_\+local\+\_\+address (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{unsigned int}]{loc\+\_\+idx }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ LOGPASP}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}.

\mbox{\label{ss7__asp_8c_a9082d03ccf3139e50b5d7b2fc3fa568b}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_apply\_new\_local\_address@{ss7\_asp\_apply\_new\_local\_address}}
\index{ss7\_asp\_apply\_new\_local\_address@{ss7\_asp\_apply\_new\_local\_address}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_apply\_new\_local\_address()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+apply\+\_\+new\+\_\+local\+\_\+address (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{unsigned int}]{loc\+\_\+idx }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ LOGPASP}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}.

\mbox{\label{ss7__asp_8c_a52c416a02307b3f013953bcd6b61bee0}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_apply\_peer\_primary\_address@{ss7\_asp\_apply\_peer\_primary\_address}}
\index{ss7\_asp\_apply\_peer\_primary\_address@{ss7\_asp\_apply\_peer\_primary\_address}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_apply\_peer\_primary\_address()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+apply\+\_\+peer\+\_\+primary\+\_\+address (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ \+\_\+setsockopt\+\_\+peer\+\_\+primary\+\_\+addr()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ xua\+\_\+accept\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+connect\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a1c6f3d525c04eb8553784c922f9c1d03}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_apply\_primary\_address@{ss7\_asp\_apply\_primary\_address}}
\index{ss7\_asp\_apply\_primary\_address@{ss7\_asp\_apply\_primary\_address}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_apply\_primary\_address()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ \+\_\+setsockopt\+\_\+primary\+\_\+addr()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}.



Referenced by \textbf{ asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ xua\+\_\+accept\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+connect\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_aed6caf643874ea206765734ff658c3a7}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_apply\_tcp\_keepalive@{ss7\_asp\_apply\_tcp\_keepalive}}
\index{ss7\_asp\_apply\_tcp\_keepalive@{ss7\_asp\_apply\_tcp\_keepalive}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_apply\_tcp\_keepalive()}
{\footnotesize\ttfamily static int ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+keepalive (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::keepalive\+\_\+enable}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::keepalive\+\_\+intvl\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::keepalive\+\_\+intvl\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::keepalive\+\_\+probes\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::keepalive\+\_\+probes\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::keepalive\+\_\+time\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::keepalive\+\_\+time\+\_\+value}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::tcp}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+pars()}.

\mbox{\label{ss7__asp_8c_a9ee859b98b0eb240141d19d47cb23fe0}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_apply\_tcp\_pars@{ss7\_asp\_apply\_tcp\_pars}}
\index{ss7\_asp\_apply\_tcp\_pars@{ss7\_asp\_apply\_tcp\_pars}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_apply\_tcp\_pars()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+pars (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+keepalive()}, and \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+user\+\_\+timeout()}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a7c30227798dc44c61e61f1f646b3e7cc}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_apply\_tcp\_user\_timeout@{ss7\_asp\_apply\_tcp\_user\_timeout}}
\index{ss7\_asp\_apply\_tcp\_user\_timeout@{ss7\_asp\_apply\_tcp\_user\_timeout}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_apply\_tcp\_user\_timeout()}
{\footnotesize\ttfamily static int ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+user\+\_\+timeout (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::tcp}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::user\+\_\+timeout\+\_\+present}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::user\+\_\+timeout\+\_\+value}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+pars()}.

\mbox{\label{ss7__asp_8c_a8c2590e2ea6abefe0ff1cde793d726af}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_check\_remote\_asp\_id\_unique@{ss7\_asp\_check\_remote\_asp\_id\_unique}}
\index{ss7\_asp\_check\_remote\_asp\_id\_unique@{ss7\_asp\_check\_remote\_asp\_id\_unique}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_check\_remote\_asp\_id\_unique()}
{\footnotesize\ttfamily bool ss7\+\_\+asp\+\_\+check\+\_\+remote\+\_\+asp\+\_\+id\+\_\+unique (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{uint32\+\_\+t}]{remote\+\_\+asp\+\_\+id }\end{DoxyParamCaption})}



References \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp\+\_\+entry}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::assoc\+\_\+as\+\_\+list}, and \textbf{ ss7\+\_\+as\+\_\+find\+\_\+asp\+\_\+by\+\_\+remote\+\_\+asp\+\_\+id()}.



Referenced by \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+down()}, and \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}.

\mbox{\label{ss7__asp_8c_a066cb1145dd007aa90b09de9d6982c2d}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_determine\_traf\_mode@{ss7\_asp\_determine\_traf\_mode}}
\index{ss7\_asp\_determine\_traf\_mode@{ss7\_asp\_determine\_traf\_mode}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_determine\_traf\_mode()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+determine\+\_\+traf\+\_\+mode (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp\+\_\+entry}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::assoc\+\_\+as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode\+\_\+set\+\_\+by\+\_\+vty}.



Referenced by \textbf{ lm\+\_\+wait\+\_\+notify()}, and \textbf{ peer\+\_\+send()}.

\mbox{\label{ss7__asp_8c_a672fcc19cc75ef876058224791686bad}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_disconnect\_stream@{ss7\_asp\_disconnect\_stream}}
\index{ss7\_asp\_disconnect\_stream@{ss7\_asp\_disconnect\_stream}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_disconnect\_stream()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+disconnect\+\_\+stream (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ NULL}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}.



Referenced by \textbf{ ipa\+\_\+t\+\_\+beat\+\_\+cb()}, \textbf{ lm\+\_\+rkm\+\_\+reg()}, \textbf{ lm\+\_\+timer\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+destroy()}, \textbf{ xua\+\_\+accept\+\_\+cb()}, and \textbf{ xua\+\_\+t\+\_\+beat\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a1da88f0bc9afa17b8797c806178749c0}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_find\_by\_socket\_addr@{ss7\_asp\_find\_by\_socket\_addr}}
\index{ss7\_asp\_find\_by\_socket\_addr@{ss7\_asp\_find\_by\_socket\_addr}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_find\_by\_socket\_addr()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr (\begin{DoxyParamCaption}\item[{int}]{fd,  }\item[{int}]{trans\+\_\+proto }\end{DoxyParamCaption})}



Find an ASP definition matching the local+remote IP/\+PORT of given fd. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em fd} & socket descriptor of given socket \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
SS7 ASP in case a matching one is found; NULL otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ chop\+\_\+v4\+\_\+mapped\+\_\+on\+\_\+v6\+\_\+prefix()}, \textbf{ get\+\_\+in\+\_\+port()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+instances}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+match\+\_\+host()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}.



Referenced by \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_aa9d931468c5bd018f32a759e31ec0743}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_get\_all\_rctx@{ss7\_asp\_get\_all\_rctx}}
\index{ss7\_asp\_get\_all\_rctx@{ss7\_asp\_get\_all\_rctx}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_get\_all\_rctx()}
{\footnotesize\ttfamily unsigned int ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{uint32\+\_\+t $\ast$}]{rctx,  }\item[{unsigned int}]{rctx\+\_\+size,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{excl\+\_\+as }\end{DoxyParamCaption})}



References \textbf{ \+\_\+ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx()}.



Referenced by \textbf{ fill\+\_\+notify\+\_\+route\+\_\+ctx()}.

\mbox{\label{ss7__asp_8c_ad1c97c3c8766d1aea9dcf4ab0cd40477}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_get\_all\_rctx\_be@{ss7\_asp\_get\_all\_rctx\_be}}
\index{ss7\_asp\_get\_all\_rctx\_be@{ss7\_asp\_get\_all\_rctx\_be}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_get\_all\_rctx\_be()}
{\footnotesize\ttfamily unsigned int ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx\+\_\+be (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{uint32\+\_\+t $\ast$}]{rctx,  }\item[{unsigned int}]{rctx\+\_\+size,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{excl\+\_\+as }\end{DoxyParamCaption})}



References \textbf{ \+\_\+ss7\+\_\+asp\+\_\+get\+\_\+all\+\_\+rctx()}.



Referenced by \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, \textbf{ tx\+\_\+daud\+\_\+pc()}, \textbf{ xua\+\_\+asp\+\_\+tx\+\_\+snm\+\_\+daud\+\_\+address\+\_\+book()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+asp\+\_\+rctx()}, \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}, \textbf{ xua\+\_\+snm\+\_\+scon()}, and \textbf{ xua\+\_\+snm\+\_\+upu()}.

\mbox{\label{ss7__asp_8c_a5de79890dc6ede1c9e7ace712c931d25}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_get\_fd@{ss7\_asp\_get\_fd}}
\index{ss7\_asp\_get\_fd@{ss7\_asp\_get\_fd}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_get\_fd()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+get\+\_\+fd (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the fd of a given ASP. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & The ASP for which the fd is requested \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The fd of the ASP if acailable, negative otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}.



Referenced by \textbf{ show\+\_\+one\+\_\+asp()}, \textbf{ show\+\_\+one\+\_\+asp\+\_\+assoc\+\_\+status\+\_\+tcp()}, and \textbf{ show\+\_\+one\+\_\+asp\+\_\+remaddr\+\_\+tcp()}.

\mbox{\label{ss7__asp_8c_a7cd0a7a49c2a43d60033b790f9a9e9f9}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_get\_first\_as@{ss7\_asp\_get\_first\_as}}
\index{ss7\_asp\_get\_first\_as@{ss7\_asp\_get\_first\_as}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_get\_first\_as()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ ss7\+\_\+asp\+\_\+get\+\_\+first\+\_\+as (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp\+\_\+entry}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::assoc\+\_\+as\+\_\+list}, and \textbf{ NULL}.



Referenced by \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+start()}, \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+osmo\+\_\+ext\+\_\+tcap\+\_\+routing()}, \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+up()}, and \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}.

\mbox{\label{ss7__asp_8c_a5e519b620f7c928c97b7a01335c05fc4}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_ipa\_srv\_conn\_rx\_cb@{ss7\_asp\_ipa\_srv\_conn\_rx\_cb}}
\index{ss7\_asp\_ipa\_srv\_conn\_rx\_cb@{ss7\_asp\_ipa\_srv\_conn\_rx\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_ipa\_srv\_conn\_rx\_cb()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+ipa\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+srv $\ast$}]{conn,  }\item[{int}]{res,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ipa}, \textbf{ ipa\+\_\+rx\+\_\+msg()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sls}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, and \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}.



Referenced by \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a07c4798f0de92e03f7cc41966d8f764b}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_is\_started@{ss7\_asp\_is\_started}}
\index{ss7\_asp\_is\_started@{ss7\_asp\_is\_started}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_is\_started()}
{\footnotesize\ttfamily bool ss7\+\_\+asp\+\_\+is\+\_\+started (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}.

\mbox{\label{ss7__asp_8c_a095143f4df1d1a70501a01dfa264156b}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_m3ua\_tcp\_srv\_conn\_rx\_cb@{ss7\_asp\_m3ua\_tcp\_srv\_conn\_rx\_cb}}
\index{ss7\_asp\_m3ua\_tcp\_srv\_conn\_rx\_cb@{ss7\_asp\_m3ua\_tcp\_srv\_conn\_rx\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_m3ua\_tcp\_srv\_conn\_rx\_cb()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+m3ua\+\_\+tcp\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+srv $\ast$}]{conn,  }\item[{int}]{res,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ m3ua\+\_\+tcp\+\_\+rx\+\_\+msg()}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, and \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}.



Referenced by \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_ab724de8a87c368b6211fcebec8bebd18}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_protocol\_check\_trans\_proto@{ss7\_asp\_protocol\_check\_trans\_proto}}
\index{ss7\_asp\_protocol\_check\_trans\_proto@{ss7\_asp\_protocol\_check\_trans\_proto}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_protocol\_check\_trans\_proto()}
{\footnotesize\ttfamily bool ss7\+\_\+asp\+\_\+protocol\+\_\+check\+\_\+trans\+\_\+proto (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto,  }\item[{int}]{trans\+\_\+proto }\end{DoxyParamCaption})}



References \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+NONE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+alloc()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}.

\mbox{\label{ss7__asp_8c_a415b5473b108212ad08d1390e3498e69}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_restart\_after\_reconfigure@{ss7\_asp\_restart\_after\_reconfigure}}
\index{ss7\_asp\_restart\_after\_reconfigure@{ss7\_asp\_restart\_after\_reconfigure}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_restart\_after\_reconfigure()}
{\footnotesize\ttfamily void ss7\+\_\+asp\+\_\+restart\+\_\+after\+\_\+reconfigure (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, and \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts()}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ ss7\+\_\+vty\+\_\+node\+\_\+asp\+\_\+go\+\_\+parent()}.

\mbox{\label{ss7__asp_8c_a5985c0ec7dc547dd06de3f9be8b8be9b}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_rx\_unknown@{ss7\_asp\_rx\_unknown}}
\index{ss7\_asp\_rx\_unknown@{ss7\_asp\_rx\_unknown}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_rx\_unknown()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+rx\+\_\+unknown (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{int}]{ppid\+\_\+mux,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::ctrg}, \textbf{ g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ LOGPASP}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+UNKNOWN}, and \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+UNKNOWN}.



Referenced by \textbf{ xua\+\_\+rx\+\_\+msg()}.

\mbox{\label{ss7__asp_8c_afa91ee594ac4b3408e12e0533dc89e9f}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_set\_default\_peer\_hosts@{ss7\_asp\_set\_default\_peer\_hosts}}
\index{ss7\_asp\_set\_default\_peer\_hosts@{ss7\_asp\_set\_default\_peer\_hosts}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_set\_default\_peer\_hosts()}
{\footnotesize\ttfamily bool ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host()}, and \textbf{ ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported()}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+restart\+\_\+after\+\_\+reconfigure()}.

\mbox{\label{ss7__asp_8c_aa311e324b38984853483760647795e83}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_start\_client@{ss7\_asp\_start\_client}}
\index{ss7\_asp\_start\_client@{ss7\_asp\_start\_client}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_start\_client()}
{\footnotesize\ttfamily static int ss7\+\_\+asp\+\_\+start\+\_\+client (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ asp\+\_\+client\+\_\+apply\+\_\+sctp\+\_\+init\+\_\+pars()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ ipa\+\_\+cli\+\_\+read\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ LOGPASP}, \textbf{ m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ NULL}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+pars()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}, \textbf{ xua\+\_\+cli\+\_\+connect\+\_\+cb()}, \textbf{ xua\+\_\+cli\+\_\+disconnect\+\_\+cb()}, \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}, and \textbf{ xua\+\_\+tcp\+\_\+segmentation\+\_\+cb()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}.

\mbox{\label{ss7__asp_8c_a7bcd6c10806e1b312d0f0e6d1b44d480}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_xua\_layer\_manager\_destroy@{ss7\_asp\_xua\_layer\_manager\_destroy}}
\index{ss7\_asp\_xua\_layer\_manager\_destroy@{ss7\_asp\_xua\_layer\_manager\_destroy}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_xua\_layer\_manager\_destroy()}
{\footnotesize\ttfamily static void ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+xua\+\_\+layer\+\_\+manager\+::free\+\_\+func}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::lm}, and \textbf{ NULL}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}.

\mbox{\label{ss7__asp_8c_aebe84319e042a810ecba3be80c0d25b3}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_xua\_layer\_manager\_start@{ss7\_asp\_xua\_layer\_manager\_start}}
\index{ss7\_asp\_xua\_layer\_manager\_start@{ss7\_asp\_xua\_layer\_manager\_start}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_xua\_layer\_manager\_start()}
{\footnotesize\ttfamily static void ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+start (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::lm}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, and \textbf{ xua\+\_\+layer\+\_\+manager\+\_\+default\+\_\+alloc()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}.

\mbox{\label{ss7__asp_8c_a0f5475d54d10cb369601915dc9ff558a}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_xua\_srv\_conn\_closed\_cb@{ss7\_asp\_xua\_srv\_conn\_closed\_cb}}
\index{ss7\_asp\_xua\_srv\_conn\_closed\_cb@{ss7\_asp\_xua\_srv\_conn\_closed\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_xua\_srv\_conn\_closed\_cb()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+srv $\ast$}]{srv }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::dyn\+\_\+allocated}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ OSMO\+\_\+\+XLM\+\_\+\+PRIM\+\_\+\+M\+\_\+\+SCTP\+\_\+\+RELEASE}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::siblings}, \textbf{ XUA\+\_\+\+ASP\+\_\+\+E\+\_\+\+SCTP\+\_\+\+COMM\+\_\+\+DOWN\+\_\+\+IND}, \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::xua\+\_\+server}.



Referenced by \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a4da7b1ad0032f16bbd55773894334cd5}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_xua\_srv\_conn\_rx\_cb@{ss7\_asp\_xua\_srv\_conn\_rx\_cb}}
\index{ss7\_asp\_xua\_srv\_conn\_rx\_cb@{ss7\_asp\_xua\_srv\_conn\_rx\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_xua\_srv\_conn\_rx\_cb()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+srv $\ast$}]{conn,  }\item[{int}]{res,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



References \textbf{ asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ log\+\_\+sctp\+\_\+notification()}, \textbf{ LOGPASP}, \textbf{ OSMO\+\_\+\+XLM\+\_\+\+PRIM\+\_\+\+M\+\_\+\+SCTP\+\_\+\+RESTART}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple()}, and \textbf{ xua\+\_\+rx\+\_\+msg()}.



Referenced by \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_abe05c4208f5af9d0cc05e881497871a0}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_default\_trans\_proto\_for\_asp\_proto@{ss7\_default\_trans\_proto\_for\_asp\_proto}}
\index{ss7\_default\_trans\_proto\_for\_asp\_proto@{ss7\_default\_trans\_proto\_for\_asp\_proto}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_default\_trans\_proto\_for\_asp\_proto()}
{\footnotesize\ttfamily int ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



References \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ ss7\+\_\+vty\+\_\+write\+\_\+one\+\_\+asp()}, \textbf{ ss7\+\_\+vty\+\_\+write\+\_\+one\+\_\+oxs()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+find()}.

\mbox{\label{ss7__asp_8c_a8cfeba359fa19e36513d6f987f76869c}} 
\index{ss7\_asp.c@{ss7\_asp.c}!xua\_cli\_close@{xua\_cli\_close}}
\index{xua\_cli\_close@{xua\_cli\_close}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{xua\_cli\_close()}
{\footnotesize\ttfamily static void xua\+\_\+cli\+\_\+close (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+cli $\ast$}]{cli }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ OSMO\+\_\+\+XLM\+\_\+\+PRIM\+\_\+\+M\+\_\+\+SCTP\+\_\+\+RELEASE}, \textbf{ XUA\+\_\+\+ASP\+\_\+\+E\+\_\+\+SCTP\+\_\+\+COMM\+\_\+\+DOWN\+\_\+\+IND}, and \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple()}.



Referenced by \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}.

\mbox{\label{ss7__asp_8c_a4973673adfc842bb12816bf47400571c}} 
\index{ss7\_asp.c@{ss7\_asp.c}!xua\_cli\_close\_and\_reconnect@{xua\_cli\_close\_and\_reconnect}}
\index{xua\_cli\_close\_and\_reconnect@{xua\_cli\_close\_and\_reconnect}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{xua\_cli\_close\_and\_reconnect()}
{\footnotesize\ttfamily static int xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+cli $\ast$}]{cli }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::adm\+\_\+state}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ LOGPASP}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+SHUTDOWN}, and \textbf{ xua\+\_\+cli\+\_\+close()}.



Referenced by \textbf{ ipa\+\_\+cli\+\_\+read\+\_\+cb()}, \textbf{ m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect()}, \textbf{ xua\+\_\+cli\+\_\+disconnect\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a052cc4afcd029eccc55a29fef5aa8dbd}} 
\index{ss7\_asp.c@{ss7\_asp.c}!xua\_cli\_connect\_cb@{xua\_cli\_connect\_cb}}
\index{xua\_cli\_connect\_cb@{xua\_cli\_connect\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{xua\_cli\_connect\_cb()}
{\footnotesize\ttfamily static int xua\+\_\+cli\+\_\+connect\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+cli $\ast$}]{cli }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::lm}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+MSG\+\_\+\+HEADROOM}, \textbf{ M3\+UA\+\_\+\+MSG\+\_\+\+SIZE}, \textbf{ NULL}, \textbf{ OSMO\+\_\+\+XLM\+\_\+\+PRIM\+\_\+\+M\+\_\+\+SCTP\+\_\+\+ESTABLISH}, \textbf{ osmo\+\_\+xua\+\_\+layer\+\_\+manager\+::prim\+\_\+cb}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sock\+\_\+name}, \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+peer\+\_\+primary\+\_\+address()}, \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}, \textbf{ XUA\+\_\+\+ASP\+\_\+\+E\+\_\+\+M\+\_\+\+ASP\+\_\+\+UP\+\_\+\+REQ}, and \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple()}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}.

\mbox{\label{ss7__asp_8c_a1402a11183bcac8cb14676b15a61b118}} 
\index{ss7\_asp.c@{ss7\_asp.c}!xua\_cli\_disconnect\_cb@{xua\_cli\_disconnect\_cb}}
\index{xua\_cli\_disconnect\_cb@{xua\_cli\_disconnect\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{xua\_cli\_disconnect\_cb()}
{\footnotesize\ttfamily static int xua\+\_\+cli\+\_\+disconnect\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+cli $\ast$}]{cli }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ LOGPASP}, and \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}.

\mbox{\label{ss7__asp_8c_acf4de6a702301f3078b5fd0502f5477a}} 
\index{ss7\_asp.c@{ss7\_asp.c}!xua\_cli\_read\_cb@{xua\_cli\_read\_cb}}
\index{xua\_cli\_read\_cb@{xua\_cli\_read\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{xua\_cli\_read\_cb()}
{\footnotesize\ttfamily static int xua\+\_\+cli\+\_\+read\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+cli $\ast$}]{conn,  }\item[{int}]{res,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ log\+\_\+sctp\+\_\+notification()}, \textbf{ LOGPASP}, \textbf{ OSMO\+\_\+\+XLM\+\_\+\+PRIM\+\_\+\+M\+\_\+\+SCTP\+\_\+\+RESTART}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple()}, \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}, and \textbf{ xua\+\_\+rx\+\_\+msg()}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}.

\mbox{\label{ss7__asp_8c_a1052e25373f0562497fdb070ca225e99}} 
\index{ss7\_asp.c@{ss7\_asp.c}!xua\_rx\_msg@{xua\_rx\_msg}}
\index{xua\_rx\_msg@{xua\_rx\_msg}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{xua\_rx\_msg()}
{\footnotesize\ttfamily static int xua\+\_\+rx\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ M3\+UA\+\_\+\+PPID}, \textbf{ m3ua\+\_\+rx\+\_\+msg()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ ss7\+\_\+asp\+\_\+rx\+\_\+unknown()}, \textbf{ SUA\+\_\+\+PPID}, and \textbf{ sua\+\_\+rx\+\_\+msg()}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, and \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a8491be4c7f509461cc8b28cbb27bf0a1}} 
\index{ss7\_asp.c@{ss7\_asp.c}!xua\_tcp\_segmentation\_cb@{xua\_tcp\_segmentation\_cb}}
\index{xua\_tcp\_segmentation\_cb@{xua\_tcp\_segmentation\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{xua\_tcp\_segmentation\_cb()}
{\footnotesize\ttfamily int xua\+\_\+tcp\+\_\+segmentation\+\_\+cb (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



References \textbf{ xua\+\_\+common\+\_\+hdr\+::data}, \textbf{ msg\+\_\+length}, and \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+length}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.



\doxysubsection{Variable Documentation}
\mbox{\label{ss7__asp_8c_ac4a2dc86a8a839e40620d701d4346d91}} 
\index{ss7\_asp.c@{ss7\_asp.c}!g\_osmo\_ss7\_asp\_rx\_unknown\_cb@{g\_osmo\_ss7\_asp\_rx\_unknown\_cb}}
\index{g\_osmo\_ss7\_asp\_rx\_unknown\_cb@{g\_osmo\_ss7\_asp\_rx\_unknown\_cb}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{g\_osmo\_ss7\_asp\_rx\_unknown\_cb}
{\footnotesize\ttfamily \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}$\ast$ g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb()}, and \textbf{ ss7\+\_\+asp\+\_\+rx\+\_\+unknown()}.

\mbox{\label{ss7__asp_8c_ab43aa0585dd22f2be6a7e0e9c05525a7}} 
\index{ss7\_asp.c@{ss7\_asp.c}!g\_ss7\_asp\_rcg\_idx@{g\_ss7\_asp\_rcg\_idx}}
\index{g\_ss7\_asp\_rcg\_idx@{g\_ss7\_asp\_rcg\_idx}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{g\_ss7\_asp\_rcg\_idx}
{\footnotesize\ttfamily unsigned int g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ ss7\+\_\+asp\+\_\+alloc()}.

\mbox{\label{ss7__asp_8c_acb0b9ec82498be27871e22cb6412a652}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_admin\_state\_names@{osmo\_ss7\_asp\_admin\_state\_names}}
\index{osmo\_ss7\_asp\_admin\_state\_names@{osmo\_ss7\_asp\_admin\_state\_names}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_admin\_state\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_ADM\_S\_SHUTDOWN,       \textcolor{stringliteral}{"{}SHUTDOWN"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_ADM\_S\_BLOCKED, \textcolor{stringliteral}{"{}BLOCKED"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_ADM\_S\_ENABLED, \textcolor{stringliteral}{"{}ENABLED"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a41380c47cdda3f98c55d1a93e6071a6b}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_protocol\_vals@{osmo\_ss7\_asp\_protocol\_vals}}
\index{osmo\_ss7\_asp\_protocol\_vals@{osmo\_ss7\_asp\_protocol\_vals}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_protocol\_vals}
{\footnotesize\ttfamily struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_PROT\_NONE, \textcolor{stringliteral}{"{}none"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_PROT\_SUA,   \textcolor{stringliteral}{"{}sua"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_PROT\_M3UA, \textcolor{stringliteral}{"{}m3ua"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_PROT\_IPA,   \textcolor{stringliteral}{"{}ipa"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ parse\+\_\+asp\+\_\+proto()}, \textbf{ show\+\_\+one\+\_\+asp()}, \textbf{ ss7\+\_\+vty\+\_\+write\+\_\+one\+\_\+oxs()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+bind()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ vty\+\_\+dump\+\_\+xua\+\_\+server()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{ss7__asp_8c_a617cc4818ccf1e2d74ff0e012975ce30}} 
\index{ss7\_asp.c@{ss7\_asp.c}!osmo\_ss7\_asp\_role\_names@{osmo\_ss7\_asp\_role\_names}}
\index{osmo\_ss7\_asp\_role\_names@{osmo\_ss7\_asp\_role\_names}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{osmo\_ss7\_asp\_role\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_ROLE\_ASP,   \textcolor{stringliteral}{"{}ASP"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_ROLE\_SG,             \textcolor{stringliteral}{"{}SG"{}} \},}
\DoxyCodeLine{        \{ OSMO\_SS7\_ASP\_ROLE\_IPSP, \textcolor{stringliteral}{"{}IPSP"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ show\+\_\+one\+\_\+asp()}, and \textbf{ ss7\+\_\+vty\+\_\+write\+\_\+one\+\_\+asp()}.

\mbox{\label{ss7__asp_8c_aa65cb0e6b9446cda8df60956ed12573f}} 
\index{ss7\_asp.c@{ss7\_asp.c}!prot2port@{prot2port}}
\index{prot2port@{prot2port}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{prot2port}
{\footnotesize\ttfamily const uint16\+\_\+t prot2port[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        [OSMO\_SS7\_ASP\_PROT\_NONE] = 0,}
\DoxyCodeLine{        [OSMO\_SS7\_ASP\_PROT\_SUA] = SUA\_PORT,}
\DoxyCodeLine{        [OSMO\_SS7\_ASP\_PROT\_M3UA] = M3UA\_PORT,}
\DoxyCodeLine{        [OSMO\_SS7\_ASP\_PROT\_IPA] = 5000,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()}.

\mbox{\label{ss7__asp_8c_a3ac2d325579510b627a35bb124b9f978}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_rcd@{ss7\_asp\_rcd}}
\index{ss7\_asp\_rcd@{ss7\_asp\_rcd}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_rcd}
{\footnotesize\ttfamily const struct rate\+\_\+ctr\+\_\+desc ss7\+\_\+asp\+\_\+rcd[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        [SS7\_ASP\_CTR\_PKT\_RX\_TOTAL] = \{ \textcolor{stringliteral}{"{}rx:packets:total"{}}, \textcolor{stringliteral}{"{}Total number of packets received"{}} \},}
\DoxyCodeLine{        [SS7\_ASP\_CTR\_PKT\_RX\_UNKNOWN] = \{ \textcolor{stringliteral}{"{}rx:packets:unknown"{}}, \textcolor{stringliteral}{"{}Number of packets received for unknown PPID"{}} \},}
\DoxyCodeLine{        [SS7\_ASP\_CTR\_PKT\_RX\_NI\_MISMATCH] = \{ \textcolor{stringliteral}{"{}rx:packets:ni\_mismatch"{}}, \textcolor{stringliteral}{"{}Number of packets received and dropped due to Network Indicator mismatch"{}} \},}
\DoxyCodeLine{        [SS7\_ASP\_CTR\_PKT\_TX\_TOTAL] = \{ \textcolor{stringliteral}{"{}tx:packets:total"{}}, \textcolor{stringliteral}{"{}Total number of packets transmitted"{}} \},}
\DoxyCodeLine{\}}

\end{DoxyCode}
\mbox{\label{ss7__asp_8c_a00129046e2f1da5c1335375de549b25e}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_rcgd@{ss7\_asp\_rcgd}}
\index{ss7\_asp\_rcgd@{ss7\_asp\_rcgd}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_rcgd}
{\footnotesize\ttfamily const struct rate\+\_\+ctr\+\_\+group\+\_\+desc ss7\+\_\+asp\+\_\+rcgd\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .group\_name\_prefix = \textcolor{stringliteral}{"{}sigtran\_asp"{}},}
\DoxyCodeLine{        .group\_description = \textcolor{stringliteral}{"{}SIGTRAN Application Server Process"{}},}
\DoxyCodeLine{        .num\_ctr = ARRAY\_SIZE(ss7\_asp\_rcd),}
\DoxyCodeLine{        .ctr\_desc = ss7\_asp\_rcd,}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ ss7\+\_\+asp\+\_\+alloc()}.

\mbox{\label{ss7__asp_8c_a6cabdcec0b4eee2a4d1124ab7f9fddef}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_xua\_timer\_defaults@{ss7\_asp\_xua\_timer\_defaults}}
\index{ss7\_asp\_xua\_timer\_defaults@{ss7\_asp\_xua\_timer\_defaults}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_xua\_timer\_defaults}
{\footnotesize\ttfamily const struct osmo\+\_\+tdef ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+defaults[\textbf{ SS7\+\_\+\+ASP\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN}]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ .T = SS7\_ASP\_XUA\_T\_ACK,      .default\_val = SS7\_ASP\_XUA\_DEFAULT\_T\_ACK\_SEC,      .unit = OSMO\_TDEF\_S,}
\DoxyCodeLine{          .desc = \textcolor{stringliteral}{"{}Resend ASP Up/Down/Active/Inactive after timeout waiting for ASP Up/Down/Active/Inactive ACK (ASP role)(s)"{}} \},}
\DoxyCodeLine{        \{ .T = SS7\_ASP\_XUA\_T\_BEAT,    .default\_val = SS7\_ASP\_XUA\_DEFAULT\_T\_BEAT\_SEC,    .unit = OSMO\_TDEF\_S,}
\DoxyCodeLine{          .desc = \textcolor{stringliteral}{"{}Heartbeat Timer (0 = disabled) (s)"{}} \},}
\DoxyCodeLine{        \{\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ gen\+\_\+asp\+\_\+timer\+\_\+xua\+\_\+cmd\+\_\+strs()}, and \textbf{ ss7\+\_\+asp\+\_\+alloc()}.

\mbox{\label{ss7__asp_8c_ac75c9ab04b6997e2038641d847d1e791}} 
\index{ss7\_asp.c@{ss7\_asp.c}!ss7\_asp\_xua\_timer\_names@{ss7\_asp\_xua\_timer\_names}}
\index{ss7\_asp\_xua\_timer\_names@{ss7\_asp\_xua\_timer\_names}!ss7\_asp.c@{ss7\_asp.c}}
\doxysubsubsection{ss7\_asp\_xua\_timer\_names}
{\footnotesize\ttfamily const struct value\+\_\+string ss7\+\_\+asp\+\_\+xua\+\_\+timer\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ SS7\_ASP\_XUA\_T\_ACK, \textcolor{stringliteral}{"{}ack"{}} \},}
\DoxyCodeLine{        \{ SS7\_ASP\_XUA\_T\_BEAT, \textcolor{stringliteral}{"{}beat"{}} \},}
\DoxyCodeLine{        \{\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ gen\+\_\+asp\+\_\+timer\+\_\+xua\+\_\+cmd\+\_\+strs()}, and \textbf{ write\+\_\+asp\+\_\+timers\+\_\+xua()}.

