\doxysection{src/ss7\+\_\+instance.h File Reference}
\label{ss7__instance_8h}\index{src/ss7\_instance.h@{src/ss7\_instance.h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$stdbool.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+instance}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ \+\_\+\+LOGSS7}(inst,  subsys,  level,  fmt,  args ...)~ LOGP(subsys, level, \char`\"{}\%u\+: \char`\"{} fmt, inst ? (inst)-\/$>$cfg.\+id \+: 0, \#\# args)
\item 
\#define \textbf{ LOGSS7}(inst,  level,  fmt,  args ...)~ \textbf{ \+\_\+\+LOGSS7}(inst, DLSS7, level, fmt, \#\# args)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ ss7\+\_\+instance\+\_\+alloc} (void $\ast$ctx, uint32\+\_\+t id)
\item 
uint32\+\_\+t \textbf{ ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+instance\+\_\+lookup\+\_\+route} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$rtlabel)
\begin{DoxyCompactList}\small\item\em Find a SS7 route for given destination point code in given SS7. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{ss7__instance_8h_af5807da1745319c92a7d5bba0a39f07c}} 
\index{ss7\_instance.h@{ss7\_instance.h}!\_LOGSS7@{\_LOGSS7}}
\index{\_LOGSS7@{\_LOGSS7}!ss7\_instance.h@{ss7\_instance.h}}
\doxysubsubsection{\_LOGSS7}
{\footnotesize\ttfamily \#define \+\_\+\+LOGSS7(\begin{DoxyParamCaption}\item[{}]{inst,  }\item[{}]{subsys,  }\item[{}]{level,  }\item[{}]{fmt,  }\item[{}]{args ... }\end{DoxyParamCaption})~ LOGP(subsys, level, \char`\"{}\%u\+: \char`\"{} fmt, inst ? (inst)-\/$>$cfg.\+id \+: 0, \#\# args)}

\mbox{\label{ss7__instance_8h_aec14b54ffb5b79dcfd0e4eb5931e0ff6}} 
\index{ss7\_instance.h@{ss7\_instance.h}!LOGSS7@{LOGSS7}}
\index{LOGSS7@{LOGSS7}!ss7\_instance.h@{ss7\_instance.h}}
\doxysubsubsection{LOGSS7}
{\footnotesize\ttfamily \#define LOGSS7(\begin{DoxyParamCaption}\item[{}]{inst,  }\item[{}]{level,  }\item[{}]{fmt,  }\item[{}]{args ... }\end{DoxyParamCaption})~ \textbf{ \+\_\+\+LOGSS7}(inst, DLSS7, level, fmt, \#\# args)}



\doxysubsection{Function Documentation}
\mbox{\label{ss7__instance_8h_a6ecdf4b66511e0d65caedeab81f3f4d3}} 
\index{ss7\_instance.h@{ss7\_instance.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\_instance.h@{ss7\_instance.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__instance_8h_afc494c6614b4d872e414b662ae23baf7}} 
\index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_alloc@{ss7\_instance\_alloc}}
\index{ss7\_instance\_alloc@{ss7\_instance\_alloc}!ss7\_instance.h@{ss7\_instance.h}}
\doxysubsubsection{ss7\_instance\_alloc()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ ss7\+\_\+instance\+\_\+alloc (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::delimiter}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::linksets}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, \textbf{ LOGSS7}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+instances}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PC\+\_\+\+INVALID}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp\+\_\+address\+\_\+book}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::secondary\+\_\+pc}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::xua\+\_\+servers}.



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

\mbox{\label{ss7__instance_8h_a154eb42c95d9d897d8abeb337c9200eb}} 
\index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_lookup\_route@{ss7\_instance\_lookup\_route}}
\index{ss7\_instance\_lookup\_route@{ss7\_instance\_lookup\_route}!ss7\_instance.h@{ss7\_instance.h}}
\doxysubsubsection{ss7\_instance\_lookup\_route()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+instance\+\_\+lookup\+\_\+route (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$}]{rtlabel }\end{DoxyParamCaption})}



Find a SS7 route for given destination point code in given SS7. 



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ ss7\+\_\+initialized}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route()}.



Referenced by \textbf{ DEFUN()}, \textbf{ gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua()}, \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup()}.

