\doxysection{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
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ROUTE\+\_\+\+PRIO\+\_\+\+DEFAULT}~5
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ ss7\+\_\+as\+\_\+ctr} \{ \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+TOTAL}
, \textbf{ SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+TOTAL}
 \}
\item 
enum \textbf{ ss7\+\_\+asp\+\_\+ctr} \{ \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}
, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+UNKNOWN}
, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+TX\+\_\+\+TOTAL}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{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 ASP. \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 ASP definition matching the local+remote IP/\+PORT 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)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+route\+\_\+alloc} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t pc, uint32\+\_\+t mask)
\begin{DoxyCompactList}\small\item\em Allocate a route entry. \end{DoxyCompactList}\item 
int \textbf{ ss7\+\_\+route\+\_\+set\+\_\+linkset} (struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt, const char $\ast$linkset\+\_\+name)
\begin{DoxyCompactList}\small\item\em Set linkset on route entry. \end{DoxyCompactList}\item 
int \textbf{ ss7\+\_\+route\+\_\+insert} (struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt)
\begin{DoxyCompactList}\small\item\em Insert route into its routing table. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
bool \textbf{ ss7\+\_\+initialized}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{ss7__internal_8h_a203ea4f16e9c9f19abcdab98cf1ca111}} 
\index{ss7\_internal.h@{ss7\_internal.h}!OSMO\_SS7\_ROUTE\_PRIO\_DEFAULT@{OSMO\_SS7\_ROUTE\_PRIO\_DEFAULT}}
\index{OSMO\_SS7\_ROUTE\_PRIO\_DEFAULT@{OSMO\_SS7\_ROUTE\_PRIO\_DEFAULT}!ss7\_internal.h@{ss7\_internal.h}}
\doxysubsubsection{OSMO\_SS7\_ROUTE\_PRIO\_DEFAULT}
{\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+ROUTE\+\_\+\+PRIO\+\_\+\+DEFAULT~5}



\doxysubsection{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}}
\doxysubsubsection{ss7\_as\_ctr}
{\footnotesize\ttfamily enum \textbf{ ss7\+\_\+as\+\_\+ctr}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_RX\_MSU\_TOTAL@{SS7\_AS\_CTR\_RX\_MSU\_TOTAL}!ss7\_internal.h@{ss7\_internal.h}}\index{ss7\_internal.h@{ss7\_internal.h}!SS7\_AS\_CTR\_RX\_MSU\_TOTAL@{SS7\_AS\_CTR\_RX\_MSU\_TOTAL}}}\mbox{\label{ss7__internal_8h_ac6bc66087e1e1f143797c66201b2b67aa26abc32054e575ee149c045750f8cfda}} 
SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+RX\+\_\+\+MSU\+\_\+\+TOTAL&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_AS\_CTR\_TX\_MSU\_TOTAL@{SS7\_AS\_CTR\_TX\_MSU\_TOTAL}!ss7\_internal.h@{ss7\_internal.h}}\index{ss7\_internal.h@{ss7\_internal.h}!SS7\_AS\_CTR\_TX\_MSU\_TOTAL@{SS7\_AS\_CTR\_TX\_MSU\_TOTAL}}}\mbox{\label{ss7__internal_8h_ac6bc66087e1e1f143797c66201b2b67aa9006faf07587c92ebe18200be163e248}} 
SS7\+\_\+\+AS\+\_\+\+CTR\+\_\+\+TX\+\_\+\+MSU\+\_\+\+TOTAL&\\
\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}}
\doxysubsubsection{ss7\_asp\_ctr}
{\footnotesize\ttfamily enum \textbf{ ss7\+\_\+asp\+\_\+ctr}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_ASP\_CTR\_PKT\_RX\_TOTAL@{SS7\_ASP\_CTR\_PKT\_RX\_TOTAL}!ss7\_internal.h@{ss7\_internal.h}}\index{ss7\_internal.h@{ss7\_internal.h}!SS7\_ASP\_CTR\_PKT\_RX\_TOTAL@{SS7\_ASP\_CTR\_PKT\_RX\_TOTAL}}}\mbox{\label{ss7__internal_8h_a3f27d61521740d6db49dad4f1723740faf196f9f652648a657fbb71ea85ee9a6e}} 
SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_ASP\_CTR\_PKT\_RX\_UNKNOWN@{SS7\_ASP\_CTR\_PKT\_RX\_UNKNOWN}!ss7\_internal.h@{ss7\_internal.h}}\index{ss7\_internal.h@{ss7\_internal.h}!SS7\_ASP\_CTR\_PKT\_RX\_UNKNOWN@{SS7\_ASP\_CTR\_PKT\_RX\_UNKNOWN}}}\mbox{\label{ss7__internal_8h_a3f27d61521740d6db49dad4f1723740fa941a58a77a392291cbb1da5401e5e592}} 
SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+UNKNOWN&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_ASP\_CTR\_PKT\_TX\_TOTAL@{SS7\_ASP\_CTR\_PKT\_TX\_TOTAL}!ss7\_internal.h@{ss7\_internal.h}}\index{ss7\_internal.h@{ss7\_internal.h}!SS7\_ASP\_CTR\_PKT\_TX\_TOTAL@{SS7\_ASP\_CTR\_PKT\_TX\_TOTAL}}}\mbox{\label{ss7__internal_8h_a3f27d61521740d6db49dad4f1723740fa11e1cda31329c0e91aaa306e53cf1328}} 
SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+TX\+\_\+\+TOTAL&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\label{ss7__internal_8h_ab5cd3d471c6ef8678829cee97c60014c}} 
\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}}
\doxysubsubsection{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{\texttt{ in}}  & {\em inst} & SS7 Instance on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Name of Application Server \\
\hline
\mbox{\texttt{ in}}  & {\em proto} & Protocol of Application Server \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to Application Server on success; NULL otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, \textbf{ g\+\_\+ss7\+\_\+as\+\_\+rcg\+\_\+idx}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::l\+\_\+rk\+\_\+id}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::recovery\+\_\+timeout\+\_\+msec}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}, \textbf{ ss7\+\_\+as\+\_\+rcgd}, \textbf{ ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id()}, and \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+start()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}.

\mbox{\label{ss7__internal_8h_ac3d6291887a658d39aa55ec3b229acc2}} 
\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}}
\doxysubsubsection{ss7\_asp\_alloc()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ ss7\+\_\+asp\+\_\+alloc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name,  }\item[{uint16\+\_\+t}]{remote\+\_\+port,  }\item[{uint16\+\_\+t}]{local\+\_\+port,  }\item[{int}]{trans\+\_\+proto,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



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



Referenced by \textbf{ 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}}
\doxysubsubsection{ss7\_asp\_apply\_drop\_local\_address()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+apply\+\_\+drop\+\_\+local\+\_\+address (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{unsigned int}]{loc\+\_\+idx }\end{DoxyParamCaption})}



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



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

\mbox{\label{ss7__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}}
\doxysubsubsection{ss7\_asp\_apply\_new\_local\_address()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+apply\+\_\+new\+\_\+local\+\_\+address (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{unsigned int}]{loc\+\_\+idx }\end{DoxyParamCaption})}



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



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

\mbox{\label{ss7__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}}
\doxysubsubsection{ss7\_asp\_apply\_peer\_primary\_address()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+apply\+\_\+peer\+\_\+primary\+\_\+address (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



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



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

\mbox{\label{ss7__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}}
\doxysubsubsection{ss7\_asp\_apply\_primary\_address()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



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



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

\mbox{\label{ss7__internal_8h_a1da88f0bc9afa17b8797c806178749c0}} 
\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}}
\doxysubsubsection{ss7\_asp\_find\_by\_socket\_addr()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr (\begin{DoxyParamCaption}\item[{int}]{fd,  }\item[{int}]{trans\+\_\+proto }\end{DoxyParamCaption})}



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


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


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



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

\mbox{\label{ss7__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}}
\doxysubsubsection{ss7\_asp\_get\_fd()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+get\+\_\+fd (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the fd of a given ASP. 


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


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



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

\mbox{\label{ss7__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}}
\doxysubsubsection{ss7\_asp\_ipa\_srv\_conn\_rx\_cb()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+ipa\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+srv $\ast$}]{conn,  }\item[{int}]{res,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



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



Referenced by \textbf{ 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}}
\doxysubsubsection{ss7\_asp\_is\_started()}
{\footnotesize\ttfamily bool ss7\+\_\+asp\+\_\+is\+\_\+started (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



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



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

\mbox{\label{ss7__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}}
\doxysubsubsection{ss7\_asp\_m3ua\_tcp\_srv\_conn\_rx\_cb()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+m3ua\+\_\+tcp\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+srv $\ast$}]{conn,  }\item[{int}]{res,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ xua\+\_\+common\+\_\+hdr\+::data}, \textbf{ M3\+UA\+\_\+\+MSGC\+\_\+\+XFER}, \textbf{ m3ua\+\_\+rx\+\_\+msg()}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, and \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}.



Referenced by \textbf{ 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}}
\doxysubsubsection{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{\texttt{ in}}  & {\em peer} & Application Server Process peer where the address is looked up. \\
\hline
\mbox{\texttt{ 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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}.



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

\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}}
\doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, and \textbf{ host\+\_\+is\+\_\+ip\+\_\+anyaddr()}.



Referenced by \textbf{ 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}}
\doxysubsubsection{ss7\_asp\_protocol\_check\_trans\_proto()}
{\footnotesize\ttfamily bool ss7\+\_\+asp\+\_\+protocol\+\_\+check\+\_\+trans\+\_\+proto (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto,  }\item[{int}]{trans\+\_\+proto }\end{DoxyParamCaption})}



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



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()}, and \textbf{ 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}}
\doxysubsubsection{ss7\_asp\_set\_default\_peer\_hosts()}
{\footnotesize\ttfamily bool ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



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



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ 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}}
\doxysubsubsection{ss7\_asp\_xua\_srv\_conn\_closed\_cb()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+srv $\ast$}]{srv }\end{DoxyParamCaption})}



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



Referenced by \textbf{ 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}}
\doxysubsubsection{ss7\_asp\_xua\_srv\_conn\_rx\_cb()}
{\footnotesize\ttfamily int ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+srv $\ast$}]{conn,  }\item[{int}]{res,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



References \textbf{ asp\+\_\+handle\+\_\+sctp\+\_\+notif\+\_\+monitor\+\_\+primary\+\_\+address()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ log\+\_\+sctp\+\_\+notification()}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+PPID}, \textbf{ m3ua\+\_\+rx\+\_\+msg()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ OSMO\+\_\+\+XLM\+\_\+\+PRIM\+\_\+\+M\+\_\+\+SCTP\+\_\+\+RESTART}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL}, \textbf{ ss7\+\_\+asp\+\_\+rx\+\_\+unknown()}, \textbf{ SUA\+\_\+\+PPID}, \textbf{ sua\+\_\+rx\+\_\+msg()}, and \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple()}.



Referenced by \textbf{ 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}}
\doxysubsubsection{ss7\_default\_trans\_proto\_for\_asp\_proto()}
{\footnotesize\ttfamily int ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



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



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find()}, \textbf{ write\+\_\+one\+\_\+asp()}, and \textbf{ 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}}
\doxysubsubsection{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 \textbf{ next\+\_\+l\+\_\+rk\+\_\+id}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id()}.



Referenced by \textbf{ 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}}
\doxysubsubsection{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 \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts()}.

\mbox{\label{ss7__internal_8h_ae40a7c0d3c3310101a0cc8c0d51770d2}} 
\index{ss7\_internal.h@{ss7\_internal.h}!ss7\_route\_alloc@{ss7\_route\_alloc}}
\index{ss7\_route\_alloc@{ss7\_route\_alloc}!ss7\_internal.h@{ss7\_internal.h}}
\doxysubsubsection{ss7\_route\_alloc()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+route\+\_\+alloc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{pc,  }\item[{uint32\+\_\+t}]{mask }\end{DoxyParamCaption})}



Allocate a route entry. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em rtbl} & Routing Table where the route belongs \\
\hline
\mbox{\texttt{ in}}  & {\em pc} & Point Code of the destination of the route \\
\hline
\mbox{\texttt{ in}}  & {\em mask} & Mask of the destination Point Code pc \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Allocated route (not yet inserted into its rtbl), NULL on error
\end{DoxyReturn}
The returned route has no linkset associated yet, user {\itshape must} associate it using API \doxyref{ss7\+\_\+route\+\_\+set\+\_\+linkset()}{p.}{osmo__ss7_8c_a46ccd2320c3e917d0e9bef6b90e78601} before inserting the route into its routing table.

Fields priority and qos\+\_\+class may be set {\itshape before} inserting the route into its routing table\+:
\begin{DoxyItemize}
\item A default priority of 0 is configured on the route.
\item A default qos-\/class of 0 is configured on the route.
\end{DoxyItemize}

Use API \doxyref{ss7\+\_\+route\+\_\+insert()}{p.}{osmo__ss7_8c_acf75f3605c463d7c4cef4e73257194ab} to insert the route into its routing table.

The route entry allocated with this API can be destroyed/freed at any point using API \doxyref{osmo\+\_\+ss7\+\_\+route\+\_\+destroy()}{p.}{osmo__ss7_8c_a2e5f54771a9bb3a14a5aea6b19d99922}, regardless of it being already inserted or not in its routing table. 

References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ROUTE\+\_\+\+PRIO\+\_\+\+DEFAULT}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::priority}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}.

\mbox{\label{ss7__internal_8h_acf75f3605c463d7c4cef4e73257194ab}} 
\index{ss7\_internal.h@{ss7\_internal.h}!ss7\_route\_insert@{ss7\_route\_insert}}
\index{ss7\_route\_insert@{ss7\_route\_insert}!ss7\_internal.h@{ss7\_internal.h}}
\doxysubsubsection{ss7\_route\_insert()}
{\footnotesize\ttfamily int ss7\+\_\+route\+\_\+insert (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})}



Insert route into its routing table. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em rt} & Route to be inserted into its routing table \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, negative on error
\end{DoxyReturn}
A route is only really used once it has been inserted into its routing table. 

References \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset\+\_\+name}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ route\+\_\+insert\+\_\+sorted()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, and \textbf{ ss7\+\_\+route\+\_\+inserted()}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}.

\mbox{\label{ss7__internal_8h_a46ccd2320c3e917d0e9bef6b90e78601}} 
\index{ss7\_internal.h@{ss7\_internal.h}!ss7\_route\_set\_linkset@{ss7\_route\_set\_linkset}}
\index{ss7\_route\_set\_linkset@{ss7\_route\_set\_linkset}!ss7\_internal.h@{ss7\_internal.h}}
\doxysubsubsection{ss7\_route\_set\_linkset()}
{\footnotesize\ttfamily int ss7\+\_\+route\+\_\+set\+\_\+linkset (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt,  }\item[{const char $\ast$}]{linkset\+\_\+name }\end{DoxyParamCaption})}



Set linkset on route entry. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em rt} & Route to be configured \\
\hline
\mbox{\texttt{ in}}  & {\em linkset\+\_\+name} & string name of the linkset to be used \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, negative on error. 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset\+\_\+name}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, and \textbf{ ss7\+\_\+route\+\_\+inserted()}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}.

\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}}
\doxysubsubsection{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 \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host()}, and \textbf{ ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported()}.



Referenced by \textbf{ 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}}
\doxysubsubsection{xua\_tcp\_segmentation\_cb()}
{\footnotesize\ttfamily int xua\+\_\+tcp\+\_\+segmentation\+\_\+cb (\begin{DoxyParamCaption}\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



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



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



\doxysubsection{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}}
\doxysubsubsection{ss7\_initialized}
{\footnotesize\ttfamily bool ss7\+\_\+initialized\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+send()}, \textbf{ osmo\+\_\+ss7\+\_\+init()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts()}, \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr()}, and \textbf{ ss7\+\_\+route\+\_\+alloc()}.

