\doxysection{src/ss7\+\_\+combined\+\_\+linkset.h File Reference} \label{ss7__combined__linkset_8h}\index{src/ss7\_combined\_linkset.h@{src/ss7\_combined\_linkset.h}} {\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline \doxysubsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry} \item struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} \end{DoxyCompactItemize} \doxysubsection*{Macros} \begin{DoxyCompactItemize} \item \#define \textbf{ NUM\+\_\+\+EXT\+\_\+\+SLS}~128 \item \#define \textbf{ LOGPCLSET}(clset, subsys, level, fmt, args ...) \end{DoxyCompactItemize} \doxysubsection*{Typedefs} \begin{DoxyCompactItemize} \item typedef uint8\+\_\+t \textbf{ ext\+\_\+sls\+\_\+t} \end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+alloc} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t pc, uint32\+\_\+t mask, uint32\+\_\+t prio) \item void \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+free} (struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset) \item struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$ \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t pc, uint32\+\_\+t mask, uint32\+\_\+t prio) \item void \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+add\+\_\+route} (struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset, struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt) \item void \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+del\+\_\+route} (struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt) \item struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route} (struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset, const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$rtlabel) \end{DoxyCompactItemize} \doxysubsection{Macro Definition Documentation} \mbox{\label{ss7__combined__linkset_8h_a427c4444422ab262fc91fc2dc6485c74}} \index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!LOGPCLSET@{LOGPCLSET}} \index{LOGPCLSET@{LOGPCLSET}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}} \doxysubsubsection{LOGPCLSET} {\footnotesize\ttfamily \#define LOGPCLSET(\begin{DoxyParamCaption}\item[{}]{clset, }\item[{}]{subsys, }\item[{}]{level, }\item[{}]{fmt, }\item[{}]{args ... }\end{DoxyParamCaption})} {\bfseries Value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{ \textcolor{keywordflow}{do} \{ \(\backslash\)} \DoxyCodeLine{ char \_pc\_str[MAX\_PC\_STR\_LEN]; \(\backslash\)} \DoxyCodeLine{ char \_mask\_str[MAX\_PC\_STR\_LEN]; \(\backslash\)} \DoxyCodeLine{ \_LOGSS7((clset)-\/>rtable-\/>inst, subsys, level, \(\backslash\)} \DoxyCodeLine{ \textcolor{stringliteral}{"{}CombinedLinkset(dpc=\%u=\%s,mask=0x\%x=\%s,prio=\%u) "{}} fmt, \(\backslash\)} \DoxyCodeLine{ (clset)-\/>cfg.pc, osmo\_ss7\_pointcode\_print\_buf(\_pc\_str, MAX\_PC\_STR\_LEN, (clset)-\/>rtable-\/>inst, (clset)-\/>cfg.pc), \(\backslash\)} \DoxyCodeLine{ (clset)-\/>cfg.mask, osmo\_ss7\_pointcode\_print\_buf(\_mask\_str, MAX\_PC\_STR\_LEN, (clset)-\/>rtable-\/>inst, (clset)-\/>cfg.mask), \(\backslash\)} \DoxyCodeLine{ (clset)-\/>cfg.priority, \#\# args); \(\backslash\)} \DoxyCodeLine{ \} \textcolor{keywordflow}{while} (0)} \end{DoxyCode} \mbox{\label{ss7__combined__linkset_8h_af1bad98ece8422ba4360353cda1797ba}} \index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!NUM\_EXT\_SLS@{NUM\_EXT\_SLS}} \index{NUM\_EXT\_SLS@{NUM\_EXT\_SLS}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}} \doxysubsubsection{NUM\_EXT\_SLS} {\footnotesize\ttfamily \#define NUM\+\_\+\+EXT\+\_\+\+SLS~128} \doxysubsection{Typedef Documentation} \mbox{\label{ss7__combined__linkset_8h_ad4d805658a1e2f89cd4fda783d616b68}} \index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!ext\_sls\_t@{ext\_sls\_t}} \index{ext\_sls\_t@{ext\_sls\_t}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}} \doxysubsubsection{ext\_sls\_t} {\footnotesize\ttfamily typedef uint8\+\_\+t \textbf{ ext\+\_\+sls\+\_\+t}} \doxysubsection{Function Documentation} \mbox{\label{ss7__combined__linkset_8h_a9f9c073c41e30243718ddcf222c81567}} \index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!ss7\_combined\_linkset\_add\_route@{ss7\_combined\_linkset\_add\_route}} \index{ss7\_combined\_linkset\_add\_route@{ss7\_combined\_linkset\_add\_route}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}} \doxysubsubsection{ss7\_combined\_linkset\_add\_route()} {\footnotesize\ttfamily void ss7\+\_\+combined\+\_\+linkset\+\_\+add\+\_\+route (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset, }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::num\+\_\+routes}, and \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}. Referenced by \textbf{ ss7\+\_\+route\+\_\+insert()}. \mbox{\label{ss7__combined__linkset_8h_a443e145e027a08293f8129be66f17ac9}} \index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!ss7\_combined\_linkset\_alloc@{ss7\_combined\_linkset\_alloc}} \index{ss7\_combined\_linkset\_alloc@{ss7\_combined\_linkset\_alloc}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}} \doxysubsubsection{ss7\_combined\_linkset\_alloc()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ ss7\+\_\+combined\+\_\+linkset\+\_\+alloc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl, }\item[{uint32\+\_\+t}]{pc, }\item[{uint32\+\_\+t}]{mask, }\item[{uint32\+\_\+t}]{prio }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::priority}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::rtable}, and \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+insert()}. Referenced by \textbf{ ss7\+\_\+route\+\_\+insert()}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create\+\_\+combined\+\_\+linkset()}. \mbox{\label{ss7__combined__linkset_8h_aa5fcbdd59e339e2f79c9e681489c0734}} \index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!ss7\_combined\_linkset\_del\_route@{ss7\_combined\_linkset\_del\_route}} \index{ss7\_combined\_linkset\_del\_route@{ss7\_combined\_linkset\_del\_route}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}} \doxysubsubsection{ss7\_combined\_linkset\_del\_route()} {\footnotesize\ttfamily void ss7\+\_\+combined\+\_\+linkset\+\_\+del\+\_\+route (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::alt\+\_\+rt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::esls\+\_\+table}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::last\+\_\+route\+\_\+roundrobin\+\_\+ass}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::last\+\_\+route\+\_\+roundrobin\+\_\+tx}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::normal\+\_\+rt}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::num\+\_\+routes}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+free()}, and \textbf{ ss7\+\_\+llist\+\_\+round\+\_\+robin}. Referenced by \textbf{ ss7\+\_\+route\+\_\+destroy()}. \mbox{\label{ss7__combined__linkset_8h_a341ea97b5ab744420d7aebb6134b4b49}} \index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!ss7\_combined\_linkset\_find\_or\_create@{ss7\_combined\_linkset\_find\_or\_create}} \index{ss7\_combined\_linkset\_find\_or\_create@{ss7\_combined\_linkset\_find\_or\_create}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}} \doxysubsubsection{ss7\_combined\_linkset\_find\_or\_create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$ ss7\+\_\+combined\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl, }\item[{uint32\+\_\+t}]{pc, }\item[{uint32\+\_\+t}]{mask, }\item[{uint32\+\_\+t}]{prio }\end{DoxyParamCaption})} \mbox{\label{ss7__combined__linkset_8h_a0b41395057f848b2421552ab0cc9f1e1}} \index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!ss7\_combined\_linkset\_free@{ss7\_combined\_linkset\_free}} \index{ss7\_combined\_linkset\_free@{ss7\_combined\_linkset\_free}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}} \doxysubsubsection{ss7\_combined\_linkset\_free()} {\footnotesize\ttfamily void ss7\+\_\+combined\+\_\+linkset\+\_\+free (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}. Referenced by \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+del\+\_\+route()}. \mbox{\label{ss7__combined__linkset_8h_a047f8f44a19ab1b1f4a2c46869867119}} \index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!ss7\_combined\_linkset\_lookup\_route@{ss7\_combined\_linkset\_lookup\_route}} \index{ss7\_combined\_linkset\_lookup\_route@{ss7\_combined\_linkset\_lookup\_route}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}} \doxysubsubsection{ss7\_combined\_linkset\_lookup\_route()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset, }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$}]{rtlabel }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::alt\+\_\+rt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ current\+\_\+rt()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::dpc}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::esls\+\_\+table}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ LOGPCLSET}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::normal\+\_\+rt}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::opc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+calc\+\_\+itu\+\_\+ext\+\_\+sls()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::rtable}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::sls}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+assign\+\_\+route\+\_\+roundrobin()}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+select\+\_\+route\+\_\+roundrobin()}, and \textbf{ ss7\+\_\+route\+\_\+is\+\_\+available()}. Referenced by \textbf{ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route()}.