\doxysection{src/tcap\+\_\+trans\+\_\+tracking.c File Reference}
\label{tcap__trans__tracking_8c}\index{src/tcap\_trans\_tracking.c@{src/tcap\_trans\_tracking.c}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+asp.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+as.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}tcap\+\_\+trans\+\_\+tracking.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static void \textbf{ entry\+\_\+update\+\_\+tstamp} (struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$entry)
\item 
static uint64\+\_\+t \textbf{ gen\+\_\+hash} (uint32\+\_\+t tid, uint8\+\_\+t \textbf{ ssn}, uint32\+\_\+t \textbf{ pc})
\item 
static uint64\+\_\+t \textbf{ gen\+\_\+hash\+\_\+addr} (uint32\+\_\+t tid, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$addr)
\item 
static void \textbf{ trans\+\_\+sccp\+\_\+addr\+\_\+cpy} (struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$dst, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$src)
\item 
struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$ \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$own\+\_\+addr, const uint32\+\_\+t $\ast$own\+\_\+tid, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$peer\+\_\+addr, const uint32\+\_\+t $\ast$peer\+\_\+tid)
\item 
void \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+free} (struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$entry)
\item 
struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$ \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+find} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$own\+\_\+addr, const uint32\+\_\+t $\ast$own\+\_\+tid, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$peer\+\_\+addr, const uint32\+\_\+t $\ast$peer\+\_\+tid)
\item 
struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$ \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+begin} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$own\+\_\+addr, const uint32\+\_\+t $\ast$own\+\_\+tid, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$peer\+\_\+addr, const uint32\+\_\+t $\ast$peer\+\_\+tid)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+continue} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$own\+\_\+addr, const uint32\+\_\+t $\ast$own\+\_\+tid, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$peer\+\_\+addr, const uint32\+\_\+t $\ast$peer\+\_\+tid)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+end} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$own\+\_\+addr, const uint32\+\_\+t $\ast$own\+\_\+tid, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$peer\+\_\+addr, const uint32\+\_\+t $\ast$peer\+\_\+tid)
\item 
int \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\item 
static void \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+cb} (void $\ast$\textbf{ data})
\item 
void \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+start} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\item 
void \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+stop} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\item 
int \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entries\+\_\+free\+\_\+by\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entries\+\_\+free\+\_\+all} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\label{tcap__trans__tracking_8c_afcea450518d71663a8ed8b1f1690cb97}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!entry\_update\_tstamp@{entry\_update\_tstamp}}
\index{entry\_update\_tstamp@{entry\_update\_tstamp}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{entry\_update\_tstamp()}
{\footnotesize\ttfamily static void entry\+\_\+update\+\_\+tstamp (\begin{DoxyParamCaption}\item[{struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$}]{entry }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::tstamp}.



Referenced by \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+begin()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+continue()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+create()}.

\mbox{\label{tcap__trans__tracking_8c_a60c2687b666b7a6b7049bac370c7d2dd}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!gen\_hash@{gen\_hash}}
\index{gen\_hash@{gen\_hash}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{gen\_hash()}
{\footnotesize\ttfamily static uint64\+\_\+t gen\+\_\+hash (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{tid,  }\item[{uint8\+\_\+t}]{ssn,  }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References \textbf{ pc}, and \textbf{ ssn}.



Referenced by \textbf{ gen\+\_\+hash\+\_\+addr()}.

\mbox{\label{tcap__trans__tracking_8c_ad8b0fab338afdc703cb4818f4f9d8d8d}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!gen\_hash\_addr@{gen\_hash\_addr}}
\index{gen\_hash\_addr@{gen\_hash\_addr}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{gen\_hash\_addr()}
{\footnotesize\ttfamily static uint64\+\_\+t gen\+\_\+hash\+\_\+addr (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{tid,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{addr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References \textbf{ gen\+\_\+hash()}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ssn}, and \textbf{ ssn}.



Referenced by \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+continue()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+create()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+find()}.

\mbox{\label{tcap__trans__tracking_8c_ad2402c015ce044bf5e5f89e6720092dd}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_begin@{tcap\_trans\_track\_begin}}
\index{tcap\_trans\_track\_begin@{tcap\_trans\_track\_begin}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_begin()}
{\footnotesize\ttfamily struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$ tcap\+\_\+trans\+\_\+track\+\_\+begin (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{own\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{own\+\_\+tid,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{peer\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{peer\+\_\+tid }\end{DoxyParamCaption})}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::asp}, \textbf{ entry\+\_\+update\+\_\+tstamp()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+create()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+find()}.



Referenced by \textbf{ asp\+\_\+loadshare\+\_\+tcap\+\_\+sccp()}.

\mbox{\label{tcap__trans__tracking_8c_a0c50e935d3c9f747dbbb312be07340ed}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_continue@{tcap\_trans\_track\_continue}}
\index{tcap\_trans\_track\_continue@{tcap\_trans\_track\_continue}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_continue()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ tcap\+\_\+trans\+\_\+track\+\_\+continue (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{own\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{own\+\_\+tid,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{peer\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{peer\+\_\+tid }\end{DoxyParamCaption})}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::asp}, \textbf{ entry\+\_\+update\+\_\+tstamp()}, \textbf{ gen\+\_\+hash\+\_\+addr()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::list}, \textbf{ NULL}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+find()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid\+\_\+valid}.



Referenced by \textbf{ asp\+\_\+loadshare\+\_\+tcap\+\_\+sccp()}, and \textbf{ tcap\+\_\+as\+\_\+rx\+\_\+sccp\+\_\+asp()}.

\mbox{\label{tcap__trans__tracking_8c_a7ab064cf67107061ac02120567fe4178}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_end@{tcap\_trans\_track\_end}}
\index{tcap\_trans\_track\_end@{tcap\_trans\_track\_end}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_end()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ tcap\+\_\+trans\+\_\+track\+\_\+end (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{own\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{own\+\_\+tid,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{peer\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{peer\+\_\+tid }\end{DoxyParamCaption})}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::asp}, \textbf{ NULL}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+find()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+free()}.



Referenced by \textbf{ asp\+\_\+loadshare\+\_\+tcap\+\_\+sccp()}, and \textbf{ tcap\+\_\+as\+\_\+rx\+\_\+sccp\+\_\+asp()}.

\mbox{\label{tcap__trans__tracking_8c_afd6406e421050a35b30c3a03aff812f1}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_entries\_free\_all@{tcap\_trans\_track\_entries\_free\_all}}
\index{tcap\_trans\_track\_entries\_free\_all@{tcap\_trans\_track\_entries\_free\_all}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_entries\_free\_all()}
{\footnotesize\ttfamily int tcap\+\_\+trans\+\_\+track\+\_\+entries\+\_\+free\+\_\+all (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::asp}, \textbf{ LOGPASP}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+free()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid}.



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

\mbox{\label{tcap__trans__tracking_8c_a4796ee44ac6749ce99645330cfca9d78}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_entries\_free\_by\_asp@{tcap\_trans\_track\_entries\_free\_by\_asp}}
\index{tcap\_trans\_track\_entries\_free\_by\_asp@{tcap\_trans\_track\_entries\_free\_by\_asp}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_entries\_free\_by\_asp()}
{\footnotesize\ttfamily int tcap\+\_\+trans\+\_\+track\+\_\+entries\+\_\+free\+\_\+by\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::asp}, \textbf{ LOGPASP}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+free()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid}.



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

\mbox{\label{tcap__trans__tracking_8c_a3fae0ad17ab27f3c47916846a773c537}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_entry\_create@{tcap\_trans\_track\_entry\_create}}
\index{tcap\_trans\_track\_entry\_create@{tcap\_trans\_track\_entry\_create}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_entry\_create()}
{\footnotesize\ttfamily struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{own\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{own\+\_\+tid,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{peer\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{peer\+\_\+tid }\end{DoxyParamCaption})}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::asp}, \textbf{ entry\+\_\+update\+\_\+tstamp()}, \textbf{ err}, \textbf{ gen\+\_\+hash\+\_\+addr()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::list}, \textbf{ LOGPASP}, \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+tid}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+tid}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ssn}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid\+\_\+valid}, and \textbf{ trans\+\_\+sccp\+\_\+addr\+\_\+cpy()}.



Referenced by \textbf{ tcap\+\_\+as\+\_\+rx\+\_\+sccp\+\_\+asp()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+begin()}.

\mbox{\label{tcap__trans__tracking_8c_a7448cb223a71ecbdaa5ec5a94578d4df}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_entry\_find@{tcap\_trans\_track\_entry\_find}}
\index{tcap\_trans\_track\_entry\_find@{tcap\_trans\_track\_entry\_find}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_entry\_find()}
{\footnotesize\ttfamily struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{own\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{own\+\_\+tid,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{peer\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{peer\+\_\+tid }\end{DoxyParamCaption})}



References \textbf{ gen\+\_\+hash\+\_\+addr()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::list}, \textbf{ NULL}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+cmp()}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+addr}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid\+\_\+valid}.



Referenced by \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+begin()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+continue()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+end()}.

\mbox{\label{tcap__trans__tracking_8c_af33b33b152be56b80ec7ad36ba078627}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_entry\_free@{tcap\_trans\_track\_entry\_free}}
\index{tcap\_trans\_track\_entry\_free@{tcap\_trans\_track\_entry\_free}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_entry\_free()}
{\footnotesize\ttfamily void tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+free (\begin{DoxyParamCaption}\item[{struct \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry} $\ast$}]{entry }\end{DoxyParamCaption})}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::list}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+tid}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid\+\_\+valid}.



Referenced by \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+end()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entries\+\_\+free\+\_\+all()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entries\+\_\+free\+\_\+by\+\_\+asp()}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect()}.

\mbox{\label{tcap__trans__tracking_8c_a8a0d4e8e0d1823f7d2bf12921a5c8dfc}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_garbage\_collect@{tcap\_trans\_track\_garbage\_collect}}
\index{tcap\_trans\_track\_garbage\_collect@{tcap\_trans\_track\_garbage\_collect}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_garbage\_collect()}
{\footnotesize\ttfamily int tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::asp}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::loadshare}, \textbf{ LOGPASP}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::own\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::peer\+\_\+tid}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+free()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+tid\+\_\+entry\+::tid}, and \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+::tstamp}.



Referenced by \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+cb()}.

\mbox{\label{tcap__trans__tracking_8c_aa74b945ff8667771ed0433a4295a8fd4}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_garbage\_collect\_cb@{tcap\_trans\_track\_garbage\_collect\_cb}}
\index{tcap\_trans\_track\_garbage\_collect\_cb@{tcap\_trans\_track\_garbage\_collect\_cb}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_garbage\_collect\_cb()}
{\footnotesize\ttfamily static void tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+cb (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



Referenced by \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+start()}.

\mbox{\label{tcap__trans__tracking_8c_ad16e43e90130a3487d30e7d4bed197e8}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_garbage\_collect\_start@{tcap\_trans\_track\_garbage\_collect\_start}}
\index{tcap\_trans\_track\_garbage\_collect\_start@{tcap\_trans\_track\_garbage\_collect\_start}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_garbage\_collect\_start()}
{\footnotesize\ttfamily void tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+start (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



References \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+cb()}.



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

\mbox{\label{tcap__trans__tracking_8c_a706266a179f30c6e97d488efc2fea06d}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!tcap\_trans\_track\_garbage\_collect\_stop@{tcap\_trans\_track\_garbage\_collect\_stop}}
\index{tcap\_trans\_track\_garbage\_collect\_stop@{tcap\_trans\_track\_garbage\_collect\_stop}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{tcap\_trans\_track\_garbage\_collect\_stop()}
{\footnotesize\ttfamily void tcap\+\_\+trans\+\_\+track\+\_\+garbage\+\_\+collect\+\_\+stop (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



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

\mbox{\label{tcap__trans__tracking_8c_aaa466dcf1c80d52ab6beafe4d9cdf465}} 
\index{tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}!trans\_sccp\_addr\_cpy@{trans\_sccp\_addr\_cpy}}
\index{trans\_sccp\_addr\_cpy@{trans\_sccp\_addr\_cpy}!tcap\_trans\_tracking.c@{tcap\_trans\_tracking.c}}
\doxysubsubsection{trans\_sccp\_addr\_cpy()}
{\footnotesize\ttfamily static void trans\+\_\+sccp\+\_\+addr\+\_\+cpy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{dst,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, and \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ssn}.



Referenced by \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+create()}.

