\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()}.