\section{src/ss7\+\_\+internal.h File Reference} \label{ss7__internal_8h}\index{src/ss7\+\_\+internal.\+h@{src/ss7\+\_\+internal.\+h}} {\ttfamily \#include $<$stdbool.\+h$>$}\newline {\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline \subsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \textbf{ ss7\+\_\+as\+\_\+ctr} \{ \textbf{ S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+R\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL}, \textbf{ S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+T\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL} \} \item enum \textbf{ ss7\+\_\+asp\+\_\+ctr} \{ \textbf{ S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL}, \textbf{ S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+U\+N\+K\+N\+O\+WN}, \textbf{ S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+T\+X\+\_\+\+T\+O\+T\+AL} \} \end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item uint32\+\_\+t \textbf{ ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \item bool \textbf{ ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported} (const char $\ast$host, bool bind) \item struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ ss7\+\_\+as\+\_\+alloc} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto) \begin{DoxyCompactList}\small\item\em Allocate an Application Server. \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 bool \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \item bool \textbf{ ss7\+\_\+asp\+\_\+is\+\_\+started} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \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}\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 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{ 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{ ss7\+\_\+asp\+\_\+m3ua\+\_\+tcp\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb} (struct osmo\+\_\+stream\+\_\+srv $\ast$conn, int res, struct msgb $\ast$msg) \item int \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb} (struct osmo\+\_\+stream\+\_\+srv $\ast$srv) \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 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 bool \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+match\+\_\+host} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, const char $\ast$host, bool host\+\_\+is\+\_\+v6) \item int \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+find\+\_\+host} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, const char $\ast$host) \begin{DoxyCompactList}\small\item\em Find the exact IP address match and return its index in the array. \end{DoxyCompactList}\item bool \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$oxs) \item int \textbf{ xua\+\_\+tcp\+\_\+segmentation\+\_\+cb} (struct msgb $\ast$msg) \end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item bool \textbf{ ss7\+\_\+initialized} \end{DoxyCompactItemize} \subsection{Enumeration Type Documentation} \mbox{\label{ss7__internal_8h_ac6bc66087e1e1f143797c66201b2b67a}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+as\+\_\+ctr@{ss7\+\_\+as\+\_\+ctr}} \index{ss7\+\_\+as\+\_\+ctr@{ss7\+\_\+as\+\_\+ctr}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \subsubsection{ss7\+\_\+as\+\_\+ctr} {\footnotesize\ttfamily enum \textbf{ ss7\+\_\+as\+\_\+ctr}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+R\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL@{S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+R\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}}\index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+R\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL@{S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+R\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL}}}\mbox{\label{ss7__internal_8h_ac6bc66087e1e1f143797c66201b2b67aa26abc32054e575ee149c045750f8cfda}} S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+R\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+T\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL@{S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+T\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}}\index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+T\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL@{S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+T\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL}}}\mbox{\label{ss7__internal_8h_ac6bc66087e1e1f143797c66201b2b67aa9006faf07587c92ebe18200be163e248}} S\+S7\+\_\+\+A\+S\+\_\+\+C\+T\+R\+\_\+\+T\+X\+\_\+\+M\+S\+U\+\_\+\+T\+O\+T\+AL&\\ \hline \end{DoxyEnumFields} \mbox{\label{ss7__internal_8h_a3f27d61521740d6db49dad4f1723740f}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+asp\+\_\+ctr@{ss7\+\_\+asp\+\_\+ctr}} \index{ss7\+\_\+asp\+\_\+ctr@{ss7\+\_\+asp\+\_\+ctr}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \subsubsection{ss7\+\_\+asp\+\_\+ctr} {\footnotesize\ttfamily enum \textbf{ ss7\+\_\+asp\+\_\+ctr}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL@{S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}}\index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL@{S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL}}}\mbox{\label{ss7__internal_8h_a3f27d61521740d6db49dad4f1723740faf196f9f652648a657fbb71ea85ee9a6e}} S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+T\+O\+T\+AL&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+U\+N\+K\+N\+O\+WN@{S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+U\+N\+K\+N\+O\+WN}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}}\index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+U\+N\+K\+N\+O\+WN@{S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+U\+N\+K\+N\+O\+WN}}}\mbox{\label{ss7__internal_8h_a3f27d61521740d6db49dad4f1723740fa941a58a77a392291cbb1da5401e5e592}} S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+R\+X\+\_\+\+U\+N\+K\+N\+O\+WN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+T\+X\+\_\+\+T\+O\+T\+AL@{S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+T\+X\+\_\+\+T\+O\+T\+AL}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}}\index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+T\+X\+\_\+\+T\+O\+T\+AL@{S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+T\+X\+\_\+\+T\+O\+T\+AL}}}\mbox{\label{ss7__internal_8h_a3f27d61521740d6db49dad4f1723740fa11e1cda31329c0e91aaa306e53cf1328}} S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+T\+X\+\_\+\+T\+O\+T\+AL&\\ \hline \end{DoxyEnumFields} \subsection{Function Documentation} \mbox{\label{ss7__internal_8h_af0f3be6036d5c46a6b0a3d8b0075a9c7}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+as\+\_\+alloc@{ss7\+\_\+as\+\_\+alloc}} \index{ss7\+\_\+as\+\_\+alloc@{ss7\+\_\+as\+\_\+alloc}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \subsubsection{ss7\+\_\+as\+\_\+alloc()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as}$\ast$ ss7\+\_\+as\+\_\+alloc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})} Allocate an Application Server. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance on which we operate \\ \hline \mbox{\tt in} & {\em name} & Name of Application Server \\ \hline \mbox{\tt in} & {\em proto} & Protocol of Application Server \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; N\+U\+LL otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+as\+::ctrg, osmo\+\_\+ss7\+\_\+as\+::fi, g\+\_\+ss7\+\_\+as\+\_\+rcg\+\_\+idx, osmo\+\_\+ss7\+\_\+as\+::inst, osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::l\+\_\+rk\+\_\+id, osmo\+\_\+ss7\+\_\+as\+::list, osmo\+\_\+ss7\+\_\+as\+::mode, osmo\+\_\+ss7\+\_\+as\+::name, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE, osmo\+\_\+ss7\+\_\+as\+::proto, osmo\+\_\+ss7\+\_\+as\+::recovery\+\_\+timeout\+\_\+msec, osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key, ss7\+\_\+as\+\_\+rcgd, ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id(), and xua\+\_\+as\+\_\+fsm\+\_\+start(). Referenced by osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create(). \mbox{\label{ss7__internal_8h_aedca24dd60b379f21cbd5fa7ad068b45}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+asp\+\_\+alloc@{ss7\+\_\+asp\+\_\+alloc}} \index{ss7\+\_\+asp\+\_\+alloc@{ss7\+\_\+asp\+\_\+alloc}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_ab2e3375ff5198011e7ceefbee4437d8f}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a9082d03ccf3139e50b5d7b2fc3fa568b}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a52c416a02307b3f013953bcd6b61bee0}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a1c6f3d525c04eb8553784c922f9c1d03}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address@{ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address}} \index{ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address@{ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a3f7db5640fd9a0527d7047f0712d26ba}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a5de79890dc6ede1c9e7ace712c931d25}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+asp\+\_\+get\+\_\+fd@{ss7\+\_\+asp\+\_\+get\+\_\+fd}} \index{ss7\+\_\+asp\+\_\+get\+\_\+fd@{ss7\+\_\+asp\+\_\+get\+\_\+fd}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a5e519b620f7c928c97b7a01335c05fc4}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a07c4798f0de92e03f7cc41966d8f764b}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+asp\+\_\+is\+\_\+started@{ss7\+\_\+asp\+\_\+is\+\_\+started}} \index{ss7\+\_\+asp\+\_\+is\+\_\+started@{ss7\+\_\+asp\+\_\+is\+\_\+started}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a095143f4df1d1a70501a01dfa264156b}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a0a07753e2dbb45fb36558c64e6bac1a8}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+asp\+\_\+peer\+\_\+find\+\_\+host@{ss7\+\_\+asp\+\_\+peer\+\_\+find\+\_\+host}} \index{ss7\+\_\+asp\+\_\+peer\+\_\+find\+\_\+host@{ss7\+\_\+asp\+\_\+peer\+\_\+find\+\_\+host}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \subsubsection{ss7\+\_\+asp\+\_\+peer\+\_\+find\+\_\+host()} {\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+peer\+\_\+find\+\_\+host (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer, }\item[{const char $\ast$}]{host }\end{DoxyParamCaption})} Find the exact IP address match and return its index in the array. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em peer} & Application Server Process peer where the address is looked up. \\ \hline \mbox{\tt in} & {\em host} & string containing an IP address. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} $>$=0 on success containing the index of the host; negative otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, and osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(). \mbox{\label{ss7__internal_8h_ac6cb83500d201029a2e6917efaa5104e}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+asp\+\_\+peer\+\_\+match\+\_\+host@{ss7\+\_\+asp\+\_\+peer\+\_\+match\+\_\+host}} \index{ss7\+\_\+asp\+\_\+peer\+\_\+match\+\_\+host@{ss7\+\_\+asp\+\_\+peer\+\_\+match\+\_\+host}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \subsubsection{ss7\+\_\+asp\+\_\+peer\+\_\+match\+\_\+host()} {\footnotesize\ttfamily bool ss7\+\_\+asp\+\_\+peer\+\_\+match\+\_\+host (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer, }\item[{const char $\ast$}]{host, }\item[{bool}]{host\+\_\+is\+\_\+v6 }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, and host\+\_\+is\+\_\+ip\+\_\+anyaddr(). Referenced by ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr(). \mbox{\label{ss7__internal_8h_ab724de8a87c368b6211fcebec8bebd18}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_afa91ee594ac4b3408e12e0533dc89e9f}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a0f5475d54d10cb369601915dc9ff558a}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a4da7b1ad0032f16bbd55773894334cd5}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_abe05c4208f5af9d0cc05e881497871a0}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!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\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a6ecdf4b66511e0d65caedeab81f3f4d3}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id@{ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id}} \index{ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id@{ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \subsubsection{ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id()} {\footnotesize\ttfamily uint32\+\_\+t ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References next\+\_\+l\+\_\+rk\+\_\+id, and osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id(). Referenced by ss7\+\_\+as\+\_\+alloc(). \mbox{\label{ss7__internal_8h_a477fa52a1c6b284e17f273c52dbb594c}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported@{ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported}} \index{ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported@{ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \subsubsection{ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported()} {\footnotesize\ttfamily bool ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported (\begin{DoxyParamCaption}\item[{const char $\ast$}]{host, }\item[{bool}]{bind }\end{DoxyParamCaption})} Referenced by ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts(), and ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts(). \mbox{\label{ss7__internal_8h_a9bffae77f1a675fbe61bd792d646c474}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts@{ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts}} \index{ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts@{ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \subsubsection{ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts()} {\footnotesize\ttfamily bool ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{oxs }\end{DoxyParamCaption})} References osmo\+\_\+xua\+\_\+server\+::cfg, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+xua\+\_\+server\+::local, osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host(), and ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported(). Referenced by osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent(). \mbox{\label{ss7__internal_8h_a8491be4c7f509461cc8b28cbb27bf0a1}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!xua\+\_\+tcp\+\_\+segmentation\+\_\+cb@{xua\+\_\+tcp\+\_\+segmentation\+\_\+cb}} \index{xua\+\_\+tcp\+\_\+segmentation\+\_\+cb@{xua\+\_\+tcp\+\_\+segmentation\+\_\+cb}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \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{ss7__internal_8h_a78806f653f55e3d87d93650a55b5f70a}} \index{ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}!ss7\+\_\+initialized@{ss7\+\_\+initialized}} \index{ss7\+\_\+initialized@{ss7\+\_\+initialized}!ss7\+\_\+internal.\+h@{ss7\+\_\+internal.\+h}} \subsubsection{ss7\+\_\+initialized} {\footnotesize\ttfamily bool ss7\+\_\+initialized} Referenced by osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp(), osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp(), osmo\+\_\+ss7\+\_\+as\+\_\+destroy(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp(), osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), osmo\+\_\+ss7\+\_\+asp\+\_\+find2(), osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name(), osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2(), osmo\+\_\+ss7\+\_\+asp\+\_\+restart(), osmo\+\_\+ss7\+\_\+asp\+\_\+send(), osmo\+\_\+ss7\+\_\+init(), osmo\+\_\+ss7\+\_\+instance\+\_\+destroy(), osmo\+\_\+ss7\+\_\+instance\+\_\+find(), osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+link\+\_\+destroy(), osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy(), osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name(), osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local(), osmo\+\_\+ss7\+\_\+route\+\_\+create(), osmo\+\_\+ss7\+\_\+route\+\_\+destroy(), osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc(), osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask(), osmo\+\_\+ss7\+\_\+route\+\_\+lookup(), osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find(), osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts(), and ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr().