\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 \textbf{ 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 \textbf{ 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)
\item 
bool \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+is\+\_\+available} (const struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset)
\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{ 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_ab781acf4191f42e8e4c3bd3c25cf944e}} 
\index{ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}!ss7\_combined\_linkset\_is\_available@{ss7\_combined\_linkset\_is\_available}}
\index{ss7\_combined\_linkset\_is\_available@{ss7\_combined\_linkset\_is\_available}!ss7\_combined\_linkset.h@{ss7\_combined\_linkset.h}}
\doxysubsubsection{ss7\_combined\_linkset\_is\_available()}
{\footnotesize\ttfamily bool ss7\+\_\+combined\+\_\+linkset\+\_\+is\+\_\+available (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, and \textbf{ ss7\+\_\+route\+\_\+is\+\_\+available()}.



Referenced by \textbf{ ss7\+\_\+route\+\_\+table\+\_\+dpc\+\_\+is\+\_\+accessible()}, and \textbf{ vty\+\_\+dump\+\_\+rtable()}.

\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\+\_\+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\+\_\+instance\+\_\+calc\+\_\+itu\+\_\+ext\+\_\+sls()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::rtable}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+assign\+\_\+route\+\_\+roundrobin()}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+select\+\_\+route\+\_\+roundrobin()}, \textbf{ ss7\+\_\+route\+\_\+is\+\_\+available()}, and \textbf{ ss7\+\_\+route\+\_\+label\+\_\+to\+\_\+str()}.



Referenced by \textbf{ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route()}.

