\doxysection{src/tcap\+\_\+as\+\_\+loadshare.h File Reference}
\label{tcap__as__loadshare_8h}\index{src/tcap\_as\_loadshare.h@{src/tcap\_as\_loadshare.h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ tcap\+\_\+range}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ TCAP\+\_\+\+PC\+\_\+\+WILDCARD}~0xffffffff
\item 
\#define \textbf{ TCAP\+\_\+\+SSN\+\_\+\+WILDCARD}~0
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+osmo\+\_\+ext\+\_\+tcap\+\_\+routing} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct msgb $\ast$msg)
\begin{DoxyCompactList}\small\item\em Entrypoint for IPA TCAP Routing messages, parses and handles those. \end{DoxyCompactList}\item 
struct \textbf{ tcap\+\_\+range} $\ast$ \textbf{ tcap\+\_\+range\+\_\+alloc} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, uint32\+\_\+t \textbf{ tid\+\_\+start}, uint32\+\_\+t \textbf{ tid\+\_\+end}, uint32\+\_\+t \textbf{ pc}, uint8\+\_\+t \textbf{ ssn})
\begin{DoxyCompactList}\small\item\em Create and alloc a new TCAP range entry. \end{DoxyCompactList}\item 
void \textbf{ tcap\+\_\+range\+\_\+free} (struct \textbf{ tcap\+\_\+range} $\ast$tcrng)
\begin{DoxyCompactList}\small\item\em Remove and free a single TCAP range entry. \end{DoxyCompactList}\item 
bool \textbf{ tcap\+\_\+range\+\_\+matches} (const struct \textbf{ tcap\+\_\+range} $\ast$tcrng, uint32\+\_\+t tid)
\begin{DoxyCompactList}\small\item\em Checks if a tid matches to a specific range. \end{DoxyCompactList}\item 
bool \textbf{ tcap\+\_\+range\+\_\+overlaps} (const struct \textbf{ tcap\+\_\+range} $\ast$a, uint32\+\_\+t tid\+\_\+min, uint32\+\_\+t tid\+\_\+max)
\begin{DoxyCompactList}\small\item\em Checks if a tid rnage overlaps with another range. \end{DoxyCompactList}\item 
int \textbf{ tcap\+\_\+as\+\_\+rx\+\_\+sccp\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, uint32\+\_\+t \textbf{ opc}, uint32\+\_\+t \textbf{ dpc}, struct msgb $\ast$sccp\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Traffic from the TCAP ASP -\/$>$ AS -\/$>$ osmo-\/stp, only used to update transaction tracking. \end{DoxyCompactList}\item 
int \textbf{ tcap\+\_\+as\+\_\+select\+\_\+asp\+\_\+loadshare} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$$\ast$asp, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const struct \textbf{ xua\+\_\+msg} $\ast$xua)
\begin{DoxyCompactList}\small\item\em Entrypoint for M3\+UA messages towards the TCAP nodes. \end{DoxyCompactList}\item 
void \textbf{ tcap\+\_\+as\+\_\+del\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
void \textbf{ tcap\+\_\+enable} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\item 
void \textbf{ tcap\+\_\+disable} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{tcap__as__loadshare_8h_a0ba677a79c4c30673655337b21f28a61}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!TCAP\_PC\_WILDCARD@{TCAP\_PC\_WILDCARD}}
\index{TCAP\_PC\_WILDCARD@{TCAP\_PC\_WILDCARD}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{TCAP\_PC\_WILDCARD}
{\footnotesize\ttfamily \#define TCAP\+\_\+\+PC\+\_\+\+WILDCARD~0xffffffff}

\mbox{\label{tcap__as__loadshare_8h_adcb7c0ae3ae0560a68e7a241508d6aba}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!TCAP\_SSN\_WILDCARD@{TCAP\_SSN\_WILDCARD}}
\index{TCAP\_SSN\_WILDCARD@{TCAP\_SSN\_WILDCARD}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{TCAP\_SSN\_WILDCARD}
{\footnotesize\ttfamily \#define TCAP\+\_\+\+SSN\+\_\+\+WILDCARD~0}



\doxysubsection{Function Documentation}
\mbox{\label{tcap__as__loadshare_8h_aecaf1a049ad8d7fc1a09c59bde0b3068}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!ipa\_rx\_msg\_osmo\_ext\_tcap\_routing@{ipa\_rx\_msg\_osmo\_ext\_tcap\_routing}}
\index{ipa\_rx\_msg\_osmo\_ext\_tcap\_routing@{ipa\_rx\_msg\_osmo\_ext\_tcap\_routing}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{ipa\_rx\_msg\_osmo\_ext\_tcap\_routing()}
{\footnotesize\ttfamily int ipa\+\_\+rx\+\_\+msg\+\_\+osmo\+\_\+ext\+\_\+tcap\+\_\+routing (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



Entrypoint for IPA TCAP Routing messages, parses and handles those. 


\begin{DoxyParams}{Parameters}
{\em asp} & \\
\hline
{\em msg} & the message buffer. It is kept owned by the caller. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success 
\end{DoxyReturn}


References \textbf{ tcap\+\_\+range\+::asp}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ cs7\+\_\+role}, \textbf{ CS7\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ ipa\+\_\+tx\+\_\+tcap\+\_\+routing\+\_\+ack()}, \textbf{ ipa\+\_\+tx\+\_\+tcap\+\_\+routing\+\_\+nack()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::loadshare}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode}, \textbf{ ipa\+\_\+tcap\+\_\+routing\+\_\+hdr\+::mt}, \textbf{ MT\+\_\+\+TID\+\_\+\+ACK}, \textbf{ MT\+\_\+\+TID\+\_\+\+ADD\+\_\+\+RANGE}, \textbf{ MT\+\_\+\+TID\+\_\+\+NACK}, \textbf{ NACK\+\_\+\+ERR\+\_\+\+EALREADY}, \textbf{ NACK\+\_\+\+ERR\+\_\+\+SYS\+\_\+\+FAILURE}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name()}, \textbf{ ipa\+\_\+tcap\+\_\+routing\+\_\+add\+\_\+range\+::pc}, \textbf{ ipa\+\_\+tcap\+\_\+routing\+\_\+hdr\+::seq}, \textbf{ ss7\+\_\+asp\+\_\+get\+\_\+first\+\_\+as()}, \textbf{ ipa\+\_\+tcap\+\_\+routing\+\_\+add\+\_\+range\+::ssn}, \textbf{ tcap\+\_\+overlap\+\_\+tid()}, \textbf{ TCAP\+\_\+\+PC\+\_\+\+WILDCARD}, \textbf{ tcap\+\_\+range\+\_\+alloc()}, \textbf{ TCAP\+\_\+\+SSN\+\_\+\+WILDCARD}, \textbf{ ipa\+\_\+tcap\+\_\+routing\+\_\+add\+\_\+range\+::tid\+\_\+end}, \textbf{ tcap\+\_\+range\+::tid\+\_\+end}, \textbf{ ipa\+\_\+tcap\+\_\+routing\+\_\+add\+\_\+range\+::tid\+\_\+start}, and \textbf{ tcap\+\_\+range\+::tid\+\_\+start}.



Referenced by \textbf{ ipa\+\_\+rx\+\_\+msg()}.

\mbox{\label{tcap__as__loadshare_8h_aec60e38ceb0b16dc6a8e9b9561f9e5c7}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!tcap\_as\_del\_asp@{tcap\_as\_del\_asp}}
\index{tcap\_as\_del\_asp@{tcap\_as\_del\_asp}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{tcap\_as\_del\_asp()}
{\footnotesize\ttfamily void tcap\+\_\+as\+\_\+del\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ \+\_\+tcap\+\_\+range\+\_\+asp\+\_\+down()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::last\+\_\+asp\+\_\+idx\+\_\+sent}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::loadshare}, \textbf{ ss7\+\_\+as\+\_\+del\+\_\+asp\+\_\+update\+\_\+llist\+\_\+round\+\_\+robin()}, and \textbf{ tcap\+\_\+range\+\_\+as\+\_\+update\+\_\+pc\+\_\+ssn()}.



Referenced by \textbf{ common\+\_\+asp\+\_\+fsm\+\_\+down\+\_\+onenter()}, and \textbf{ ss7\+\_\+as\+\_\+del\+\_\+asp()}.

\mbox{\label{tcap__as__loadshare_8h_a2090314e36156ae8f7903db34d2926cb}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!tcap\_as\_rx\_sccp\_asp@{tcap\_as\_rx\_sccp\_asp}}
\index{tcap\_as\_rx\_sccp\_asp@{tcap\_as\_rx\_sccp\_asp}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{tcap\_as\_rx\_sccp\_asp()}
{\footnotesize\ttfamily int tcap\+\_\+as\+\_\+rx\+\_\+sccp\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{uint32\+\_\+t}]{opc,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{struct msgb $\ast$}]{sccp\+\_\+msg }\end{DoxyParamCaption})}



Traffic from the TCAP ASP -\/$>$ AS -\/$>$ osmo-\/stp, only used to update transaction tracking. 


\begin{DoxyParams}{Parameters}
{\em as} & \\
\hline
{\em asp} & asp sent the sccp\+\_\+msg message towards osmo-\/stp \\
\hline
{\em opc} & M3\+UA opc \\
\hline
{\em dpc} & M3\+UA DPC \\
\hline
{\em sccp\+\_\+msg} & pointer to a msg. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on successful handling, $<$ 0 on error cases (missing IE, decoding errors) 
\end{DoxyReturn}


References \textbf{ xua\+\_\+msg\+\_\+part\+::dat}, \textbf{ dpc}, \textbf{ tcap\+\_\+parsed\+::dtid}, \textbf{ DTID\+\_\+\+SET}, \textbf{ xua\+\_\+msg\+::hdr}, \textbf{ xua\+\_\+msg\+\_\+part\+::len}, \textbf{ LOGPAS}, \textbf{ xua\+\_\+common\+\_\+hdr\+::msg\+\_\+class}, \textbf{ NULL}, \textbf{ opc}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ osmo\+\_\+sccp\+\_\+to\+\_\+xua()}, \textbf{ tcap\+\_\+parsed\+::otid}, \textbf{ OTID\+\_\+\+SET}, \textbf{ parse\+\_\+tcap()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, \textbf{ tcap\+\_\+parsed\+::present}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ssn}, \textbf{ ssn\+\_\+contains\+\_\+tcap()}, \textbf{ sua\+\_\+addr\+\_\+parse()}, \textbf{ SUA\+\_\+\+CL\+\_\+\+CLDT}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DATA}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+DEST\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+IEI\+\_\+\+SRC\+\_\+\+ADDR}, \textbf{ SUA\+\_\+\+MSGC\+\_\+\+CL}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+continue()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+end()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+create()}, and \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}.



Referenced by \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+up()}.

\mbox{\label{tcap__as__loadshare_8h_a34aad551a7344d6cfdd623d84613522b}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!tcap\_as\_select\_asp\_loadshare@{tcap\_as\_select\_asp\_loadshare}}
\index{tcap\_as\_select\_asp\_loadshare@{tcap\_as\_select\_asp\_loadshare}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{tcap\_as\_select\_asp\_loadshare()}
{\footnotesize\ttfamily int tcap\+\_\+as\+\_\+select\+\_\+asp\+\_\+loadshare (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$$\ast$}]{asp,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{const struct \textbf{ xua\+\_\+msg} $\ast$}]{xua }\end{DoxyParamCaption})}



Entrypoint for M3\+UA messages towards the TCAP nodes. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em asp} & Result pointer of the selected asp. Set to NULL if return code is != 0 \\
\hline
\mbox{\texttt{ in}}  & {\em as} & \\
\hline
\mbox{\texttt{ in}}  & {\em xua} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0\+: on succcess (msg handled by the callee), -\/EPROTONOSUPPORT\+: let caller (regular loadsharing) handle those. 
\end{DoxyReturn}


Referenced by \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp()}.

\mbox{\label{tcap__as__loadshare_8h_a04f4d9a175722f22aac9572f9c9baa79}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!tcap\_disable@{tcap\_disable}}
\index{tcap\_disable@{tcap\_disable}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{tcap\_disable()}
{\footnotesize\ttfamily void tcap\+\_\+disable (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::last\+\_\+asp\+\_\+idx\+\_\+sent}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::loadshare}, \textbf{ NULL}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entries\+\_\+free\+\_\+all()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+stop()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}.

\mbox{\label{tcap__as__loadshare_8h_a1cc1e1a23c01d06a5552c9b0398003b0}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!tcap\_enable@{tcap\_enable}}
\index{tcap\_enable@{tcap\_enable}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{tcap\_enable()}
{\footnotesize\ttfamily void tcap\+\_\+enable (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::loadshare}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+start()}.

\mbox{\label{tcap__as__loadshare_8h_ab643244d59fec50d266f106caf31b9ca}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!tcap\_range\_alloc@{tcap\_range\_alloc}}
\index{tcap\_range\_alloc@{tcap\_range\_alloc}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{tcap\_range\_alloc()}
{\footnotesize\ttfamily struct \textbf{ tcap\+\_\+range} $\ast$ tcap\+\_\+range\+\_\+alloc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{uint32\+\_\+t}]{tid\+\_\+start,  }\item[{uint32\+\_\+t}]{tid\+\_\+end,  }\item[{uint32\+\_\+t}]{pc,  }\item[{uint8\+\_\+t}]{ssn }\end{DoxyParamCaption})}



Create and alloc a new TCAP range entry. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em as} & \\
\hline
\mbox{\texttt{ in}}  & {\em asp} & \\
\hline
\mbox{\texttt{ in}}  & {\em tid\+\_\+start} & \\
\hline
\mbox{\texttt{ in}}  & {\em tid\+\_\+end} & \\
\hline
\mbox{\texttt{ in}}  & {\em pc} & \\
\hline
\mbox{\texttt{ in}}  & {\em ssn} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the TCAP range entry or NULL 
\end{DoxyReturn}


References \textbf{ tcap\+\_\+range\+::asp}, \textbf{ tcap\+\_\+range\+::list}, \textbf{ NULL}, \textbf{ pc}, \textbf{ tcap\+\_\+range\+::pc}, \textbf{ ssn}, \textbf{ tcap\+\_\+range\+::ssn}, \textbf{ tcap\+\_\+gen\+\_\+hash()}, \textbf{ tid\+\_\+end}, \textbf{ tcap\+\_\+range\+::tid\+\_\+end}, \textbf{ tid\+\_\+start}, and \textbf{ tcap\+\_\+range\+::tid\+\_\+start}.



Referenced by \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+osmo\+\_\+ext\+\_\+tcap\+\_\+routing()}.

\mbox{\label{tcap__as__loadshare_8h_ac0e210fb3d24794616e4e0ccaeea2929}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!tcap\_range\_free@{tcap\_range\_free}}
\index{tcap\_range\_free@{tcap\_range\_free}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{tcap\_range\_free()}
{\footnotesize\ttfamily void tcap\+\_\+range\+\_\+free (\begin{DoxyParamCaption}\item[{struct \textbf{ tcap\+\_\+range} $\ast$}]{tcrng }\end{DoxyParamCaption})}



Remove and free a single TCAP range entry. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em tcrng} & \\
\hline
\end{DoxyParams}


References \textbf{ tcap\+\_\+range\+::list}.



Referenced by \textbf{ \+\_\+tcap\+\_\+range\+\_\+asp\+\_\+down()}.

\mbox{\label{tcap__as__loadshare_8h_a96504b368fdaba977ee3f3af39e25b00}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!tcap\_range\_matches@{tcap\_range\_matches}}
\index{tcap\_range\_matches@{tcap\_range\_matches}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{tcap\_range\_matches()}
{\footnotesize\ttfamily bool tcap\+\_\+range\+\_\+matches (\begin{DoxyParamCaption}\item[{const struct \textbf{ tcap\+\_\+range} $\ast$}]{tcrng,  }\item[{uint32\+\_\+t}]{tid }\end{DoxyParamCaption})}



Checks if a tid matches to a specific range. 


\begin{DoxyParams}{Parameters}
{\em tcrng} & \\
\hline
{\em tid} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if tid is included in the range 
\end{DoxyReturn}


References \textbf{ tcap\+\_\+range\+::tid\+\_\+end}, and \textbf{ tcap\+\_\+range\+::tid\+\_\+start}.



Referenced by \textbf{ tcap\+\_\+hlist\+\_\+get()}, and \textbf{ tcap\+\_\+range\+\_\+overlaps()}.

\mbox{\label{tcap__as__loadshare_8h_a3940d2baa6dd8b81c961f2dd1ccc702a}} 
\index{tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}!tcap\_range\_overlaps@{tcap\_range\_overlaps}}
\index{tcap\_range\_overlaps@{tcap\_range\_overlaps}!tcap\_as\_loadshare.h@{tcap\_as\_loadshare.h}}
\doxysubsubsection{tcap\_range\_overlaps()}
{\footnotesize\ttfamily bool tcap\+\_\+range\+\_\+overlaps (\begin{DoxyParamCaption}\item[{const struct \textbf{ tcap\+\_\+range} $\ast$}]{a,  }\item[{uint32\+\_\+t}]{tid\+\_\+start,  }\item[{uint32\+\_\+t}]{tid\+\_\+end }\end{DoxyParamCaption})}



Checks if a tid rnage overlaps with another range. 


\begin{DoxyParams}{Parameters}
{\em a} & \\
\hline
{\em tid\+\_\+start} & \\
\hline
{\em tid\+\_\+end} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


References \textbf{ tcap\+\_\+range\+\_\+matches()}, \textbf{ tid\+\_\+end}, \textbf{ tcap\+\_\+range\+::tid\+\_\+end}, \textbf{ tid\+\_\+start}, and \textbf{ tcap\+\_\+range\+::tid\+\_\+start}.



Referenced by \textbf{ tcap\+\_\+overlap\+\_\+tid()}.

