\doxysection{src/ss7\+\_\+instance.h File Reference} \label{ss7__instance_8h}\index{src/ss7\_instance.h@{src/ss7\_instance.h}} {\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include $<$stdbool.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/tdef.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/timer.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/timer\+\_\+compat.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/rate\+\_\+ctr.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/protocol/mtp.\+h$>$}\newline \doxysubsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} \item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} \item struct \textbf{ t8\+\_\+inaccessible\+\_\+sp\+\_\+entry} \end{DoxyCompactItemize} \doxysubsection*{Macros} \begin{DoxyCompactItemize} \item \#define \textbf{ SS7\+\_\+\+INST\+\_\+\+XUA\+\_\+\+DEFAULT\+\_\+\+T8\+\_\+\+MSEC}~1000 \item \#define \textbf{ \+\_\+\+LOGSS7}(inst, subsys, level, fmt, args ...)~ LOGP(subsys, level, \char`\"{}\%u\+: \char`\"{} fmt, inst ? (inst)-\/$>$cfg.\+id \+: 0, \#\# args) \item \#define \textbf{ LOGSS7}(inst, level, fmt, args ...)~ \textbf{ \+\_\+\+LOGSS7}(inst, DLSS7, level, fmt, \#\# args) \end{DoxyCompactItemize} \doxysubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \textbf{ ss7\+\_\+instance\+\_\+xua\+\_\+timer} \{ \textbf{ SS7\+\_\+\+INST\+\_\+\+XUA\+\_\+\+T8} = 1 , \textbf{ SS7\+\_\+\+INST\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN} \} \item enum \textbf{ ss7\+\_\+instance\+\_\+ctr} \{ \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL} , \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+UNKNOWN} , \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+NI\+\_\+\+MISMATCH} , \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+TX\+\_\+\+TOTAL} \} \end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ ss7\+\_\+instance\+\_\+alloc} (void $\ast$ctx, uint32\+\_\+t id) \item uint32\+\_\+t \textbf{ ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \item struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+instance\+\_\+lookup\+\_\+route} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$rtlabel) \begin{DoxyCompactList}\small\item\em Find a SS7 route for given destination point code in given SS7. \end{DoxyCompactList}\item bool \textbf{ ss7\+\_\+instance\+\_\+t8\+\_\+inaccessible\+\_\+sp\+\_\+running} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}) \item void \textbf{ ss7\+\_\+instance\+\_\+t8\+\_\+inaccessible\+\_\+sp\+\_\+start} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}) \end{DoxyCompactItemize} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item const struct value\+\_\+string \textbf{ ss7\+\_\+instance\+\_\+xua\+\_\+timer\+\_\+names} [$\,$] \item const struct osmo\+\_\+tdef \textbf{ ss7\+\_\+instance\+\_\+xua\+\_\+timer\+\_\+defaults} [\textbf{ SS7\+\_\+\+INST\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN}] \end{DoxyCompactItemize} \doxysubsection{Macro Definition Documentation} \mbox{\label{ss7__instance_8h_af5807da1745319c92a7d5bba0a39f07c}} \index{ss7\_instance.h@{ss7\_instance.h}!\_LOGSS7@{\_LOGSS7}} \index{\_LOGSS7@{\_LOGSS7}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{\_LOGSS7} {\footnotesize\ttfamily \#define \+\_\+\+LOGSS7(\begin{DoxyParamCaption}\item[{}]{inst, }\item[{}]{subsys, }\item[{}]{level, }\item[{}]{fmt, }\item[{}]{args ... }\end{DoxyParamCaption})~ LOGP(subsys, level, \char`\"{}\%u\+: \char`\"{} fmt, inst ? (inst)-\/$>$cfg.\+id \+: 0, \#\# args)} \mbox{\label{ss7__instance_8h_aec14b54ffb5b79dcfd0e4eb5931e0ff6}} \index{ss7\_instance.h@{ss7\_instance.h}!LOGSS7@{LOGSS7}} \index{LOGSS7@{LOGSS7}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{LOGSS7} {\footnotesize\ttfamily \#define LOGSS7(\begin{DoxyParamCaption}\item[{}]{inst, }\item[{}]{level, }\item[{}]{fmt, }\item[{}]{args ... }\end{DoxyParamCaption})~ \textbf{ \+\_\+\+LOGSS7}(inst, DLSS7, level, fmt, \#\# args)} \mbox{\label{ss7__instance_8h_a871e3158bad0e17efc2cbe8a745b7ed5}} \index{ss7\_instance.h@{ss7\_instance.h}!SS7\_INST\_XUA\_DEFAULT\_T8\_MSEC@{SS7\_INST\_XUA\_DEFAULT\_T8\_MSEC}} \index{SS7\_INST\_XUA\_DEFAULT\_T8\_MSEC@{SS7\_INST\_XUA\_DEFAULT\_T8\_MSEC}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{SS7\_INST\_XUA\_DEFAULT\_T8\_MSEC} {\footnotesize\ttfamily \#define SS7\+\_\+\+INST\+\_\+\+XUA\+\_\+\+DEFAULT\+\_\+\+T8\+\_\+\+MSEC~1000} \doxysubsection{Enumeration Type Documentation} \mbox{\label{ss7__instance_8h_aa554641d0bf1f4fb8c28433d19ddd546}} \index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_ctr@{ss7\_instance\_ctr}} \index{ss7\_instance\_ctr@{ss7\_instance\_ctr}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{ss7\_instance\_ctr} {\footnotesize\ttfamily enum \textbf{ ss7\+\_\+instance\+\_\+ctr}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_INST\_CTR\_PKT\_RX\_TOTAL@{SS7\_INST\_CTR\_PKT\_RX\_TOTAL}!ss7\_instance.h@{ss7\_instance.h}}\index{ss7\_instance.h@{ss7\_instance.h}!SS7\_INST\_CTR\_PKT\_RX\_TOTAL@{SS7\_INST\_CTR\_PKT\_RX\_TOTAL}}}\mbox{\label{ss7__instance_8h_aa554641d0bf1f4fb8c28433d19ddd546a5b2acab4c62823de181aa6be4d48b618}} SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+TOTAL&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_INST\_CTR\_PKT\_RX\_UNKNOWN@{SS7\_INST\_CTR\_PKT\_RX\_UNKNOWN}!ss7\_instance.h@{ss7\_instance.h}}\index{ss7\_instance.h@{ss7\_instance.h}!SS7\_INST\_CTR\_PKT\_RX\_UNKNOWN@{SS7\_INST\_CTR\_PKT\_RX\_UNKNOWN}}}\mbox{\label{ss7__instance_8h_aa554641d0bf1f4fb8c28433d19ddd546a63135f79a0a270b074f30bd14d93685d}} SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+UNKNOWN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_INST\_CTR\_PKT\_RX\_NI\_MISMATCH@{SS7\_INST\_CTR\_PKT\_RX\_NI\_MISMATCH}!ss7\_instance.h@{ss7\_instance.h}}\index{ss7\_instance.h@{ss7\_instance.h}!SS7\_INST\_CTR\_PKT\_RX\_NI\_MISMATCH@{SS7\_INST\_CTR\_PKT\_RX\_NI\_MISMATCH}}}\mbox{\label{ss7__instance_8h_aa554641d0bf1f4fb8c28433d19ddd546a2a560f1837ac4e1a461852fe3581fb39}} SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+RX\+\_\+\+NI\+\_\+\+MISMATCH&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_INST\_CTR\_PKT\_TX\_TOTAL@{SS7\_INST\_CTR\_PKT\_TX\_TOTAL}!ss7\_instance.h@{ss7\_instance.h}}\index{ss7\_instance.h@{ss7\_instance.h}!SS7\_INST\_CTR\_PKT\_TX\_TOTAL@{SS7\_INST\_CTR\_PKT\_TX\_TOTAL}}}\mbox{\label{ss7__instance_8h_aa554641d0bf1f4fb8c28433d19ddd546add3b68a94984de3059fb74a37f21e44a}} SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+TX\+\_\+\+TOTAL&\\ \hline \end{DoxyEnumFields} \mbox{\label{ss7__instance_8h_aa01ff16bde0054f7bbed33af8d78a0fa}} \index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_xua\_timer@{ss7\_instance\_xua\_timer}} \index{ss7\_instance\_xua\_timer@{ss7\_instance\_xua\_timer}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{ss7\_instance\_xua\_timer} {\footnotesize\ttfamily enum \textbf{ ss7\+\_\+instance\+\_\+xua\+\_\+timer}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_INST\_XUA\_T8@{SS7\_INST\_XUA\_T8}!ss7\_instance.h@{ss7\_instance.h}}\index{ss7\_instance.h@{ss7\_instance.h}!SS7\_INST\_XUA\_T8@{SS7\_INST\_XUA\_T8}}}\mbox{\label{ss7__instance_8h_aa01ff16bde0054f7bbed33af8d78a0faa55cc365b4178d7a2208f4967a44bd4a8}} SS7\+\_\+\+INST\+\_\+\+XUA\+\_\+\+T8&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{SS7\_INST\_XUA\_TIMERS\_LEN@{SS7\_INST\_XUA\_TIMERS\_LEN}!ss7\_instance.h@{ss7\_instance.h}}\index{ss7\_instance.h@{ss7\_instance.h}!SS7\_INST\_XUA\_TIMERS\_LEN@{SS7\_INST\_XUA\_TIMERS\_LEN}}}\mbox{\label{ss7__instance_8h_aa01ff16bde0054f7bbed33af8d78a0faa445435f390cdd53bdb108adfe51c4a6a}} SS7\+\_\+\+INST\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN&\\ \hline \end{DoxyEnumFields} \doxysubsection{Function Documentation} \mbox{\label{ss7__instance_8h_a6ecdf4b66511e0d65caedeab81f3f4d3}} \index{ss7\_instance.h@{ss7\_instance.h}!ss7\_find\_free\_l\_rk\_id@{ss7\_find\_free\_l\_rk\_id}} \index{ss7\_find\_free\_l\_rk\_id@{ss7\_find\_free\_l\_rk\_id}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{ss7\_find\_free\_l\_rk\_id()} {\footnotesize\ttfamily uint32\+\_\+t ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References \textbf{ next\+\_\+l\+\_\+rk\+\_\+id}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id()}. Referenced by \textbf{ ss7\+\_\+as\+\_\+alloc()}. \mbox{\label{ss7__instance_8h_afc494c6614b4d872e414b662ae23baf7}} \index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_alloc@{ss7\_instance\_alloc}} \index{ss7\_instance\_alloc@{ss7\_instance\_alloc}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{ss7\_instance\_alloc()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ ss7\+\_\+instance\+\_\+alloc (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx, }\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::delimiter}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::linksets}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, \textbf{ LOGSS7}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+instances}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PC\+\_\+\+INVALID}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp\+\_\+address\+\_\+book}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::secondary\+\_\+pc}, \textbf{ ss7\+\_\+inst\+\_\+rcgd}, \textbf{ ss7\+\_\+instance\+\_\+xua\+\_\+timer\+\_\+defaults}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::t8\+\_\+inaccessible\+\_\+sp}, \textbf{ t8\+\_\+inaccessible\+\_\+sp\+\_\+timer\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::\+T\+\_\+defs\+\_\+xua}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::timer}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::xua\+\_\+servers}. Referenced by \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}. \mbox{\label{ss7__instance_8h_a154eb42c95d9d897d8abeb337c9200eb}} \index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_lookup\_route@{ss7\_instance\_lookup\_route}} \index{ss7\_instance\_lookup\_route@{ss7\_instance\_lookup\_route}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{ss7\_instance\_lookup\_route()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+instance\+\_\+lookup\+\_\+route (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$}]{rtlabel }\end{DoxyParamCaption})} Find a SS7 route for given destination point code in given SS7. References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ ss7\+\_\+initialized}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route()}. Referenced by \textbf{ DEFUN()}, \textbf{ gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua()}, \textbf{ mtp3\+\_\+hmrt\+\_\+message\+\_\+for\+\_\+routing()}, \textbf{ mtp3\+\_\+rtpc\+\_\+rx\+\_\+msg\+\_\+for\+\_\+inaccessible\+\_\+sp()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup()}. \mbox{\label{ss7__instance_8h_a19ed0836cbb9f57171078d03e5189631}} \index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_t8\_inaccessible\_sp\_running@{ss7\_instance\_t8\_inaccessible\_sp\_running}} \index{ss7\_instance\_t8\_inaccessible\_sp\_running@{ss7\_instance\_t8\_inaccessible\_sp\_running}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{ss7\_instance\_t8\_inaccessible\_sp\_running()} {\footnotesize\ttfamily bool ss7\+\_\+instance\+\_\+t8\+\_\+inaccessible\+\_\+sp\+\_\+running (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})} References \textbf{ dpc}, \textbf{ t8\+\_\+inaccessible\+\_\+sp\+\_\+entry\+::dpc}, \textbf{ t8\+\_\+inaccessible\+\_\+sp\+\_\+entry\+::entry}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::t8\+\_\+inaccessible\+\_\+sp}. Referenced by \textbf{ mtp3\+\_\+rtpc\+\_\+rx\+\_\+msg\+\_\+for\+\_\+inaccessible\+\_\+sp()}, and \textbf{ ss7\+\_\+instance\+\_\+t8\+\_\+inaccessible\+\_\+sp\+\_\+start()}. \mbox{\label{ss7__instance_8h_abaeb44378c124cc9d288311fad51afaa}} \index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_t8\_inaccessible\_sp\_start@{ss7\_instance\_t8\_inaccessible\_sp\_start}} \index{ss7\_instance\_t8\_inaccessible\_sp\_start@{ss7\_instance\_t8\_inaccessible\_sp\_start}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{ss7\_instance\_t8\_inaccessible\_sp\_start()} {\footnotesize\ttfamily void ss7\+\_\+instance\+\_\+t8\+\_\+inaccessible\+\_\+sp\+\_\+start (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ dpc}, \textbf{ t8\+\_\+inaccessible\+\_\+sp\+\_\+entry\+::dpc}, \textbf{ t8\+\_\+inaccessible\+\_\+sp\+\_\+entry\+::entry}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, \textbf{ LOGSS7}, \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}, \textbf{ SS7\+\_\+\+INST\+\_\+\+XUA\+\_\+\+T8}, \textbf{ ss7\+\_\+instance\+\_\+t8\+\_\+inaccessible\+\_\+sp\+\_\+running()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::t8\+\_\+inaccessible\+\_\+sp}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::\+T\+\_\+defs\+\_\+xua}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::timer}, and \textbf{ t8\+\_\+inaccessible\+\_\+sp\+\_\+entry\+::ts\+\_\+started}. Referenced by \textbf{ mtp3\+\_\+rtpc\+\_\+rx\+\_\+msg\+\_\+for\+\_\+inaccessible\+\_\+sp()}. \doxysubsection{Variable Documentation} \mbox{\label{ss7__instance_8h_adbdd407c528dd2393a1ba7b3c4c9e46f}} \index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_xua\_timer\_defaults@{ss7\_instance\_xua\_timer\_defaults}} \index{ss7\_instance\_xua\_timer\_defaults@{ss7\_instance\_xua\_timer\_defaults}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{ss7\_instance\_xua\_timer\_defaults} {\footnotesize\ttfamily const struct osmo\+\_\+tdef ss7\+\_\+instance\+\_\+xua\+\_\+timer\+\_\+defaults[\textbf{ SS7\+\_\+\+INST\+\_\+\+XUA\+\_\+\+TIMERS\+\_\+\+LEN}]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ gen\+\_\+cs7\+\_\+timer\+\_\+xua\+\_\+cmd\+\_\+strs()}, and \textbf{ ss7\+\_\+instance\+\_\+alloc()}. \mbox{\label{ss7__instance_8h_aff5e6fc6d5f9484e1c72054619a35a92}} \index{ss7\_instance.h@{ss7\_instance.h}!ss7\_instance\_xua\_timer\_names@{ss7\_instance\_xua\_timer\_names}} \index{ss7\_instance\_xua\_timer\_names@{ss7\_instance\_xua\_timer\_names}!ss7\_instance.h@{ss7\_instance.h}} \doxysubsubsection{ss7\_instance\_xua\_timer\_names} {\footnotesize\ttfamily const struct value\+\_\+string ss7\+\_\+instance\+\_\+xua\+\_\+timer\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ gen\+\_\+cs7\+\_\+timer\+\_\+xua\+\_\+cmd\+\_\+strs()}, and \textbf{ write\+\_\+cs7\+\_\+timers\+\_\+xua()}.