\section{src/osmo\+\_\+ss7\+\_\+asp.c File Reference} \label{osmo__ss7__asp_8c}\index{src/osmo\+\_\+ss7\+\_\+asp.\+c@{src/osmo\+\_\+ss7\+\_\+asp.\+c}} {\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\+\_\+internal.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}xua\+\_\+asp\+\_\+fsm.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}xua\+\_\+as\+\_\+fsm.\+h\char`\"{}}\newline \subsection*{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 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 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 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 A\+SP definition matching the local+remote I\+P/\+P\+O\+RT of given fd. \end{DoxyCompactList}\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\+\_\+close\+\_\+and\+\_\+reconnect} (struct osmo\+\_\+stream\+\_\+cli $\ast$cli) \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 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 A\+SP \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 S\+C\+TP P\+P\+ID / I\+PA 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 A\+SP. \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 A\+SP. \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 A\+SP. \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 A\+SP. \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 A\+SP. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals} [$\,$] \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} \subsection{Function Documentation} \mbox{\label{osmo__ss7__asp_8c_acca5c1150a63d9ffd39c94bea4f55fea}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!\+\_\+setsockopt\+\_\+peer\+\_\+primary\+\_\+addr@{\+\_\+setsockopt\+\_\+peer\+\_\+primary\+\_\+addr}} \index{\+\_\+setsockopt\+\_\+peer\+\_\+primary\+\_\+addr@{\+\_\+setsockopt\+\_\+peer\+\_\+primary\+\_\+addr}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{\+\_\+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]}} Referenced by ss7\+\_\+asp\+\_\+apply\+\_\+peer\+\_\+primary\+\_\+address(). \mbox{\label{osmo__ss7__asp_8c_a5b4b039ff2f8122b9b26ff326059608a}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!\+\_\+setsockopt\+\_\+primary\+\_\+addr@{\+\_\+setsockopt\+\_\+primary\+\_\+addr}} \index{\+\_\+setsockopt\+\_\+primary\+\_\+addr@{\+\_\+setsockopt\+\_\+primary\+\_\+addr}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{\+\_\+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 ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address(). \mbox{\label{osmo__ss7__asp_8c_ae693fb36bc511d556200d7265686ed25}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary, osmo\+\_\+ss7\+\_\+asp\+::remote, sctp\+\_\+peer\+\_\+addr\+\_\+change\+\_\+ev\+\_\+addr\+\_\+matches\+\_\+our\+\_\+primary(), and ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address(). Referenced by ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb(), and xua\+\_\+cli\+\_\+read\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a2c6b544ce40c5efd24b1f82d0f1f76cc}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 len. Referenced by ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr(). \mbox{\label{osmo__ss7__asp_8c_a1f18cc9a880d46df3c5db7b760fdc305}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!get\+\_\+in\+\_\+port@{get\+\_\+in\+\_\+port}} \index{get\+\_\+in\+\_\+port@{get\+\_\+in\+\_\+port}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr(). \mbox{\label{osmo__ss7__asp_8c_adf98277fedb099f019d3f59d8b0e96c8}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!get\+\_\+logevel\+\_\+by\+\_\+sn\+\_\+type@{get\+\_\+logevel\+\_\+by\+\_\+sn\+\_\+type}} \index{get\+\_\+logevel\+\_\+by\+\_\+sn\+\_\+type@{get\+\_\+logevel\+\_\+by\+\_\+sn\+\_\+type}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 log\+\_\+sctp\+\_\+notification(). \mbox{\label{osmo__ss7__asp_8c_a4b8a8b39300fe0db3342fd961e37dfdd}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!ipa\+\_\+cli\+\_\+read\+\_\+cb@{ipa\+\_\+cli\+\_\+read\+\_\+cb}} \index{ipa\+\_\+cli\+\_\+read\+\_\+cb@{ipa\+\_\+cli\+\_\+read\+\_\+cb}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::ctrg, ipa\+\_\+rx\+\_\+msg(), S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL, and xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect(). Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), and osmo\+\_\+ss7\+\_\+asp\+\_\+restart(). \mbox{\label{osmo__ss7__asp_8c_ad36aebefc2d00d1122549c69a37b413a}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!log\+\_\+sctp\+\_\+notification@{log\+\_\+sctp\+\_\+notification}} \index{log\+\_\+sctp\+\_\+notification@{log\+\_\+sctp\+\_\+notification}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 get\+\_\+logevel\+\_\+by\+\_\+sn\+\_\+type(), and L\+O\+G\+P\+A\+SP. Referenced by ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb(), and xua\+\_\+cli\+\_\+read\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a4971e62860add06a4913d6463c00ffac}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb@{m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb}} \index{m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb@{m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 xua\+\_\+common\+\_\+hdr\+::data, M3\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+X\+F\+ER, M3\+U\+A\+\_\+\+P\+P\+ID, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class, and xua\+\_\+cli\+\_\+read\+\_\+cb(). Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), and osmo\+\_\+ss7\+\_\+asp\+\_\+restart(). \mbox{\label{osmo__ss7__asp_8c_a85b5b2514d86c48bf6c994b08e362c55}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+active@{osmo\+\_\+ss7\+\_\+asp\+\_\+active}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+active@{osmo\+\_\+ss7\+\_\+asp\+\_\+active}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::fi, and X\+U\+A\+\_\+\+A\+S\+P\+\_\+\+S\+\_\+\+A\+C\+T\+I\+VE. Referenced by notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive(), sua\+\_\+snm\+\_\+ssn\+\_\+available(), xua\+\_\+as\+\_\+select\+\_\+asp\+\_\+override(), xua\+\_\+as\+\_\+select\+\_\+asp\+\_\+roundrobin(), xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast(), xua\+\_\+snm\+\_\+pc\+\_\+available(), xua\+\_\+snm\+\_\+scon(), and xua\+\_\+snm\+\_\+upu(). \mbox{\label{osmo__ss7__asp_8c_a6fce9d43401870a21aafb2b62936b321}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+destroy@{osmo\+\_\+ss7\+\_\+asp\+\_\+destroy}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+destroy@{osmo\+\_\+ss7\+\_\+asp\+\_\+destroy}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+as\+::asps, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::ctrg, osmo\+\_\+ss7\+\_\+asp\+::fi, osmo\+\_\+ss7\+\_\+asp\+::inst, ipa\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+as\+::list, osmo\+\_\+ss7\+\_\+asp\+::list, L\+O\+G\+P\+A\+SP, m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+asp\+::server, osmo\+\_\+ss7\+\_\+asp\+::siblings, ss7\+\_\+initialized, xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect(), xua\+\_\+cli\+\_\+connect\+\_\+cb(), xua\+\_\+cli\+\_\+read\+\_\+cb(), and osmo\+\_\+ss7\+\_\+asp\+::xua\+\_\+server. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+ss7\+\_\+instance\+\_\+destroy(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy(), and ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_af24d6e5d1494620c9a340ff2bb68416c}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect@{osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect@{osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::server, and xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect(). Referenced by D\+E\+F\+U\+N(), ipa\+\_\+asp\+\_\+fsm\+\_\+timer\+\_\+cb(), ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp(), and ipa\+\_\+pong\+\_\+timer\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_aecc0022dbb85c45d452d624c7a74587f}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 A\+SP. Used by generic code. References osmo\+\_\+ss7\+\_\+asp\+::cfg, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA, and osmo\+\_\+ss7\+\_\+asp\+::proto. Referenced by xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp(), xua\+\_\+snm\+\_\+rx\+\_\+daud(), xua\+\_\+snm\+\_\+rx\+\_\+dava(), xua\+\_\+snm\+\_\+rx\+\_\+duna(), xua\+\_\+snm\+\_\+rx\+\_\+dupu(), and xua\+\_\+snm\+\_\+rx\+\_\+scon(). \mbox{\label{osmo__ss7__asp_8c_a946085598c4a1bfa5167b8883332a8de}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 A\+SP. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & The A\+SP for which the name is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The name of the A\+SP, or N\+U\+LL if not set \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+::cfg, and osmo\+\_\+ss7\+\_\+asp\+::name. \mbox{\label{osmo__ss7__asp_8c_a44b7671799d1beacce83817e2061f72f}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 A\+SP. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & The A\+SP for which the proto is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The proto of the A\+SP \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+::cfg, and osmo\+\_\+ss7\+\_\+asp\+::proto. \mbox{\label{osmo__ss7__asp_8c_a1b9ecb408d77a295723c34235b796e1e}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 A\+SP. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & The A\+SP for which the transport proto is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The transport proto of the A\+SP (one of I\+P\+P\+R\+O\+T\+O\+\_\+$\ast$) \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+::cfg, and osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto. \mbox{\label{osmo__ss7__asp_8c_a6d09b26e33e8838594e0374976769f6e}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 prot2port. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name(). \mbox{\label{osmo__ss7__asp_8c_a8d3670d7e36042c95611f9bfa0a3b597}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+restart@{osmo\+\_\+ss7\+\_\+asp\+\_\+restart}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+restart@{osmo\+\_\+ss7\+\_\+asp\+\_\+restart}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+restart()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+restart (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::fi, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, ipa\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, osmo\+\_\+ss7\+\_\+asp\+::local, L\+O\+G\+P\+A\+SP, m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+asp\+::name, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf(), O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+ss7\+\_\+asp\+::proto, osmo\+\_\+ss7\+\_\+asp\+::remote, osmo\+\_\+ss7\+\_\+asp\+::role, osmo\+\_\+ss7\+\_\+asp\+::sctp\+\_\+init, osmo\+\_\+ss7\+\_\+asp\+::server, ss7\+\_\+initialized, osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto, xua\+\_\+asp\+\_\+fsm\+\_\+start(), xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect(), xua\+\_\+cli\+\_\+connect\+\_\+cb(), xua\+\_\+cli\+\_\+read\+\_\+cb(), and xua\+\_\+tcp\+\_\+segmentation\+\_\+cb(). Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent(), restart\+\_\+asp(), and xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a4bbbb5047fd067deb34846c6dab99c1f}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+send@{osmo\+\_\+ss7\+\_\+asp\+\_\+send}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+send@{osmo\+\_\+ss7\+\_\+asp\+\_\+send}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 A\+SP \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & Application Server Process through which to send \\ \hline \mbox{\tt 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 osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::ctrg, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, L\+O\+G\+P\+A\+SP, M3\+U\+A\+\_\+\+P\+P\+ID, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA, osmo\+\_\+ss7\+\_\+asp\+::proto, osmo\+\_\+ss7\+\_\+asp\+::server, S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+T\+X\+\_\+\+T\+O\+T\+AL, ss7\+\_\+initialized, and S\+U\+A\+\_\+\+P\+P\+ID. Referenced by as\+\_\+notify\+\_\+all\+\_\+asp(), ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+get(), m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+req(), m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req(), m3ua\+\_\+tx\+\_\+xua\+\_\+asp(), notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive(), peer\+\_\+send(), peer\+\_\+send\+\_\+error(), sua\+\_\+tx\+\_\+xua\+\_\+asp(), xua\+\_\+as\+\_\+transmit\+\_\+msg(), xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast(), xua\+\_\+rkm\+\_\+send\+\_\+dereg\+\_\+req(), and xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req(). \mbox{\label{osmo__ss7__asp_8c_aa24cea8083d06097c1655a38a36e0a17}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 S\+C\+TP P\+P\+ID / I\+PA Stream ID. References g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb. \mbox{\label{osmo__ss7__asp_8c_ad0dd5b9bc4a221ea90c8a56658786b69}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary, and osmo\+\_\+ss7\+\_\+asp\+::remote. Referenced by asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address(). \mbox{\label{osmo__ss7__asp_8c_aedca24dd60b379f21cbd5fa7ad068b45}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!ss7\+\_\+asp\+\_\+alloc@{ss7\+\_\+asp\+\_\+alloc}} \index{ss7\+\_\+asp\+\_\+alloc@{ss7\+\_\+asp\+\_\+alloc}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list, osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::ctrg, g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx, osmo\+\_\+ss7\+\_\+asp\+::inst, osmo\+\_\+ss7\+\_\+asp\+::list, osmo\+\_\+ss7\+\_\+asp\+::local, osmo\+\_\+ss7\+\_\+asp\+::name, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init(), O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA, osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name(), osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp(), osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+ss7\+\_\+asp\+::proto, osmo\+\_\+ss7\+\_\+asp\+::remote, ss7\+\_\+asp\+\_\+lm\+\_\+timer\+\_\+defaults, ss7\+\_\+asp\+\_\+protocol\+\_\+check\+\_\+trans\+\_\+proto(), ss7\+\_\+asp\+\_\+rcgd, osmo\+\_\+ss7\+\_\+asp\+::\+T\+\_\+defs\+\_\+lm, and osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto. Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2(). \mbox{\label{osmo__ss7__asp_8c_ab2e3375ff5198011e7ceefbee4437d8f}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, osmo\+\_\+ss7\+\_\+asp\+::local, L\+O\+G\+P\+A\+SP, and osmo\+\_\+ss7\+\_\+asp\+::server. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(). \mbox{\label{osmo__ss7__asp_8c_a9082d03ccf3139e50b5d7b2fc3fa568b}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, osmo\+\_\+ss7\+\_\+asp\+::local, L\+O\+G\+P\+A\+SP, and osmo\+\_\+ss7\+\_\+asp\+::server. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(). \mbox{\label{osmo__ss7__asp_8c_a52c416a02307b3f013953bcd6b61bee0}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 \+\_\+setsockopt\+\_\+peer\+\_\+primary\+\_\+addr(), osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, osmo\+\_\+ss7\+\_\+asp\+::local, L\+O\+G\+P\+A\+SP, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, and osmo\+\_\+ss7\+\_\+asp\+::server. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), xua\+\_\+accept\+\_\+cb(), and xua\+\_\+cli\+\_\+connect\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a1c6f3d525c04eb8553784c922f9c1d03}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address@{ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address}} \index{ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address@{ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 \+\_\+setsockopt\+\_\+primary\+\_\+addr(), osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, L\+O\+G\+P\+A\+SP, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+ss7\+\_\+asp\+::remote, and osmo\+\_\+ss7\+\_\+asp\+::server. Referenced by asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address(), D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), xua\+\_\+accept\+\_\+cb(), and xua\+\_\+cli\+\_\+connect\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a3f7db5640fd9a0527d7047f0712d26ba}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 A\+SP definition matching the local+remote I\+P/\+P\+O\+RT of given fd. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em fd} & socket descriptor of given socket \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} S\+S7 A\+SP in case a matching one is found; N\+U\+LL otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list, osmo\+\_\+ss7\+\_\+asp\+::cfg, chop\+\_\+v4\+\_\+mapped\+\_\+on\+\_\+v6\+\_\+prefix(), get\+\_\+in\+\_\+port(), osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+ss7\+\_\+asp\+::list, osmo\+\_\+ss7\+\_\+asp\+::local, osmo\+\_\+ss7\+\_\+instances, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+ss7\+\_\+asp\+::remote, ss7\+\_\+asp\+\_\+peer\+\_\+match\+\_\+host(), ss7\+\_\+initialized, and osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto. Referenced by xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a5de79890dc6ede1c9e7ace712c931d25}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!ss7\+\_\+asp\+\_\+get\+\_\+fd@{ss7\+\_\+asp\+\_\+get\+\_\+fd}} \index{ss7\+\_\+asp\+\_\+get\+\_\+fd@{ss7\+\_\+asp\+\_\+get\+\_\+fd}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 A\+SP. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & The A\+SP for which the fd is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The fd of the A\+SP if acailable, negative otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, and osmo\+\_\+ss7\+\_\+asp\+::server. Referenced by show\+\_\+one\+\_\+asp(), show\+\_\+one\+\_\+asp\+\_\+assoc\+\_\+status\+\_\+tcp(), and show\+\_\+one\+\_\+asp\+\_\+remaddr\+\_\+tcp(). \mbox{\label{osmo__ss7__asp_8c_a5e519b620f7c928c97b7a01335c05fc4}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::asp\+\_\+id, osmo\+\_\+ss7\+\_\+asp\+::ctrg, ipa\+\_\+rx\+\_\+msg(), and S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL. Referenced by xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a07c4798f0de92e03f7cc41966d8f764b}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!ss7\+\_\+asp\+\_\+is\+\_\+started@{ss7\+\_\+asp\+\_\+is\+\_\+started}} \index{ss7\+\_\+asp\+\_\+is\+\_\+started@{ss7\+\_\+asp\+\_\+is\+\_\+started}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, and osmo\+\_\+ss7\+\_\+asp\+::server. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(). \mbox{\label{osmo__ss7__asp_8c_a095143f4df1d1a70501a01dfa264156b}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::ctrg, xua\+\_\+common\+\_\+hdr\+::data, M3\+U\+A\+\_\+\+M\+S\+G\+C\+\_\+\+X\+F\+ER, m3ua\+\_\+rx\+\_\+msg(), xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class, and S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL. Referenced by xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_ab724de8a87c368b6211fcebec8bebd18}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+N\+O\+NE, and O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA. Referenced by osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2(), and ss7\+\_\+asp\+\_\+alloc(). \mbox{\label{osmo__ss7__asp_8c_a5985c0ec7dc547dd06de3f9be8b8be9b}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!ss7\+\_\+asp\+\_\+rx\+\_\+unknown@{ss7\+\_\+asp\+\_\+rx\+\_\+unknown}} \index{ss7\+\_\+asp\+\_\+rx\+\_\+unknown@{ss7\+\_\+asp\+\_\+rx\+\_\+unknown}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::ctrg, g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb, L\+O\+G\+P\+A\+SP, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA, osmo\+\_\+ss7\+\_\+asp\+::proto, and S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+U\+N\+K\+N\+O\+WN. Referenced by ipa\+\_\+rx\+\_\+msg(), ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb(), and xua\+\_\+cli\+\_\+read\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_afa91ee594ac4b3408e12e0533dc89e9f}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+ss7\+\_\+asp\+::local, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host(), osmo\+\_\+ss7\+\_\+asp\+::remote, and ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported(). Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent(). \mbox{\label{osmo__ss7__asp_8c_a0f5475d54d10cb369601915dc9ff558a}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::dyn\+\_\+allocated, osmo\+\_\+ss7\+\_\+asp\+::fi, osmo\+\_\+ss7\+\_\+asp\+::name, osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), O\+S\+M\+O\+\_\+\+X\+L\+M\+\_\+\+P\+R\+I\+M\+\_\+\+M\+\_\+\+S\+C\+T\+P\+\_\+\+R\+E\+L\+E\+A\+SE, osmo\+\_\+ss7\+\_\+asp\+::server, X\+U\+A\+\_\+\+A\+S\+P\+\_\+\+E\+\_\+\+S\+C\+T\+P\+\_\+\+C\+O\+M\+M\+\_\+\+D\+O\+W\+N\+\_\+\+I\+ND, xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple(), and xua\+\_\+rkm\+\_\+cleanup\+\_\+dyn\+\_\+as\+\_\+for\+\_\+asp(). Referenced by xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a4da7b1ad0032f16bbd55773894334cd5}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address(), osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::ctrg, log\+\_\+sctp\+\_\+notification(), L\+O\+G\+P\+A\+SP, M3\+U\+A\+\_\+\+P\+P\+ID, m3ua\+\_\+rx\+\_\+msg(), O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA, O\+S\+M\+O\+\_\+\+X\+L\+M\+\_\+\+P\+R\+I\+M\+\_\+\+M\+\_\+\+S\+C\+T\+P\+\_\+\+R\+E\+S\+T\+A\+RT, osmo\+\_\+ss7\+\_\+asp\+::proto, S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL, ss7\+\_\+asp\+\_\+rx\+\_\+unknown(), S\+U\+A\+\_\+\+P\+P\+ID, sua\+\_\+rx\+\_\+msg(), and xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple(). Referenced by xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_abe05c4208f5af9d0cc05e881497871a0}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, and O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+ss7\+\_\+asp\+\_\+find(), osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find(), write\+\_\+one\+\_\+asp(), and write\+\_\+one\+\_\+xua(). \mbox{\label{osmo__ss7__asp_8c_a8cfeba359fa19e36513d6f987f76869c}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!xua\+\_\+cli\+\_\+close@{xua\+\_\+cli\+\_\+close}} \index{xua\+\_\+cli\+\_\+close@{xua\+\_\+cli\+\_\+close}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::fi, O\+S\+M\+O\+\_\+\+X\+L\+M\+\_\+\+P\+R\+I\+M\+\_\+\+M\+\_\+\+S\+C\+T\+P\+\_\+\+R\+E\+L\+E\+A\+SE, X\+U\+A\+\_\+\+A\+S\+P\+\_\+\+E\+\_\+\+S\+C\+T\+P\+\_\+\+C\+O\+M\+M\+\_\+\+D\+O\+W\+N\+\_\+\+I\+ND, and xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple(). Referenced by xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect(). \mbox{\label{osmo__ss7__asp_8c_a4973673adfc842bb12816bf47400571c}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect@{xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect}} \index{xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect@{xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 xua\+\_\+cli\+\_\+close(). Referenced by ipa\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect(), osmo\+\_\+ss7\+\_\+asp\+\_\+restart(), and xua\+\_\+cli\+\_\+read\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a052cc4afcd029eccc55a29fef5aa8dbd}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!xua\+\_\+cli\+\_\+connect\+\_\+cb@{xua\+\_\+cli\+\_\+connect\+\_\+cb}} \index{xua\+\_\+cli\+\_\+connect\+\_\+cb@{xua\+\_\+cli\+\_\+connect\+\_\+cb}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+asp\+::asp\+\_\+id, osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::fi, osmo\+\_\+ss7\+\_\+asp\+::lm, L\+O\+G\+P\+A\+SP, M3\+U\+A\+\_\+\+M\+S\+G\+\_\+\+H\+E\+A\+D\+R\+O\+OM, M3\+U\+A\+\_\+\+M\+S\+G\+\_\+\+S\+I\+ZE, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA, O\+S\+M\+O\+\_\+\+X\+L\+M\+\_\+\+P\+R\+I\+M\+\_\+\+M\+\_\+\+S\+C\+T\+P\+\_\+\+E\+S\+T\+A\+B\+L\+I\+SH, osmo\+\_\+xua\+\_\+layer\+\_\+manager\+::prim\+\_\+cb, osmo\+\_\+ss7\+\_\+asp\+::proto, osmo\+\_\+ss7\+\_\+asp\+::sock\+\_\+name, ss7\+\_\+asp\+\_\+apply\+\_\+peer\+\_\+primary\+\_\+address(), ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address(), osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto, X\+U\+A\+\_\+\+A\+S\+P\+\_\+\+E\+\_\+\+M\+\_\+\+A\+S\+P\+\_\+\+U\+P\+\_\+\+R\+EQ, and xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple(). Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), and osmo\+\_\+ss7\+\_\+asp\+\_\+restart(). \mbox{\label{osmo__ss7__asp_8c_acf4de6a702301f3078b5fd0502f5477a}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!xua\+\_\+cli\+\_\+read\+\_\+cb@{xua\+\_\+cli\+\_\+read\+\_\+cb}} \index{xua\+\_\+cli\+\_\+read\+\_\+cb@{xua\+\_\+cli\+\_\+read\+\_\+cb}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address(), osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::ctrg, log\+\_\+sctp\+\_\+notification(), L\+O\+G\+P\+A\+SP, M3\+U\+A\+\_\+\+P\+P\+ID, m3ua\+\_\+rx\+\_\+msg(), O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA, O\+S\+M\+O\+\_\+\+X\+L\+M\+\_\+\+P\+R\+I\+M\+\_\+\+M\+\_\+\+S\+C\+T\+P\+\_\+\+R\+E\+S\+T\+A\+RT, osmo\+\_\+ss7\+\_\+asp\+::proto, S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL, ss7\+\_\+asp\+\_\+rx\+\_\+unknown(), S\+U\+A\+\_\+\+P\+P\+ID, sua\+\_\+rx\+\_\+msg(), xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple(), and xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect(). Referenced by m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), and osmo\+\_\+ss7\+\_\+asp\+\_\+restart(). \mbox{\label{osmo__ss7__asp_8c_a8491be4c7f509461cc8b28cbb27bf0a1}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!xua\+\_\+tcp\+\_\+segmentation\+\_\+cb@{xua\+\_\+tcp\+\_\+segmentation\+\_\+cb}} \index{xua\+\_\+tcp\+\_\+segmentation\+\_\+cb@{xua\+\_\+tcp\+\_\+segmentation\+\_\+cb}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{xua\+\_\+tcp\+\_\+segmentation\+\_\+cb()} {\footnotesize\ttfamily int xua\+\_\+tcp\+\_\+segmentation\+\_\+cb (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})} References xua\+\_\+common\+\_\+hdr\+::data, xua\+\_\+common\+\_\+hdr\+::msg\+\_\+length, and msg\+\_\+length. Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+restart(), and xua\+\_\+accept\+\_\+cb(). \subsection{Variable Documentation} \mbox{\label{osmo__ss7__asp_8c_ac4a2dc86a8a839e40620d701d4346d91}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+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}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{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 osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb(), and ss7\+\_\+asp\+\_\+rx\+\_\+unknown(). \mbox{\label{osmo__ss7__asp_8c_ab43aa0585dd22f2be6a7e0e9c05525a7}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx@{g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx}} \index{g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx@{g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx} {\footnotesize\ttfamily unsigned int g\+\_\+ss7\+\_\+asp\+\_\+rcg\+\_\+idx\hspace{0.3cm}{\ttfamily [static]}} Referenced by ss7\+\_\+asp\+\_\+alloc(). \mbox{\label{osmo__ss7__asp_8c_a41380c47cdda3f98c55d1a93e6071a6b}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals} {\footnotesize\ttfamily struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals[$\,$]} {\bfseries Initial value\+:} \begin{DoxyCode} = \{ \{ OSMO_SS7_ASP_PROT_NONE, \textcolor{stringliteral}{"none"} \}, \{ OSMO_SS7_ASP_PROT_SUA, \textcolor{stringliteral}{"sua"} \}, \{ OSMO_SS7_ASP_PROT_M3UA, \textcolor{stringliteral}{"m3ua"} \}, \{ OSMO_SS7_ASP_PROT_IPA, \textcolor{stringliteral}{"ipa"} \}, \{ 0, NULL \} \} \end{DoxyCode} Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2(), parse\+\_\+asp\+\_\+proto(), show\+\_\+one\+\_\+asp(), vty\+\_\+dump\+\_\+xua\+\_\+server(), write\+\_\+one\+\_\+xua(), and xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7__asp_8c_a617cc4818ccf1e2d74ff0e012975ce30}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names@{osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names@{osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names[$\,$]} {\bfseries Initial value\+:} \begin{DoxyCode} = \{ \{ OSMO_SS7_ASP_ROLE_ASP, \textcolor{stringliteral}{"ASP"} \}, \{ OSMO_SS7_ASP_ROLE_SG, \textcolor{stringliteral}{"SG"} \}, \{ OSMO_SS7_ASP_ROLE_IPSP, \textcolor{stringliteral}{"IPSP"} \}, \{ 0, NULL \} \} \end{DoxyCode} Referenced by show\+\_\+one\+\_\+asp(), and write\+\_\+one\+\_\+asp(). \mbox{\label{osmo__ss7__asp_8c_aa65cb0e6b9446cda8df60956ed12573f}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!prot2port@{prot2port}} \index{prot2port@{prot2port}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{prot2port} {\footnotesize\ttfamily const uint16\+\_\+t prot2port[$\,$]\hspace{0.3cm}{\ttfamily [static]}} {\bfseries Initial value\+:} \begin{DoxyCode} = \{ [OSMO_SS7_ASP_PROT_NONE] = 0, [OSMO_SS7_ASP_PROT_SUA] = SUA_PORT, [OSMO_SS7_ASP_PROT_M3UA] = M3UA_PORT, [OSMO_SS7_ASP_PROT_IPA] = 5000, \} \end{DoxyCode} Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port(). \mbox{\label{osmo__ss7__asp_8c_a3ac2d325579510b627a35bb124b9f978}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!ss7\+\_\+asp\+\_\+rcd@{ss7\+\_\+asp\+\_\+rcd}} \index{ss7\+\_\+asp\+\_\+rcd@{ss7\+\_\+asp\+\_\+rcd}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{ss7\+\_\+asp\+\_\+rcd} {\footnotesize\ttfamily const struct rate\+\_\+ctr\+\_\+desc ss7\+\_\+asp\+\_\+rcd[$\,$]\hspace{0.3cm}{\ttfamily [static]}} {\bfseries Initial value\+:} \begin{DoxyCode} = \{ [SS7_ASP_CTR_PKT_RX_TOTAL] = \{ \textcolor{stringliteral}{"rx:packets:total"}, \textcolor{stringliteral}{"Total number of packets received"} \}, [SS7_ASP_CTR_PKT_RX_UNKNOWN] = \{ \textcolor{stringliteral}{"rx:packets:unknown"}, \textcolor{stringliteral}{"Number of packets received for unknown PPID "} \}, [SS7_ASP_CTR_PKT_TX_TOTAL] = \{ \textcolor{stringliteral}{"tx:packets:total"}, \textcolor{stringliteral}{"Total number of packets transmitted"} \}, \} \end{DoxyCode} \mbox{\label{osmo__ss7__asp_8c_a00129046e2f1da5c1335375de549b25e}} \index{osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}!ss7\+\_\+asp\+\_\+rcgd@{ss7\+\_\+asp\+\_\+rcgd}} \index{ss7\+\_\+asp\+\_\+rcgd@{ss7\+\_\+asp\+\_\+rcgd}!osmo\+\_\+ss7\+\_\+asp.\+c@{osmo\+\_\+ss7\+\_\+asp.\+c}} \subsubsection{ss7\+\_\+asp\+\_\+rcgd} {\footnotesize\ttfamily const struct rate\+\_\+ctr\+\_\+group\+\_\+desc ss7\+\_\+asp\+\_\+rcgd\hspace{0.3cm}{\ttfamily [static]}} {\bfseries Initial value\+:} \begin{DoxyCode} = \{ .group\_name\_prefix = \textcolor{stringliteral}{"sigtran\_asp"}, .group\_description = \textcolor{stringliteral}{"SIGTRAN Application Server Process"}, .num\_ctr = ARRAY\_SIZE(ss7_asp_rcd), .ctr\_desc = ss7_asp_rcd, \} \end{DoxyCode} Referenced by ss7\+\_\+asp\+\_\+alloc().