\doxysection{src/ss7.c File Reference}
\label{ss7_8c}\index{src/ss7.c@{src/ss7.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/netif/stream.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/netif/ipa.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/netif/sctp.\+h$>$}\newline
{\ttfamily \#include "{}sccp\+\_\+scoc\+\_\+fsm.\+h"{}}\newline
{\ttfamily \#include "{}sccp\+\_\+internal.\+h"{}}\newline
{\ttfamily \#include "{}xua\+\_\+internal.\+h"{}}\newline
{\ttfamily \#include "{}ss7\+\_\+as.\+h"{}}\newline
{\ttfamily \#include "{}ss7\+\_\+asp.\+h"{}}\newline
{\ttfamily \#include "{}ss7\+\_\+internal.\+h"{}}\newline
{\ttfamily \#include "{}ss7\+\_\+linkset.\+h"{}}\newline
{\ttfamily \#include "{}ss7\+\_\+route.\+h"{}}\newline
{\ttfamily \#include "{}ss7\+\_\+route\+\_\+table.\+h"{}}\newline
{\ttfamily \#include "{}xua\+\_\+asp\+\_\+fsm.\+h"{}}\newline
{\ttfamily \#include "{}xua\+\_\+as\+\_\+fsm.\+h"{}}\newline
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ LLIST\+\_\+\+HEAD} (\textbf{ osmo\+\_\+ss7\+\_\+instances})
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instances\+\_\+llist\+\_\+entry} (struct llist\+\_\+head $\ast$list)
\item 
uint8\+\_\+t \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt)
\item 
uint32\+\_\+t \textbf{ ss7\+\_\+pc\+\_\+full\+\_\+mask} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt)
\item 
uint32\+\_\+t \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt, uint32\+\_\+t \textbf{ pc})
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find} (uint32\+\_\+t id)
\begin{DoxyCompactList}\small\item\em Find a SS7 Instance with given ID. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create} (void $\ast$ctx, uint32\+\_\+t id)
\begin{DoxyCompactList}\small\item\em Find or create a SS7 Instance. \end{DoxyCompactList}\item 
bool \textbf{ ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported} (const char $\ast$host, bool bind)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+init} (void)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua} (enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} tmod)
\item 
enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} \textbf{ osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua} (uint32\+\_\+t in)
\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
bool \textbf{ ss7\+\_\+initialized} = false
\item 
const struct value\+\_\+string \textbf{ mtp\+\_\+unavail\+\_\+cause\+\_\+vals} [$\,$]
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\label{ss7_8c_a9f0ebdc6d2b270403d8616275fa12314} 
\index{ss7.c@{ss7.c}!LLIST\_HEAD@{LLIST\_HEAD}}
\index{LLIST\_HEAD@{LLIST\_HEAD}!ss7.c@{ss7.c}}
\doxysubsubsection{LLIST\_HEAD()}
{\footnotesize\ttfamily LLIST\+\_\+\+HEAD (\begin{DoxyParamCaption}\item[{\textbf{ osmo\+\_\+ss7\+\_\+instances}}]{ }\end{DoxyParamCaption})}

\label{ss7_8c_aa0eea948b1e7bbb0764ecc89e5b2a124} 
\index{ss7.c@{ss7.c}!osmo\_ss7\_init@{osmo\_ss7\_init}}
\index{osmo\_ss7\_init@{osmo\_ss7\_init}!ss7.c@{ss7.c}}
\doxysubsubsection{osmo\_ss7\_init()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



References \textbf{ ipa\+\_\+asp\+\_\+fsm}, \textbf{ sccp\+\_\+scoc\+\_\+fsm}, \textbf{ ss7\+\_\+initialized}, \textbf{ xua\+\_\+as\+\_\+fsm}, \textbf{ xua\+\_\+asp\+\_\+fsm}, and \textbf{ xua\+\_\+default\+\_\+lm\+\_\+fsm}.

\label{ss7_8c_ac60e71c943c7bff06a27813c2b5ca6c0} 
\index{ss7.c@{ss7.c}!osmo\_ss7\_instance\_find@{osmo\_ss7\_instance\_find}}
\index{osmo\_ss7\_instance\_find@{osmo\_ss7\_instance\_find}!ss7.c@{ss7.c}}
\doxysubsubsection{osmo\_ss7\_instance\_find()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ osmo\+\_\+ss7\+\_\+instance\+\_\+find (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})}



Find a SS7 Instance with given ID. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em id} & ID for which to search \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxyref{osmo\+\_\+ss7\+\_\+instance}{p.}{structosmo__ss7__instance} on success; NULL on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+instances}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ show\+\_\+as()}, \textbf{ show\+\_\+asp()}, \textbf{ show\+\_\+asp\+\_\+assoc\+\_\+status()}, and \textbf{ show\+\_\+asp\+\_\+remaddr()}.

\label{ss7_8c_a950f22310d21bb0e18e65b6405b1c135} 
\index{ss7.c@{ss7.c}!osmo\_ss7\_instance\_find\_or\_create@{osmo\_ss7\_instance\_find\_or\_create}}
\index{osmo\_ss7\_instance\_find\_or\_create@{osmo\_ss7\_instance\_find\_or\_create}!ss7.c@{ss7.c}}
\doxysubsubsection{osmo\_ss7\_instance\_find\_or\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})}



Find or create a SS7 Instance. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ctx} & talloc allocation context to use for allocations \\
\hline
\mbox{\texttt{ in}}  & {\em id} & ID of SS7 Instance \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxyref{osmo\+\_\+ss7\+\_\+instance}{p.}{structosmo__ss7__instance} on success; NULL on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ ss7\+\_\+instance\+\_\+alloc()}.



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

\label{ss7_8c_af658b1a5dd0dc4ba7eb604f1810e05ab} 
\index{ss7.c@{ss7.c}!osmo\_ss7\_instances\_llist\_entry@{osmo\_ss7\_instances\_llist\_entry}}
\index{osmo\_ss7\_instances\_llist\_entry@{osmo\_ss7\_instances\_llist\_entry}!ss7.c@{ss7.c}}
\doxysubsubsection{osmo\_ss7\_instances\_llist\_entry()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ osmo\+\_\+ss7\+\_\+instances\+\_\+llist\+\_\+entry (\begin{DoxyParamCaption}\item[{struct llist\+\_\+head $\ast$}]{list }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}.

\label{ss7_8c_a63840039b641779d68a0010bc7f24fd5} 
\index{ss7.c@{ss7.c}!osmo\_ss7\_pc\_normalize@{osmo\_ss7\_pc\_normalize}}
\index{osmo\_ss7\_pc\_normalize@{osmo\_ss7\_pc\_normalize}!ss7.c@{ss7.c}}
\doxysubsubsection{osmo\_ss7\_pc\_normalize()}
{\footnotesize\ttfamily uint32\+\_\+t osmo\+\_\+ss7\+\_\+pc\+\_\+normalize (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt,  }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})}



References \textbf{ pc}, and \textbf{ ss7\+\_\+pc\+\_\+full\+\_\+mask()}.



Referenced by \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+alloc()}, \textbf{ ss7\+\_\+route\+\_\+alloc()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc\+\_\+mask()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask\+\_\+as()}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route()}.

\label{ss7_8c_a9cc83a7969a30ca6748f27cf0b442e5e} 
\index{ss7.c@{ss7.c}!osmo\_ss7\_pc\_width@{osmo\_ss7\_pc\_width}}
\index{osmo\_ss7\_pc\_width@{osmo\_ss7\_pc\_width}!ss7.c@{ss7.c}}
\doxysubsubsection{osmo\_ss7\_pc\_width()}
{\footnotesize\ttfamily uint8\+\_\+t osmo\+\_\+ss7\+\_\+pc\+\_\+width (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}.



Referenced by \textbf{ get\+\_\+pc\+\_\+comp\+\_\+shift()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}, and \textbf{ ss7\+\_\+pc\+\_\+full\+\_\+mask()}.

\label{ss7_8c_af325ee0eb2ff3e3df09cc7e49b6bb6b9} 
\index{ss7.c@{ss7.c}!osmo\_ss7\_tmode\_from\_xua@{osmo\_ss7\_tmode\_from\_xua}}
\index{osmo\_ss7\_tmode\_from\_xua@{osmo\_ss7\_tmode\_from\_xua}!ss7.c@{ss7.c}}
\doxysubsubsection{osmo\_ss7\_tmode\_from\_xua()}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{in }\end{DoxyParamCaption})}



References \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}.



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

\label{ss7_8c_a41c5d0c1bcae4257834073d3c109f12c} 
\index{ss7.c@{ss7.c}!osmo\_ss7\_tmode\_to\_xua@{osmo\_ss7\_tmode\_to\_xua}}
\index{osmo\_ss7\_tmode\_to\_xua@{osmo\_ss7\_tmode\_to\_xua}!ss7.c@{ss7.c}}
\doxysubsubsection{osmo\_ss7\_tmode\_to\_xua()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode}}]{tmod }\end{DoxyParamCaption})}



References \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+ROUNDROBIN}.



Referenced by \textbf{ peer\+\_\+send()}, and \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req()}.

\label{ss7_8c_a477fa52a1c6b284e17f273c52dbb594c} 
\index{ss7.c@{ss7.c}!ss7\_ipv6\_sctp\_supported@{ss7\_ipv6\_sctp\_supported}}
\index{ss7\_ipv6\_sctp\_supported@{ss7\_ipv6\_sctp\_supported}!ss7.c@{ss7.c}}
\doxysubsubsection{ss7\_ipv6\_sctp\_supported()}
{\footnotesize\ttfamily bool ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported (\begin{DoxyParamCaption}\item[{const char $\ast$}]{host,  }\item[{bool}]{bind }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, and \textbf{ NULL}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts()}.

\label{ss7_8c_a3a85ac1d421edcbaaac75f452f6b2e08} 
\index{ss7.c@{ss7.c}!ss7\_pc\_full\_mask@{ss7\_pc\_full\_mask}}
\index{ss7\_pc\_full\_mask@{ss7\_pc\_full\_mask}!ss7.c@{ss7.c}}
\doxysubsubsection{ss7\_pc\_full\_mask()}
{\footnotesize\ttfamily uint32\+\_\+t ss7\+\_\+pc\+\_\+full\+\_\+mask (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, and \textbf{ ss7\+\_\+route\+\_\+is\+\_\+fully\+\_\+qualified()}.



\doxysubsection{Variable Documentation}
\label{ss7_8c_aa7ef388acf6473b86619b4eea1ce9654} 
\index{ss7.c@{ss7.c}!mtp\_unavail\_cause\_vals@{mtp\_unavail\_cause\_vals}}
\index{mtp\_unavail\_cause\_vals@{mtp\_unavail\_cause\_vals}!ss7.c@{ss7.c}}
\doxysubsubsection{mtp\_unavail\_cause\_vals}
{\footnotesize\ttfamily const struct value\+\_\+string mtp\+\_\+unavail\+\_\+cause\+\_\+vals[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=\ \{}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \{\ MTP\_UNAVAIL\_C\_UNKNOWN,\ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}unknown"{}}\ \},}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \{\ MTP\_UNAVAIL\_C\_UNEQUIP\_REM\_USER,\ \textcolor{stringliteral}{"{}unequipped-\/remote-\/user"{}}\ \},}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \{\ MTP\_UNAVAIL\_C\_INACC\_REM\_USER,\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}inaccessible-\/remote-\/user"{}}\ \},}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \{\ 0,\ NULL\ \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ mtp\+\_\+unavail\+\_\+cause\+\_\+str()}.

\label{ss7_8c_a78806f653f55e3d87d93650a55b5f70a} 
\index{ss7.c@{ss7.c}!ss7\_initialized@{ss7\_initialized}}
\index{ss7\_initialized@{ss7\_initialized}!ss7.c@{ss7.c}}
\doxysubsubsection{ss7\_initialized}
{\footnotesize\ttfamily bool ss7\+\_\+initialized = false}



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\+\_\+pc\+\_\+is\+\_\+local()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup()}, \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr()}, \textbf{ ss7\+\_\+instance\+\_\+lookup\+\_\+route()}, \textbf{ ss7\+\_\+link\+\_\+destroy()}, \textbf{ ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ ss7\+\_\+linkset\+\_\+destroy()}, \textbf{ ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ ss7\+\_\+route\+\_\+alloc()}, \textbf{ ss7\+\_\+route\+\_\+destroy()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc\+\_\+mask()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask\+\_\+as()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+find2()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts()}.

