\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\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \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{ 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()}, 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\+::loadshare}, \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()}.