\section{include/osmocom/sigtran/osmo\+\_\+ss7.h File Reference} \label{osmo__ss7_8h}\index{include/osmocom/sigtran/osmo\+\_\+ss7.\+h@{include/osmocom/sigtran/osmo\+\_\+ss7.\+h}} {\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include $<$stdbool.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/fsm.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/prim.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/socket.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/rate\+\_\+ctr.\+h$>$}\newline \subsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} \item struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} \item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} \item struct \textbf{ osmo\+\_\+ss7\+\_\+user} \item struct \textbf{ osmo\+\_\+ss7\+\_\+link} \item struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} \item struct \textbf{ osmo\+\_\+ss7\+\_\+route} \item struct \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key} \item struct \textbf{ osmo\+\_\+ss7\+\_\+as} \item struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} \item struct \textbf{ osmo\+\_\+ss7\+\_\+asp} \item struct \textbf{ osmo\+\_\+xua\+\_\+layer\+\_\+manager} \item struct \textbf{ osmo\+\_\+xua\+\_\+server} \end{DoxyCompactItemize} \subsection*{Macros} \begin{DoxyCompactItemize} \item \#define \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+C\+\_\+\+I\+N\+V\+A\+L\+ID}~0xffffffff \item \#define \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+N\+O\+\_\+\+N\+O\+T\+I\+FY}~0x00000001 \begin{DoxyCompactList}\small\item\em Peer SG doesn\textquotesingle{}t send N\+T\+FY(A\+S-\/\+I\+N\+A\+C\+T\+I\+VE) after A\+S\+P-\/\+UP procedure. \end{DoxyCompactList}\item \#define \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+D\+A\+U\+D\+\_\+\+I\+N\+\_\+\+A\+SP}~0x00000002 \begin{DoxyCompactList}\small\item\em Accept D\+A\+UD in A\+SP role (R\+FC states only permitted in A\+S\+P-\/$>$SG role) \end{DoxyCompactList}\item \#define \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+S\+N\+M\+\_\+\+I\+N\+A\+C\+T\+I\+VE}~0x00000004 \begin{DoxyCompactList}\small\item\em Accept S\+S\+NM even if A\+SP is in A\+S-\/\+I\+N\+A\+C\+T\+I\+VE state. \end{DoxyCompactList}\item \#define \textbf{ \+\_\+\+L\+O\+G\+S\+S7}(inst, subsys, level, fmt, args ...)~L\+O\+GP(subsys, level, \char`\"{}\%u\+: \char`\"{} fmt, inst ? (inst)-\/$>$cfg.\+id \+: 0, \#\# args) \item \#define \textbf{ L\+O\+G\+S\+S7}(inst, level, fmt, args ...)~\textbf{ \+\_\+\+L\+O\+G\+S\+S7}(inst, D\+L\+S\+S7, level, fmt, \#\# args) \item \#define \textbf{ L\+O\+G\+P\+A\+SP}(asp, subsys, level, fmt, args ...)~\textbf{ \+\_\+\+L\+O\+G\+S\+S7}((asp)-\/$>$inst, subsys, level, \char`\"{}asp-\/\%s\+: \char`\"{} fmt, (asp)-\/$>$cfg.\+name, \#\# args) \item \#define \textbf{ L\+O\+G\+P\+AS}(as, subsys, level, fmt, args ...)~\textbf{ \+\_\+\+L\+O\+G\+S\+S7}((as)-\/$>$inst, subsys, level, \char`\"{}as-\/\%s\+: \char`\"{} fmt, (as)-\/$>$cfg.\+name, \#\# args) \end{DoxyCompactItemize} \subsection*{Typedefs} \begin{DoxyCompactItemize} \item typedef int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}(struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, int ppid\+\_\+mux, struct msgb $\ast$msg) \begin{DoxyCompactList}\small\item\em Weak function to handle payload for unknown/unsupported P\+P\+ID or I\+PA Stream\+ID. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+adm\+\_\+state} \{ \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+I\+N\+H\+I\+B\+I\+T\+ED}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+E\+N\+A\+B\+L\+ED}, \textbf{ \+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+LS} \} \item enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} \{ \newline \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE} = 0, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+R\+O\+U\+N\+D\+R\+O\+B\+IN}, \newline \textbf{ \+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+T\+M\+OD} \} \item enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} \{ \newline \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+N\+O\+NE}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA}, \newline \textbf{ \+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+OT} \} \item enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode} \{ \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+N\+O\+NE}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+B\+O\+TH} \} \item enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state} \{ \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+B\+L\+O\+C\+K\+ED}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+E\+N\+A\+B\+L\+ED} \} \item enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+role} \{ \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+A\+SP}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+SG}, \textbf{ O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+I\+P\+SP} \} \end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item int \textbf{ osmo\+\_\+ss7\+\_\+init} (void) \item int \textbf{ osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \item bool \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc) \item int \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$str) \item int \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$in) \item const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf} (char $\ast$buf, size\+\_\+t buf\+\_\+len, const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc) \item const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc) \item const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc) \item static bool \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid} (uint32\+\_\+t pc) \item struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name) \item struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name) \item void \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl) \item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find} (uint32\+\_\+t id) \begin{DoxyCompactList}\small\item\em Find a S\+S7 Instance with given ID. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create} (void $\ast$ctx, uint32\+\_\+t id) \begin{DoxyCompactList}\small\item\em Find or create a S\+S7 Instance. \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \begin{DoxyCompactList}\small\item\em Destroy a S\+S7 Instance. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+set\+\_\+pc\+\_\+fmt} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint8\+\_\+t c0, uint8\+\_\+t c1, uint8\+\_\+t c2) \begin{DoxyCompactList}\small\item\em Set the point code format used in given S\+S7 instance. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \begin{DoxyCompactList}\small\item\em Allocate an S\+C\+CP instance, if not present yet. \end{DoxyCompactList}\item uint8\+\_\+t \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt) \item uint32\+\_\+t \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt, uint32\+\_\+t pc) \item int \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+register} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint8\+\_\+t service\+\_\+ind, struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user) \begin{DoxyCompactList}\small\item\em Register a M\+TP user for a given service indicator. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+unregister} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint8\+\_\+t service\+\_\+ind, struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user) \begin{DoxyCompactList}\small\item\em Unregister a M\+TP user for a given service indicator. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+mtp\+\_\+to\+\_\+user} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$omp) \item int \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$omp) \item void \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+link} $\ast$link) \begin{DoxyCompactList}\small\item\em Destroy S\+S7 Link. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+link} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$lset, uint32\+\_\+t id) \begin{DoxyCompactList}\small\item\em Find or create S\+S7 Link with given ID in given Linkset. \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$lset) \begin{DoxyCompactList}\small\item\em Destroy a S\+S7 Linkset. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name) \begin{DoxyCompactList}\small\item\em Find S\+S7 Linkset by given name. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, uint32\+\_\+t pc) \begin{DoxyCompactList}\small\item\em Find or allocate S\+S7 Linkset. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}) \begin{DoxyCompactList}\small\item\em Find a S\+S7 route for given destination point code in given table. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t mask) \begin{DoxyCompactList}\small\item\em Find a S\+S7 route for given destination point code + mask in given table. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}) \begin{DoxyCompactList}\small\item\em Find a S\+S7 route for given destination point code in given S\+S7. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t mask, const char $\ast$linkset\+\_\+name) \begin{DoxyCompactList}\small\item\em Create a new route in the given routing table. \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt) \begin{DoxyCompactList}\small\item\em Destroy a given S\+S7 route. \end{DoxyCompactList}\item const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt) \item const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+name} (struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt, bool list\+\_\+asps) \begin{DoxyCompactList}\small\item\em Return human readable representation of the route, in a static buffer. \end{DoxyCompactList}\item static const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name} (enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} mode) \item static const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name} (enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} mode) \item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port} (enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot) \item struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name) \begin{DoxyCompactList}\small\item\em Find Application Server by given name. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t rctx) \begin{DoxyCompactList}\small\item\em Find Application Server by given routing context. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t l\+\_\+rk\+\_\+id) \begin{DoxyCompactList}\small\item\em Find Application Server by given local routing key ID. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto) \begin{DoxyCompactList}\small\item\em Find Application Server (AS) by given protocol. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto) \begin{DoxyCompactList}\small\item\em Find or Create Application Server. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const char $\ast$asp\+\_\+name) \begin{DoxyCompactList}\small\item\em Add given A\+SP to given AS. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const char $\ast$asp\+\_\+name) \begin{DoxyCompactList}\small\item\em Delete given A\+SP from given AS. \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as) \begin{DoxyCompactList}\small\item\em Destroy given Application Server. \end{DoxyCompactList}\item bool \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp} (const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \begin{DoxyCompactList}\small\item\em Determine if given AS contains A\+SP. \end{DoxyCompactList}\item bool \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+down} (const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as) \begin{DoxyCompactList}\small\item\em Determine if given AS is in the down state. \end{DoxyCompactList}\item bool \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+active} (const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as) \begin{DoxyCompactList}\small\item\em Determine if given AS is in the active state. \end{DoxyCompactList}\item bool \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, uint32\+\_\+t m3ua\+\_\+tmt) \item void \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf} (char $\ast$buf, size\+\_\+t buf\+\_\+len, struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer) \item void \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer) \item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, void $\ast$talloc\+\_\+ctx, const char $\ast$const $\ast$hosts, size\+\_\+t host\+\_\+cnt) \begin{DoxyCompactList}\small\item\em Set (copy) addresses for a given A\+SP peer. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, void $\ast$talloc\+\_\+ctx, const char $\ast$const $\ast$hosts, size\+\_\+t host\+\_\+cnt, int idx\+\_\+primary) \begin{DoxyCompactList}\small\item\em Set (copy) addresses for a given A\+SP peer. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, void $\ast$talloc\+\_\+ctx, const char $\ast$host) \begin{DoxyCompactList}\small\item\em Append (copy) address to a given A\+SP peer. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, void $\ast$talloc\+\_\+ctx, const char $\ast$host, bool is\+\_\+primary\+\_\+addr) \begin{DoxyCompactList}\small\item\em Append (copy) address to a given A\+SP peer. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, const char $\ast$host) \begin{DoxyCompactList}\small\item\em Remove address from a given A\+SP peer. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name) \item struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto) \begin{DoxyCompactList}\small\item\em Find an A\+SP that matches the given A\+SP protocol (x\+UA variant). \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, uint16\+\_\+t remote\+\_\+port, uint16\+\_\+t local\+\_\+port, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto) O\+S\+M\+O\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED(\char`\"{}Use \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find2}() instead\char`\"{}) \item struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find2} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, uint16\+\_\+t remote\+\_\+port, uint16\+\_\+t local\+\_\+port, int trans\+\_\+proto, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto) \item struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, uint16\+\_\+t remote\+\_\+port, uint16\+\_\+t local\+\_\+port, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto) O\+S\+M\+O\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED(\char`\"{}Use \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2}() instead\char`\"{}) \item struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, uint16\+\_\+t remote\+\_\+port, uint16\+\_\+t local\+\_\+port, int trans\+\_\+proto, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto) \item void \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+send} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct msgb $\ast$msg) \begin{DoxyCompactList}\small\item\em send a fully encoded msgb via a given A\+SP \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, int log\+\_\+level) \item bool \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+active} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \begin{DoxyCompactList}\small\item\em Get the logging subsystem for a given A\+SP. \end{DoxyCompactList}\item const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \begin{DoxyCompactList}\small\item\em Get the name of a given A\+SP. \end{DoxyCompactList}\item enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \begin{DoxyCompactList}\small\item\em Get the proto of a given A\+SP. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \begin{DoxyCompactList}\small\item\em Get the transport proto of a given A\+SP. \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb} (\textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb} $\ast$cb) \begin{DoxyCompactList}\small\item\em Register a call-\/back function for unknown S\+C\+TP P\+P\+ID / I\+PA Stream ID. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto, uint16\+\_\+t local\+\_\+port) O\+S\+M\+O\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED(\char`\"{}Use \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2}() instead\char`\"{}) \begin{DoxyCompactList}\small\item\em find an x\+UA server with the given parameters \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, int trans\+\_\+proto, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto, uint16\+\_\+t local\+\_\+port) \begin{DoxyCompactList}\small\item\em find an x\+UA server with the given parameters \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto, uint16\+\_\+t local\+\_\+port, const char $\ast$local\+\_\+host) O\+S\+M\+O\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+ED(\char`\"{}Use \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2}() instead\char`\"{}) \begin{DoxyCompactList}\small\item\em create a new x\+UA server configured with given ip/port \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, int trans\+\_\+proto, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto, uint16\+\_\+t local\+\_\+port, const char $\ast$local\+\_\+host) \begin{DoxyCompactList}\small\item\em create a new x\+UA server configured with given ip/port \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs) \begin{DoxyCompactList}\small\item\em Set the x\+UA server to bind/listen to the currently configured ip/port. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$local\+\_\+host) \item int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$$\ast$local\+\_\+hosts, size\+\_\+t local\+\_\+host\+\_\+cnt) \item int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$local\+\_\+host) \item int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$local\+\_\+host) \item void \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs) \item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client} (void $\ast$ctx, const char $\ast$name, uint32\+\_\+t default\+\_\+pc, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, int default\+\_\+local\+\_\+port, const char $\ast$default\+\_\+local\+\_\+ip, int default\+\_\+remote\+\_\+port, const char $\ast$default\+\_\+remote\+\_\+ip) \begin{DoxyCompactList}\small\item\em request an sccp client instance \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id} (void $\ast$ctx, uint32\+\_\+t ss7\+\_\+id, const char $\ast$name, uint32\+\_\+t default\+\_\+pc, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, int default\+\_\+local\+\_\+port, const char $\ast$default\+\_\+local\+\_\+ip, int default\+\_\+remote\+\_\+port, const char $\ast$default\+\_\+remote\+\_\+ip) \begin{DoxyCompactList}\small\item\em request an sccp client instance \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server} (void $\ast$ctx, uint32\+\_\+t pc, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, int local\+\_\+port, const char $\ast$local\+\_\+ip) \item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id} (void $\ast$ctx, uint32\+\_\+t ss7\+\_\+id, uint32\+\_\+t pc, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, int local\+\_\+port, const char $\ast$local\+\_\+ip) \item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, const char $\ast$name, uint32\+\_\+t pc, int local\+\_\+port, int remote\+\_\+port, const char $\ast$remote\+\_\+ip) \item void \textbf{ osmo\+\_\+sccp\+\_\+set\+\_\+max\+\_\+optional\+\_\+data} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, int val) \begin{DoxyCompactList}\small\item\em Adjust the upper bound for the optional data length (the payload) for CR, CC, C\+R\+EF and R\+L\+SD messages. \end{DoxyCompactList}\item enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} \textbf{ osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua} (uint32\+\_\+t in) \item int \textbf{ osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua} (enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} tmod) \item void \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp} (void $\ast$ctx) \item void \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg} (void $\ast$ctx) \item int \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent} (struct vty $\ast$vty) \item int \textbf{ osmo\+\_\+ss7\+\_\+is\+\_\+config\+\_\+node} (struct vty $\ast$vty, int node) \end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item struct llist\+\_\+head \textbf{ osmo\+\_\+ss7\+\_\+instances} \item struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals} [$\,$] \item struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals} [$\,$] \item const struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names} [$\,$] \end{DoxyCompactItemize} \subsection{Macro Definition Documentation} \mbox{\label{osmo__ss7_8h_af5807da1745319c92a7d5bba0a39f07c}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!\+\_\+\+L\+O\+G\+S\+S7@{\+\_\+\+L\+O\+G\+S\+S7}} \index{\+\_\+\+L\+O\+G\+S\+S7@{\+\_\+\+L\+O\+G\+S\+S7}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{\+\_\+\+L\+O\+G\+S\+S7} {\footnotesize\ttfamily \#define \+\_\+\+L\+O\+G\+S\+S7(\begin{DoxyParamCaption}\item[{}]{inst, }\item[{}]{subsys, }\item[{}]{level, }\item[{}]{fmt, }\item[{}]{args ... }\end{DoxyParamCaption})~L\+O\+GP(subsys, level, \char`\"{}\%u\+: \char`\"{} fmt, inst ? (inst)-\/$>$cfg.\+id \+: 0, \#\# args)} \mbox{\label{osmo__ss7_8h_aa4be2c672a6e465517106d91c681837c}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!L\+O\+G\+P\+AS@{L\+O\+G\+P\+AS}} \index{L\+O\+G\+P\+AS@{L\+O\+G\+P\+AS}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{L\+O\+G\+P\+AS} {\footnotesize\ttfamily \#define L\+O\+G\+P\+AS(\begin{DoxyParamCaption}\item[{}]{as, }\item[{}]{subsys, }\item[{}]{level, }\item[{}]{fmt, }\item[{}]{args ... }\end{DoxyParamCaption})~\textbf{ \+\_\+\+L\+O\+G\+S\+S7}((as)-\/$>$inst, subsys, level, \char`\"{}as-\/\%s\+: \char`\"{} fmt, (as)-\/$>$cfg.\+name, \#\# args)} Referenced by handle\+\_\+rkey\+\_\+reg(), ipa\+\_\+tx\+\_\+xua\+\_\+as(), osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp(), osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp(), osmo\+\_\+ss7\+\_\+as\+\_\+destroy(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create(), and xua\+\_\+asp\+\_\+fsm\+\_\+inactive(). \mbox{\label{osmo__ss7_8h_a730407c0c9a8ac0cc119aa0c56a87a24}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!L\+O\+G\+P\+A\+SP@{L\+O\+G\+P\+A\+SP}} \index{L\+O\+G\+P\+A\+SP@{L\+O\+G\+P\+A\+SP}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{L\+O\+G\+P\+A\+SP} {\footnotesize\ttfamily \#define L\+O\+G\+P\+A\+SP(\begin{DoxyParamCaption}\item[{}]{asp, }\item[{}]{subsys, }\item[{}]{level, }\item[{}]{fmt, }\item[{}]{args ... }\end{DoxyParamCaption})~\textbf{ \+\_\+\+L\+O\+G\+S\+S7}((asp)-\/$>$inst, subsys, level, \char`\"{}asp-\/\%s\+: \char`\"{} fmt, (asp)-\/$>$cfg.\+name, \#\# args)} Referenced by handle\+\_\+rkey\+\_\+dereg(), handle\+\_\+rkey\+\_\+dereg\+\_\+resp(), handle\+\_\+rkey\+\_\+reg(), handle\+\_\+rkey\+\_\+reg\+\_\+resp(), ipa\+\_\+rx\+\_\+msg\+\_\+ccm(), ipa\+\_\+rx\+\_\+msg\+\_\+sccp(), log\+\_\+sctp\+\_\+notification(), m3ua\+\_\+rx\+\_\+mgmt\+\_\+err(), m3ua\+\_\+rx\+\_\+mgmt\+\_\+ntfy(), m3ua\+\_\+rx\+\_\+msg(), m3ua\+\_\+rx\+\_\+rkm(), m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req(), m3ua\+\_\+rx\+\_\+snm(), m3ua\+\_\+rx\+\_\+snm\+\_\+asp(), m3ua\+\_\+rx\+\_\+xfer(), osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), osmo\+\_\+ss7\+\_\+asp\+\_\+restart(), osmo\+\_\+ss7\+\_\+asp\+\_\+send(), osmo\+\_\+xlm\+\_\+sap\+\_\+down(), patch\+\_\+sccp\+\_\+with\+\_\+pc(), ss7\+\_\+asp\+\_\+apply\+\_\+drop\+\_\+local\+\_\+address(), ss7\+\_\+asp\+\_\+apply\+\_\+new\+\_\+local\+\_\+address(), ss7\+\_\+asp\+\_\+apply\+\_\+peer\+\_\+primary\+\_\+address(), ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address(), ss7\+\_\+asp\+\_\+rx\+\_\+unknown(), ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb(), sua\+\_\+rx\+\_\+mgmt\+\_\+err(), sua\+\_\+rx\+\_\+mgmt\+\_\+ntfy(), sua\+\_\+rx\+\_\+msg(), sua\+\_\+rx\+\_\+snm(), sua\+\_\+rx\+\_\+snm\+\_\+asp(), xua\+\_\+accept\+\_\+cb(), xua\+\_\+cli\+\_\+connect\+\_\+cb(), xua\+\_\+cli\+\_\+read\+\_\+cb(), xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp(), xua\+\_\+snm\+\_\+rx\+\_\+daud(), xua\+\_\+snm\+\_\+rx\+\_\+dava(), xua\+\_\+snm\+\_\+rx\+\_\+duna(), xua\+\_\+snm\+\_\+rx\+\_\+dupu(), and xua\+\_\+snm\+\_\+rx\+\_\+scon(). \mbox{\label{osmo__ss7_8h_aec14b54ffb5b79dcfd0e4eb5931e0ff6}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!L\+O\+G\+S\+S7@{L\+O\+G\+S\+S7}} \index{L\+O\+G\+S\+S7@{L\+O\+G\+S\+S7}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{L\+O\+G\+S\+S7} {\footnotesize\ttfamily \#define L\+O\+G\+S\+S7(\begin{DoxyParamCaption}\item[{}]{inst, }\item[{}]{level, }\item[{}]{fmt, }\item[{}]{args ... }\end{DoxyParamCaption})~\textbf{ \+\_\+\+L\+O\+G\+S\+S7}(inst, D\+L\+S\+S7, level, fmt, \#\# args)} Referenced by osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp(), osmo\+\_\+ss7\+\_\+instance\+\_\+destroy(), osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+instance\+\_\+set\+\_\+pc\+\_\+fmt(), osmo\+\_\+ss7\+\_\+link\+\_\+destroy(), osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy(), osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse(), osmo\+\_\+ss7\+\_\+route\+\_\+create(), osmo\+\_\+ss7\+\_\+route\+\_\+destroy(), and osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create(). \mbox{\label{osmo__ss7_8h_afea7694c204285e517c2d8168628fdd6}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+D\+A\+U\+D\+\_\+\+I\+N\+\_\+\+A\+SP@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+D\+A\+U\+D\+\_\+\+I\+N\+\_\+\+A\+SP}} \index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+D\+A\+U\+D\+\_\+\+I\+N\+\_\+\+A\+SP@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+D\+A\+U\+D\+\_\+\+I\+N\+\_\+\+A\+SP}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+D\+A\+U\+D\+\_\+\+I\+N\+\_\+\+A\+SP} {\footnotesize\ttfamily \#define O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+D\+A\+U\+D\+\_\+\+I\+N\+\_\+\+A\+SP~0x00000002} Accept D\+A\+UD in A\+SP role (R\+FC states only permitted in A\+S\+P-\/$>$SG role) Referenced by m3ua\+\_\+rx\+\_\+snm\+\_\+asp(), and sua\+\_\+rx\+\_\+snm\+\_\+asp(). \mbox{\label{osmo__ss7_8h_ae3698c4ec4d6012ce0328f1ba9d8c167}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+N\+O\+\_\+\+N\+O\+T\+I\+FY@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+N\+O\+\_\+\+N\+O\+T\+I\+FY}} \index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+N\+O\+\_\+\+N\+O\+T\+I\+FY@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+N\+O\+\_\+\+N\+O\+T\+I\+FY}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+N\+O\+\_\+\+N\+O\+T\+I\+FY} {\footnotesize\ttfamily \#define O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+N\+O\+\_\+\+N\+O\+T\+I\+FY~0x00000001} Peer SG doesn\textquotesingle{}t send N\+T\+FY(A\+S-\/\+I\+N\+A\+C\+T\+I\+VE) after A\+S\+P-\/\+UP procedure. Referenced by lm\+\_\+timer\+\_\+cb(). \mbox{\label{osmo__ss7_8h_a6e5deef8cf0cfcc3d7028a2c21a65678}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+S\+N\+M\+\_\+\+I\+N\+A\+C\+T\+I\+VE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+S\+N\+M\+\_\+\+I\+N\+A\+C\+T\+I\+VE}} \index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+S\+N\+M\+\_\+\+I\+N\+A\+C\+T\+I\+VE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+S\+N\+M\+\_\+\+I\+N\+A\+C\+T\+I\+VE}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+S\+N\+M\+\_\+\+I\+N\+A\+C\+T\+I\+VE} {\footnotesize\ttfamily \#define O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+Q\+U\+I\+R\+K\+\_\+\+S\+N\+M\+\_\+\+I\+N\+A\+C\+T\+I\+VE~0x00000004} Accept S\+S\+NM even if A\+SP is in A\+S-\/\+I\+N\+A\+C\+T\+I\+VE state. Referenced by m3ua\+\_\+rx\+\_\+snm(), and sua\+\_\+rx\+\_\+snm(). \mbox{\label{osmo__ss7_8h_ad7ad7dbf55c60c5b66663e6e4dc5e69b}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+C\+\_\+\+I\+N\+V\+A\+L\+ID@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+C\+\_\+\+I\+N\+V\+A\+L\+ID}} \index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+C\+\_\+\+I\+N\+V\+A\+L\+ID@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+C\+\_\+\+I\+N\+V\+A\+L\+ID}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+C\+\_\+\+I\+N\+V\+A\+L\+ID} {\footnotesize\ttfamily \#define O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+C\+\_\+\+I\+N\+V\+A\+L\+ID~0xffffffff} Referenced by osmo\+\_\+sccp\+\_\+user\+\_\+bind(), osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create(), and vty\+\_\+show\+\_\+connection(). \subsection{Typedef Documentation} \mbox{\label{osmo__ss7_8h_a5d23175228d5d795a55f47bbc5e24889}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb@{osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb@{osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb} {\footnotesize\ttfamily typedef int osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb(struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, int ppid\+\_\+mux, struct msgb $\ast$msg)} Weak function to handle payload for unknown/unsupported P\+P\+ID or I\+PA Stream\+ID. This function can be overridden by application code to implement whatever handling it wants for such additional payloads/streams. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & Application Server Process through which data was received \\ \hline \mbox{\tt in} & {\em ppid\+\_\+sid} & S\+C\+TP P\+P\+ID (in sigtran case) or I\+PA Stream ID \\ \hline \mbox{\tt in} & {\em msg} & Message buffer containing received data. Continues to be owned by caller! \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} \subsection{Enumeration Type Documentation} \mbox{\label{osmo__ss7_8h_a0b2887d64dc990999c94b2b6cccdc977}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode@{osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode@{osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+N\+O\+NE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+N\+O\+NE}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+N\+O\+NE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+N\+O\+NE}}}\mbox{\label{osmo__ss7_8h_a0b2887d64dc990999c94b2b6cccdc977abd50362e0202087cc98258086f29e834}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+N\+O\+NE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+B\+O\+TH@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+B\+O\+TH}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+B\+O\+TH@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+B\+O\+TH}}}\mbox{\label{osmo__ss7_8h_a0b2887d64dc990999c94b2b6cccdc977a3645ea045c8a9be707ec49bb63ec33ce}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+A\+T\+C\+H\+\_\+\+B\+O\+TH&\\ \hline \end{DoxyEnumFields} \mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09b}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode@{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode@{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09ba16d53df50849b17d9797a39d25a6bf72}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09ba766c8ce763e566ecd3ab81117fca4d41}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09badb835a5081eb16ff949a7f8dd39dde8c}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+R\+O\+U\+N\+D\+R\+O\+B\+IN@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+R\+O\+U\+N\+D\+R\+O\+B\+IN}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+R\+O\+U\+N\+D\+R\+O\+B\+IN@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+R\+O\+U\+N\+D\+R\+O\+B\+IN}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09ba5d3c3a731900bd7e0e20846d4b244355}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+R\+O\+U\+N\+D\+R\+O\+B\+IN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+T\+M\+OD@{\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+T\+M\+OD}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+T\+M\+OD@{\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+T\+M\+OD}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09ba326c8e5f699e3cfacf0b4aa787903928}} \+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+T\+M\+OD&\\ \hline \end{DoxyEnumFields} \mbox{\label{osmo__ss7_8h_a62938558e6896d94b3bfe6cd642434be}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state@{osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state@{osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN}}}\mbox{\label{osmo__ss7_8h_a62938558e6896d94b3bfe6cd642434bea5795f4a46f72a522be4e5c313ad9417c}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN&no S\+C\+TP association with peer \\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+B\+L\+O\+C\+K\+ED@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+B\+L\+O\+C\+K\+ED}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+B\+L\+O\+C\+K\+ED@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+B\+L\+O\+C\+K\+ED}}}\mbox{\label{osmo__ss7_8h_a62938558e6896d94b3bfe6cd642434bea75d887e97af34a5ee1bb15dd6b4adbaa}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+B\+L\+O\+C\+K\+ED&S\+CP association, but reject A\+S\+P-\/\+A\+C\+T\+I\+VE. \\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+E\+N\+A\+B\+L\+ED@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+E\+N\+A\+B\+L\+ED}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+E\+N\+A\+B\+L\+ED@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+E\+N\+A\+B\+L\+ED}}}\mbox{\label{osmo__ss7_8h_a62938558e6896d94b3bfe6cd642434beafcb41d24486e833aaab117c9dec01950}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+A\+D\+M\+\_\+\+S\+\_\+\+E\+N\+A\+B\+L\+ED&in normal operation \\ \hline \end{DoxyEnumFields} \mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+protocol@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+N\+O\+NE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+N\+O\+NE}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+N\+O\+NE@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+N\+O\+NE}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787a3cdf291e53da96bc606a9b16ff4ebd13}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+N\+O\+NE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787a04a2745c7a4c0d6e8181a7b1b64be453}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787a83953b41cdfda1de5f9acb104cccb7dd}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787a698f1c6b4901d02d7f5cc641ace35a1d}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+OT@{\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+OT}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+OT@{\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+OT}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787ad337e1de7fd78ff45b23edb8f872c98d}} \+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+OT&\\ \hline \end{DoxyEnumFields} \mbox{\label{osmo__ss7_8h_a4999bfcb344a81b5ef9c42aacb9a44d3}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+role@{osmo\+\_\+ss7\+\_\+asp\+\_\+role}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+role@{osmo\+\_\+ss7\+\_\+asp\+\_\+role}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+role} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+role}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+A\+SP@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+A\+SP}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+A\+SP@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+A\+SP}}}\mbox{\label{osmo__ss7_8h_a4999bfcb344a81b5ef9c42aacb9a44d3a9d9789af8db78840722972e2e943b423}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+A\+SP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+SG@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+SG}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+SG@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+SG}}}\mbox{\label{osmo__ss7_8h_a4999bfcb344a81b5ef9c42aacb9a44d3a68886ba5a893ce7b6d5608c410ee7f0b}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+SG&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+I\+P\+SP@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+I\+P\+SP}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+I\+P\+SP@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+I\+P\+SP}}}\mbox{\label{osmo__ss7_8h_a4999bfcb344a81b5ef9c42aacb9a44d3acecff663ff447f83ab5e31c8c53a0343}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+I\+P\+SP&\\ \hline \end{DoxyEnumFields} \mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9f}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+link\+\_\+adm\+\_\+state@{osmo\+\_\+ss7\+\_\+link\+\_\+adm\+\_\+state}} \index{osmo\+\_\+ss7\+\_\+link\+\_\+adm\+\_\+state@{osmo\+\_\+ss7\+\_\+link\+\_\+adm\+\_\+state}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+link\+\_\+adm\+\_\+state} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+adm\+\_\+state}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN}}}\mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9fad8d49e9b70173cbf51e36c01beda408e}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+S\+H\+U\+T\+D\+O\+WN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+I\+N\+H\+I\+B\+I\+T\+ED@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+I\+N\+H\+I\+B\+I\+T\+ED}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+I\+N\+H\+I\+B\+I\+T\+ED@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+I\+N\+H\+I\+B\+I\+T\+ED}}}\mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9faa4955ef70c2720fb61de396d1c5ed39f}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+I\+N\+H\+I\+B\+I\+T\+ED&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+E\+N\+A\+B\+L\+ED@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+E\+N\+A\+B\+L\+ED}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+E\+N\+A\+B\+L\+ED@{O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+E\+N\+A\+B\+L\+ED}}}\mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9fa6d22820a2eb8140fe1c9a97ad562f05b}} O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+L\+S\+\_\+\+E\+N\+A\+B\+L\+ED&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+LS@{\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+LS}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}}\index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+LS@{\+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+LS}}}\mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9fadab3b2230e17c780d9b42b8fc3e9b23e}} \+\_\+\+N\+U\+M\+\_\+\+O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+LS&\\ \hline \end{DoxyEnumFields} \subsection{Function Documentation} \mbox{\label{osmo__ss7_8h_a0aea811fcc44f9212f24e857b0f8fff7}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+sccp\+\_\+set\+\_\+max\+\_\+optional\+\_\+data@{osmo\+\_\+sccp\+\_\+set\+\_\+max\+\_\+optional\+\_\+data}} \index{osmo\+\_\+sccp\+\_\+set\+\_\+max\+\_\+optional\+\_\+data@{osmo\+\_\+sccp\+\_\+set\+\_\+max\+\_\+optional\+\_\+data}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+set\+\_\+max\+\_\+optional\+\_\+data()} {\footnotesize\ttfamily void osmo\+\_\+sccp\+\_\+set\+\_\+max\+\_\+optional\+\_\+data (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{int}]{val }\end{DoxyParamCaption})} Adjust the upper bound for the optional data length (the payload) for CR, CC, C\+R\+EF and R\+L\+SD messages. For any Optional Data part larger than this value in octets, send CR, CC, C\+R\+EF and R\+L\+SD messages without any payload, and send the data payload in a separate Data Form 1 message. I\+T\+U-\/T Q.\+713 sections 4.\+2 thru 4.\+5 define a limit of 130 bytes for the \textquotesingle{}Data\textquotesingle{} parameter. This limit can be adjusted here. May be useful for interop with nonstandard S\+C\+CP peers. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em sccp} & S\+C\+CP instance to reconfigure. \\ \hline \mbox{\tt in} & {\em val} & Number of bytes to set as upper bound for the optional data length, or pass a negative value to set the standard value of S\+C\+C\+P\+\_\+\+M\+A\+X\+\_\+\+O\+P\+T\+I\+O\+N\+A\+L\+\_\+\+D\+A\+TA == 130, which conforms to I\+T\+U-\/T Q.\+713. \\ \hline \end{DoxyParams} References osmo\+\_\+sccp\+\_\+instance\+::max\+\_\+optional\+\_\+data. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(). \mbox{\label{osmo__ss7_8h_aa5ffac9ab07012935f038770aba150a4}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+sccp\+\_\+simple\+\_\+client@{osmo\+\_\+sccp\+\_\+simple\+\_\+client}} \index{osmo\+\_\+sccp\+\_\+simple\+\_\+client@{osmo\+\_\+sccp\+\_\+simple\+\_\+client}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+simple\+\_\+client()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance}$\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+client (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx, }\item[{const char $\ast$}]{name, }\item[{uint32\+\_\+t}]{default\+\_\+pc, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot, }\item[{int}]{default\+\_\+local\+\_\+port, }\item[{const char $\ast$}]{default\+\_\+local\+\_\+ip, }\item[{int}]{default\+\_\+remote\+\_\+port, }\item[{const char $\ast$}]{default\+\_\+remote\+\_\+ip }\end{DoxyParamCaption})} request an sccp client instance \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em ctx} & talloc context \\ \hline \mbox{\tt in} & {\em name} & human readable name \\ \hline \mbox{\tt in} & {\em default\+\_\+pc} & pointcode to be used on missing V\+TY setting \\ \hline \mbox{\tt in} & {\em prot} & protocol to be used (e.\+g O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA) \\ \hline \mbox{\tt in} & {\em default\+\_\+local\+\_\+port} & local port to be used on missing V\+TY setting \\ \hline \mbox{\tt in} & {\em default\+\_\+local\+\_\+ip} & local I\+P-\/address to be used on missing V\+TY setting \\ \hline \mbox{\tt in} & {\em default\+\_\+remote\+\_\+port} & remote port to be used on missing V\+TY setting \\ \hline \mbox{\tt in} & {\em default\+\_\+remote\+\_\+ip} & remote I\+P-\/address to be used on missing V\+TY setting \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} callee-\/allocated S\+C\+CP instance on success; N\+U\+LL on error \end{DoxyReturn} This is simplified version of \doxyref{osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}{p.}{sccp__user_8c_a50cc424232ce7c2bd378dd503e0d9e81}. the only difference is that the ID of the C\+S7 instance will be set to 0 statically References osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(). \mbox{\label{osmo__ss7_8h_a50cc424232ce7c2bd378dd503e0d9e81}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id@{osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id}} \index{osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id@{osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance}$\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx, }\item[{uint32\+\_\+t}]{ss7\+\_\+id, }\item[{const char $\ast$}]{name, }\item[{uint32\+\_\+t}]{default\+\_\+pc, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot, }\item[{int}]{default\+\_\+local\+\_\+port, }\item[{const char $\ast$}]{default\+\_\+local\+\_\+ip, }\item[{int}]{default\+\_\+remote\+\_\+port, }\item[{const char $\ast$}]{default\+\_\+remote\+\_\+ip }\end{DoxyParamCaption})} request an sccp client instance \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em ctx} & talloc context \\ \hline \mbox{\tt in} & {\em ss7\+\_\+id} & of the S\+S7/\+C\+S7 instance \\ \hline \mbox{\tt in} & {\em name} & human readable name \\ \hline \mbox{\tt in} & {\em default\+\_\+pc} & pointcode to be used on missing V\+TY setting \\ \hline \mbox{\tt in} & {\em prot} & protocol to be used (e.\+g O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA) \\ \hline \mbox{\tt in} & {\em default\+\_\+local\+\_\+port} & local port to be used on missing V\+TY setting \\ \hline \mbox{\tt in} & {\em default\+\_\+local\+\_\+ip} & local I\+P-\/address to be used on missing V\+TY setting (N\+U\+LL\+: use library own defaults) \\ \hline \mbox{\tt in} & {\em default\+\_\+remote\+\_\+port} & remote port to be used on missing V\+TY setting \\ \hline \mbox{\tt in} & {\em default\+\_\+remote\+\_\+ip} & remote I\+P-\/address to be used on missing V\+TY setting (N\+U\+LL\+: use library own defaults) \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} callee-\/allocated S\+C\+CP instance on success; N\+U\+LL on error \end{DoxyReturn} The function will examine the given C\+S7 instance and its sub components (as, asp, etc.). If necessary it will allocate the missing components. If no C\+S7 instance can be detected under the caller supplied ID, a new instance will be created beforehand. References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list, osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+instance\+::id, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, osmo\+\_\+ss7\+\_\+as\+::list, osmo\+\_\+ss7\+\_\+asp\+::list, osmo\+\_\+ss7\+\_\+asp\+::local, osmo\+\_\+ss7\+\_\+as\+::name, osmo\+\_\+ss7\+\_\+asp\+::name, osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp(), osmo\+\_\+ss7\+\_\+as\+\_\+destroy(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp(), osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto(), osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2(), osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts(), O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA, osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name(), osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port(), osmo\+\_\+ss7\+\_\+asp\+\_\+restart(), O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+A\+SP, osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm(), osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp(), osmo\+\_\+ss7\+\_\+instance\+\_\+destroy(), osmo\+\_\+ss7\+\_\+instance\+\_\+find(), osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+print(), osmo\+\_\+ss7\+\_\+route\+\_\+create(), osmo\+\_\+ss7\+\_\+route\+\_\+destroy(), osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2(), osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::pc, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc, osmo\+\_\+ss7\+\_\+asp\+::proto, osmo\+\_\+ss7\+\_\+asp\+::remote, osmo\+\_\+ss7\+\_\+asp\+::role, osmo\+\_\+ss7\+\_\+asp\+::role\+\_\+set\+\_\+by\+\_\+vty, osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key, osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system, osmo\+\_\+ss7\+\_\+instance\+::sccp, osmo\+\_\+ss7\+\_\+as\+::simple\+\_\+client\+\_\+allocated, osmo\+\_\+ss7\+\_\+asp\+::simple\+\_\+client\+\_\+allocated, ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts(), ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto(), osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto, and osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+role\+\_\+set\+\_\+by\+\_\+vty. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client(). \mbox{\label{osmo__ss7_8h_ab228576f1118b1893a1488b1adf84980}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+sccp\+\_\+simple\+\_\+server@{osmo\+\_\+sccp\+\_\+simple\+\_\+server}} \index{osmo\+\_\+sccp\+\_\+simple\+\_\+server@{osmo\+\_\+sccp\+\_\+simple\+\_\+server}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+simple\+\_\+server()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance}$\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+server (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx, }\item[{uint32\+\_\+t}]{pc, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot, }\item[{int}]{local\+\_\+port, }\item[{const char $\ast$}]{local\+\_\+ip }\end{DoxyParamCaption})} References osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(). \mbox{\label{osmo__ss7_8h_afb417d5b253ea73da5f44a1de99ec278}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt@{osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt}} \index{osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt@{osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance}$\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot, }\item[{const char $\ast$}]{name, }\item[{uint32\+\_\+t}]{pc, }\item[{int}]{local\+\_\+port, }\item[{int}]{remote\+\_\+port, }\item[{const char $\ast$}]{remote\+\_\+ip }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+xua\+\_\+server\+::cfg, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, osmo\+\_\+ss7\+\_\+asp\+::local, osmo\+\_\+xua\+\_\+server\+::local, osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp(), osmo\+\_\+ss7\+\_\+as\+\_\+destroy(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2(), osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host(), osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts(), osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port(), osmo\+\_\+ss7\+\_\+asp\+\_\+restart(), O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+R\+O\+L\+E\+\_\+\+SG, osmo\+\_\+ss7\+\_\+route\+\_\+create(), osmo\+\_\+ss7\+\_\+route\+\_\+destroy(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2(), osmo\+\_\+ss7\+\_\+asp\+::remote, osmo\+\_\+ss7\+\_\+asp\+::role, osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system, osmo\+\_\+ss7\+\_\+instance\+::sccp, osmo\+\_\+sccp\+\_\+instance\+::ss7, ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto(), osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto, and osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto. \mbox{\label{osmo__ss7_8h_a9b977efa4ea7410df144d02c3aa9f94d}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id@{osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id}} \index{osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id@{osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance}$\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx, }\item[{uint32\+\_\+t}]{ss7\+\_\+id, }\item[{uint32\+\_\+t}]{pc, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot, }\item[{int}]{local\+\_\+port, }\item[{const char $\ast$}]{local\+\_\+ip }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port(), osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp(), osmo\+\_\+ss7\+\_\+instance\+\_\+destroy(), osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy(), osmo\+\_\+sccp\+\_\+addr\+::pc, osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc, osmo\+\_\+ss7\+\_\+instance\+::sccp, ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto(), and osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+server(). \mbox{\label{osmo__ss7_8h_a6eb76a8a7db795844115a5b6feb5e426}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+active@{osmo\+\_\+ss7\+\_\+as\+\_\+active}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+active@{osmo\+\_\+ss7\+\_\+as\+\_\+active}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+active()} {\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+as\+\_\+active (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})} Determine if given AS is in the active state. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em as} & Application Server. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} true in case as is active; false otherwise. \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+as\+::fi, and X\+U\+A\+\_\+\+A\+S\+\_\+\+S\+\_\+\+A\+C\+T\+I\+VE. Referenced by D\+E\+F\+U\+N(). \mbox{\label{osmo__ss7_8h_a01392ccbfd2fd93d962dcd7bd8037526}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp@{osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp@{osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{const char $\ast$}]{asp\+\_\+name }\end{DoxyParamCaption})} Add given A\+SP to given AS. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em as} & Application Server to which asp is added \\ \hline \mbox{\tt in} & {\em asp} & Application Server Process to be added to as \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative in case of error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+as\+::asps, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::fi, osmo\+\_\+ss7\+\_\+as\+::inst, L\+O\+G\+P\+AS, osmo\+\_\+ss7\+\_\+asp\+::name, osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp(), osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name(), ss7\+\_\+initialized, and X\+U\+A\+\_\+\+A\+S\+P\+\_\+\+E\+\_\+\+A\+S\+\_\+\+A\+S\+S\+I\+G\+N\+ED. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), handle\+\_\+rkey\+\_\+reg(), ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(). \mbox{\label{osmo__ss7_8h_aca9bfa652d15609a904653398e17c5e9}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp@{osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp@{osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{const char $\ast$}]{asp\+\_\+name }\end{DoxyParamCaption})} Delete given A\+SP from given AS. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em as} & Application Server from which asp is deleted \\ \hline \mbox{\tt in} & {\em asp} & Application Server Process to delete from as \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative in case of error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+as\+::asps, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+as\+::inst, L\+O\+G\+P\+AS, osmo\+\_\+ss7\+\_\+asp\+::name, osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name(), and ss7\+\_\+initialized. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), and handle\+\_\+rkey\+\_\+dereg(). \mbox{\label{osmo__ss7_8h_afe830a3d827c8c9ff36bf04e0428ad79}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+destroy@{osmo\+\_\+ss7\+\_\+as\+\_\+destroy}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+destroy@{osmo\+\_\+ss7\+\_\+as\+\_\+destroy}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+as\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})} Destroy given Application Server. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em as} & Application Server to destroy \\ \hline \end{DoxyParams} References osmo\+\_\+ss7\+\_\+route\+::as, osmo\+\_\+ss7\+\_\+as\+::ctrg, osmo\+\_\+ss7\+\_\+route\+::dest, osmo\+\_\+ss7\+\_\+as\+::fi, osmo\+\_\+ss7\+\_\+as\+::inst, osmo\+\_\+ss7\+\_\+route\+::list, osmo\+\_\+ss7\+\_\+as\+::list, L\+O\+G\+P\+AS, osmo\+\_\+ss7\+\_\+route\+\_\+destroy(), osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes, osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system, and ss7\+\_\+initialized. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), handle\+\_\+rkey\+\_\+dereg(), handle\+\_\+rkey\+\_\+reg(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+ss7\+\_\+instance\+\_\+destroy(), and xua\+\_\+rkm\+\_\+cleanup\+\_\+dyn\+\_\+as\+\_\+for\+\_\+asp(). \mbox{\label{osmo__ss7_8h_a73e6d3f8129ec492e6c59b7bc4ac7fe3}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+down@{osmo\+\_\+ss7\+\_\+as\+\_\+down}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+down@{osmo\+\_\+ss7\+\_\+as\+\_\+down}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+down()} {\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+as\+\_\+down (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})} Determine if given AS is in the down state. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em as} & Application Server. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} true in case as is down; false otherwise. \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+as\+::fi, and X\+U\+A\+\_\+\+A\+S\+\_\+\+S\+\_\+\+D\+O\+WN. Referenced by hmrt\+\_\+message\+\_\+for\+\_\+routing(). \mbox{\label{osmo__ss7_8h_a56ae45e9be46eeb7b2f6db004737aefd}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as}$\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{l\+\_\+rk\+\_\+id }\end{DoxyParamCaption})} Find Application Server by given local routing key ID. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance on which we operate \\ \hline \mbox{\tt in} & {\em l\+\_\+rk\+\_\+id} & Local Routing Key ID \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; N\+U\+LL otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::l\+\_\+rk\+\_\+id, osmo\+\_\+ss7\+\_\+as\+::list, osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key, and ss7\+\_\+initialized. Referenced by handle\+\_\+reg\+\_\+conf(), and ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id(). \mbox{\label{osmo__ss7_8h_aab3eea89500c0e7960c0608f806409a9}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as}$\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})} Find Application Server by given name. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance on which we operate \\ \hline \mbox{\tt in} & {\em name} & Name of AS \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; N\+U\+LL otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+as\+::list, osmo\+\_\+ss7\+\_\+as\+::name, and ss7\+\_\+initialized. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp(), osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create(), and osmo\+\_\+ss7\+\_\+route\+\_\+create(). \mbox{\label{osmo__ss7_8h_ae7729babf0f8612dcceb3ee077b49b5c}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as}$\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})} Find Application Server (AS) by given protocol. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance on which we operate \\ \hline \mbox{\tt in} & {\em proto} & Protocol identifier that must match \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to AS on success; N\+U\+LL otherwise If an AS has an A\+SP also matching the given protocol, that AS is preferred. If there are multiple matches, return the first matching AS. \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+as\+::list, osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto(), osmo\+\_\+ss7\+\_\+as\+::proto, and ss7\+\_\+initialized. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(). \mbox{\label{osmo__ss7_8h_aaa292dcf6bbb38806bbe050d7937c239}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as}$\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{rctx }\end{DoxyParamCaption})} Find Application Server by given routing context. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance on which we operate \\ \hline \mbox{\tt in} & {\em rctx} & Routing Context \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; N\+U\+LL otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::context, osmo\+\_\+ss7\+\_\+as\+::list, osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key, and ss7\+\_\+initialized. Referenced by handle\+\_\+rkey\+\_\+dereg(), handle\+\_\+rkey\+\_\+reg(), osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx(), xua\+\_\+asp\+\_\+fsm\+\_\+inactive(), and xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp(). \mbox{\label{osmo__ss7_8h_aa2d0463df2c24a4a56958ba59ae89506}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as}$\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})} Find or Create Application Server. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance on which we operate \\ \hline \mbox{\tt in} & {\em name} & Name of Application Server \\ \hline \mbox{\tt in} & {\em proto} & Protocol of Application Server \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; N\+U\+LL otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+as\+::cfg, L\+O\+G\+P\+AS, osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name(), osmo\+\_\+ss7\+\_\+as\+::proto, ss7\+\_\+as\+\_\+alloc(), and ss7\+\_\+initialized. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), handle\+\_\+rkey\+\_\+reg(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(). \mbox{\label{osmo__ss7_8h_abffb76cffe93aa6421b2e41dcce2fe7f}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp@{osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp@{osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()} {\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} Determine if given AS contains A\+SP. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em as} & Application Server in which to look for asp \\ \hline \mbox{\tt in} & {\em asp} & Application Server Process to look for in as \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} true in case asp is part of as; false otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+as\+::asps, osmo\+\_\+ss7\+\_\+as\+::cfg, and ss7\+\_\+initialized. Referenced by as\+\_\+list\+\_\+for\+\_\+asp(), determine\+\_\+traf\+\_\+mode(), dispatch\+\_\+to\+\_\+all\+\_\+as(), find\+\_\+single\+\_\+as\+\_\+for\+\_\+asp(), get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp(), handle\+\_\+rkey\+\_\+dereg(), ipa\+\_\+find\+\_\+as\+\_\+for\+\_\+asp(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp(), xua\+\_\+asp\+\_\+fsm\+\_\+inactive(), xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp(), xua\+\_\+msg\+\_\+add\+\_\+asp\+\_\+rctx(), and xua\+\_\+rkm\+\_\+cleanup\+\_\+dyn\+\_\+as\+\_\+for\+\_\+asp(). \mbox{\label{osmo__ss7_8h_ae1ce394b6ad89efe1d723f0eda142333}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua@{osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua@{osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua()} {\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{uint32\+\_\+t}]{m3ua\+\_\+tmt }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+as\+::cfg, M3\+U\+A\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST, M3\+U\+A\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE, M3\+U\+A\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE, osmo\+\_\+ss7\+\_\+as\+::mode, osmo\+\_\+ss7\+\_\+as\+::mode\+\_\+set\+\_\+by\+\_\+peer, osmo\+\_\+ss7\+\_\+as\+::mode\+\_\+set\+\_\+by\+\_\+vty, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE, and O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+R\+O\+U\+N\+D\+R\+O\+B\+IN. Referenced by handle\+\_\+rkey\+\_\+reg(), and xua\+\_\+asp\+\_\+fsm\+\_\+inactive(). \mbox{\label{osmo__ss7_8h_add0f99c225532cdf7163b5215ff7429d}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name@{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name@{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name()} {\footnotesize\ttfamily static const char$\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode}}]{mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals. Referenced by D\+E\+F\+U\+N(), handle\+\_\+rkey\+\_\+reg(), write\+\_\+one\+\_\+as(), and xua\+\_\+asp\+\_\+fsm\+\_\+inactive(). \mbox{\label{osmo__ss7_8h_a85b5b2514d86c48bf6c994b08e362c55}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+active@{osmo\+\_\+ss7\+\_\+asp\+\_\+active}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+active@{osmo\+\_\+ss7\+\_\+asp\+\_\+active}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+active()} {\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+asp\+\_\+active (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+::fi, and X\+U\+A\+\_\+\+A\+S\+P\+\_\+\+S\+\_\+\+A\+C\+T\+I\+VE. Referenced by notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive(), sua\+\_\+snm\+\_\+ssn\+\_\+available(), xua\+\_\+as\+\_\+select\+\_\+asp\+\_\+override(), xua\+\_\+as\+\_\+select\+\_\+asp\+\_\+roundrobin(), xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast(), xua\+\_\+snm\+\_\+pc\+\_\+available(), xua\+\_\+snm\+\_\+scon(), and xua\+\_\+snm\+\_\+upu(). \mbox{\label{osmo__ss7_8h_a6fce9d43401870a21aafb2b62936b321}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+destroy@{osmo\+\_\+ss7\+\_\+asp\+\_\+destroy}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+destroy@{osmo\+\_\+ss7\+\_\+asp\+\_\+destroy}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+as\+::asps, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::ctrg, osmo\+\_\+ss7\+\_\+asp\+::fi, osmo\+\_\+ss7\+\_\+asp\+::inst, ipa\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+as\+::list, osmo\+\_\+ss7\+\_\+asp\+::list, L\+O\+G\+P\+A\+SP, m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+asp\+::server, osmo\+\_\+ss7\+\_\+asp\+::siblings, ss7\+\_\+initialized, xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect(), xua\+\_\+cli\+\_\+connect\+\_\+cb(), xua\+\_\+cli\+\_\+read\+\_\+cb(), and osmo\+\_\+ss7\+\_\+asp\+::xua\+\_\+server. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+ss7\+\_\+instance\+\_\+destroy(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy(), and ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb(). \mbox{\label{osmo__ss7_8h_af24d6e5d1494620c9a340ff2bb68416c}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect@{osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect@{osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::server, and xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect(). Referenced by D\+E\+F\+U\+N(), ipa\+\_\+asp\+\_\+fsm\+\_\+timer\+\_\+cb(), ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp(), and ipa\+\_\+pong\+\_\+timer\+\_\+cb(). \mbox{\label{osmo__ss7_8h_a7be50753583b6306c880c82dafd8f7fb}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+find@{osmo\+\_\+ss7\+\_\+asp\+\_\+find}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+find@{osmo\+\_\+ss7\+\_\+asp\+\_\+find}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+find()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp}$\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name, }\item[{uint16\+\_\+t}]{remote\+\_\+port, }\item[{uint16\+\_\+t}]{local\+\_\+port, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+\_\+find2(), ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto(), and osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto. \mbox{\label{osmo__ss7_8h_a85abc56dd3a072f78df68f26e002ab84}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+find2@{osmo\+\_\+ss7\+\_\+asp\+\_\+find2}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+find2@{osmo\+\_\+ss7\+\_\+asp\+\_\+find2}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+find2()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp}$\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name, }\item[{uint16\+\_\+t}]{remote\+\_\+port, }\item[{uint16\+\_\+t}]{local\+\_\+port, }\item[{int}]{trans\+\_\+proto, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::local, osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name(), osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+ss7\+\_\+asp\+::proto, osmo\+\_\+ss7\+\_\+asp\+::remote, ss7\+\_\+initialized, and osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), and osmo\+\_\+ss7\+\_\+asp\+\_\+find(). \mbox{\label{osmo__ss7_8h_aa7458bf949df3ffe66be4420d03957ee}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name@{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name@{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp}$\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list, osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::list, osmo\+\_\+ss7\+\_\+asp\+::name, and ss7\+\_\+initialized. Referenced by D\+E\+F\+U\+N(), D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp(), osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp(), osmo\+\_\+ss7\+\_\+asp\+\_\+find2(), osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2(), show\+\_\+asp(), show\+\_\+asp\+\_\+assoc\+\_\+status(), and show\+\_\+asp\+\_\+remaddr(). \mbox{\label{osmo__ss7_8h_a38c9ff8592910185e233f65eced46dcf}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto@{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto@{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp}$\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})} Find an A\+SP that matches the given A\+SP protocol (x\+UA variant). \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em as} & Application Server in which to look for asp \\ \hline \mbox{\tt in} & {\em proto} & A\+SP protocol (x\+UA variant) to match \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} S\+S7 A\+SP in case a matching one is found; N\+U\+LL otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+as\+::asps, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::cfg, and osmo\+\_\+ss7\+\_\+asp\+::proto. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto(). \mbox{\label{osmo__ss7_8h_a24b515eee5f3e0d3e5262257172fb4ea}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp}$\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name, }\item[{uint16\+\_\+t}]{remote\+\_\+port, }\item[{uint16\+\_\+t}]{local\+\_\+port, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2(), ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto(), and osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto. \mbox{\label{osmo__ss7_8h_a5a95f3a3da3ddeeb95e2672dcefc5e22}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2@{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2@{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp}$\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name, }\item[{uint16\+\_\+t}]{remote\+\_\+port, }\item[{uint16\+\_\+t}]{local\+\_\+port, }\item[{int}]{trans\+\_\+proto, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::local, osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name(), osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+ss7\+\_\+asp\+::proto, osmo\+\_\+ss7\+\_\+asp\+::remote, ss7\+\_\+asp\+\_\+alloc(), ss7\+\_\+initialized, and osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create(), and xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7_8h_aecc0022dbb85c45d452d624c7a74587f}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} Get the logging subsystem for a given A\+SP. Used by generic code. References osmo\+\_\+ss7\+\_\+asp\+::cfg, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA, and osmo\+\_\+ss7\+\_\+asp\+::proto. Referenced by xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp(), xua\+\_\+snm\+\_\+rx\+\_\+daud(), xua\+\_\+snm\+\_\+rx\+\_\+dava(), xua\+\_\+snm\+\_\+rx\+\_\+duna(), xua\+\_\+snm\+\_\+rx\+\_\+dupu(), and xua\+\_\+snm\+\_\+rx\+\_\+scon(). \mbox{\label{osmo__ss7_8h_a946085598c4a1bfa5167b8883332a8de}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name()} {\footnotesize\ttfamily const char$\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} Get the name of a given A\+SP. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & The A\+SP for which the name is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The name of the A\+SP, or N\+U\+LL if not set \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+::cfg, and osmo\+\_\+ss7\+\_\+asp\+::name. \mbox{\label{osmo__ss7_8h_a44b7671799d1beacce83817e2061f72f}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto()} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} Get the proto of a given A\+SP. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & The A\+SP for which the proto is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The proto of the A\+SP \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+::cfg, and osmo\+\_\+ss7\+\_\+asp\+::proto. \mbox{\label{osmo__ss7_8h_a1b9ecb408d77a295723c34235b796e1e}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto@{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} Get the transport proto of a given A\+SP. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & The A\+SP for which the transport proto is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The transport proto of the A\+SP (one of I\+P\+P\+R\+O\+T\+O\+\_\+$\ast$) \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+::cfg, and osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto. \mbox{\label{osmo__ss7_8h_a6c91baa9261a1bcc0a6f2fae5e84b972}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer, }\item[{void $\ast$}]{talloc\+\_\+ctx, }\item[{const char $\ast$}]{host }\end{DoxyParamCaption})} Append (copy) address to a given A\+SP peer. Previous addresses are kept. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em peer} & Application Server Process peer the address is appended to. \\ \hline \mbox{\tt in} & {\em talloc\+\_\+ctx} & talloc context used to allocate new address. \\ \hline \mbox{\tt in} & {\em host} & string containing an IP address. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2(). Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host(), and ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts(). \mbox{\label{osmo__ss7_8h_a1ef86819b8f03d91f909da6e4db7287a}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer, }\item[{void $\ast$}]{talloc\+\_\+ctx, }\item[{const char $\ast$}]{host, }\item[{bool}]{is\+\_\+primary\+\_\+addr }\end{DoxyParamCaption})} Append (copy) address to a given A\+SP peer. Previous addresses are kept. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em peer} & Application Server Process peer the address is appended to. \\ \hline \mbox{\tt in} & {\em talloc\+\_\+ctx} & talloc context used to allocate new address. \\ \hline \mbox{\tt in} & {\em host} & string containing an IP address. \\ \hline \mbox{\tt in} & {\em is\+\_\+primary\+\_\+addr} & whether this IP address is to be added as S\+C\+TP Primary Address \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, host\+\_\+is\+\_\+ip\+\_\+anyaddr(), and osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), and osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host(). \mbox{\label{osmo__ss7_8h_a4bd800113cd229e0dd5ebfd32fb6c1cb}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer, }\item[{const char $\ast$}]{host }\end{DoxyParamCaption})} Remove address from a given A\+SP peer. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em peer} & Application Server Process peer the address is removed from. \\ \hline \mbox{\tt in} & {\em host} & string containing an IP address. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, and osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), and osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host(). \mbox{\label{osmo__ss7_8h_aed428cfcb66cb8b106de45150506ef3e}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary. Referenced by ss7\+\_\+asp\+\_\+alloc(). \mbox{\label{osmo__ss7_8h_aff39a38183c940601c2a937603a3c741}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer, }\item[{void $\ast$}]{talloc\+\_\+ctx, }\item[{const char $\ast$const $\ast$}]{hosts, }\item[{size\+\_\+t}]{host\+\_\+cnt }\end{DoxyParamCaption})} Set (copy) addresses for a given A\+SP peer. Previous addresses are freed. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em peer} & Application Server Process peer whose addresses are to be set. \\ \hline \mbox{\tt in} & {\em talloc\+\_\+ctx} & talloc context used to allocate new addresses. \\ \hline \mbox{\tt in} & {\em hosts} & Array of strings containing IP addresses. \\ \hline \mbox{\tt in} & {\em host\+\_\+cnt} & Number of strings in hosts \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2(). Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts(), and xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7_8h_aace928f5efcaeedc6675dba51294aa64}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer, }\item[{void $\ast$}]{talloc\+\_\+ctx, }\item[{const char $\ast$const $\ast$}]{hosts, }\item[{size\+\_\+t}]{host\+\_\+cnt, }\item[{int}]{idx\+\_\+primary }\end{DoxyParamCaption})} Set (copy) addresses for a given A\+SP peer. Previous addresses are freed. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em peer} & Application Server Process peer whose addresses are to be set. \\ \hline \mbox{\tt in} & {\em talloc\+\_\+ctx} & talloc context used to allocate new addresses. \\ \hline \mbox{\tt in} & {\em hosts} & Array of strings containing IP addresses. \\ \hline \mbox{\tt in} & {\em host\+\_\+cnt} & Number of strings in hosts \\ \hline \mbox{\tt in} & {\em idx\+\_\+primary} & Index in \char`\"{}hosts\char`\"{} array marking the S\+C\+TP Primary Address, -\/1 if no explicit Primary Address set \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative otherwise \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, and osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary. Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts(). \mbox{\label{osmo__ss7_8h_a5f7cd03bf480ca74d5ad2c9a6a0d8f46}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf@{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf, }\item[{size\+\_\+t}]{buf\+\_\+len, }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary, len, and osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port. Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+restart(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind(), show\+\_\+one\+\_\+asp(), and vty\+\_\+dump\+\_\+xua\+\_\+server(). \mbox{\label{osmo__ss7_8h_aba17c4e5914bd2abb927d62d18e20cb2}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()} {\footnotesize\ttfamily static const char$\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port(), and osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+ss7\+\_\+route\+\_\+name(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2(), ss7\+\_\+asp\+\_\+alloc(), write\+\_\+one\+\_\+as(), and write\+\_\+one\+\_\+asp(). \mbox{\label{osmo__ss7_8h_a6d09b26e33e8838594e0374976769f6e}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot }\end{DoxyParamCaption})} References prot2port. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name(). \mbox{\label{osmo__ss7_8h_a8d3670d7e36042c95611f9bfa0a3b597}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+restart@{osmo\+\_\+ss7\+\_\+asp\+\_\+restart}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+restart@{osmo\+\_\+ss7\+\_\+asp\+\_\+restart}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+restart()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+restart (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::fi, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, ipa\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, osmo\+\_\+ss7\+\_\+asp\+::local, L\+O\+G\+P\+A\+SP, m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb(), osmo\+\_\+ss7\+\_\+asp\+::name, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf(), O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+ss7\+\_\+asp\+::proto, osmo\+\_\+ss7\+\_\+asp\+::remote, osmo\+\_\+ss7\+\_\+asp\+::role, osmo\+\_\+ss7\+\_\+asp\+::sctp\+\_\+init, osmo\+\_\+ss7\+\_\+asp\+::server, ss7\+\_\+initialized, osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto, xua\+\_\+asp\+\_\+fsm\+\_\+start(), xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect(), xua\+\_\+cli\+\_\+connect\+\_\+cb(), xua\+\_\+cli\+\_\+read\+\_\+cb(), and xua\+\_\+tcp\+\_\+segmentation\+\_\+cb(). Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent(), restart\+\_\+asp(), and xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7_8h_a4bbbb5047fd067deb34846c6dab99c1f}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+send@{osmo\+\_\+ss7\+\_\+asp\+\_\+send}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+send@{osmo\+\_\+ss7\+\_\+asp\+\_\+send}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+send()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+send (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})} send a fully encoded msgb via a given A\+SP \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em asp} & Application Server Process through which to send \\ \hline \mbox{\tt in} & {\em msg} & message buffer to transmit. Ownership transferred. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative in case of error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::client, osmo\+\_\+ss7\+\_\+asp\+::ctrg, osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server, L\+O\+G\+P\+A\+SP, M3\+U\+A\+\_\+\+P\+P\+ID, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+I\+PA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+M3\+UA, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA, osmo\+\_\+ss7\+\_\+asp\+::proto, osmo\+\_\+ss7\+\_\+asp\+::server, S\+S7\+\_\+\+A\+S\+P\+\_\+\+C\+T\+R\+\_\+\+P\+K\+T\+\_\+\+T\+X\+\_\+\+T\+O\+T\+AL, ss7\+\_\+initialized, and S\+U\+A\+\_\+\+P\+P\+ID. Referenced by as\+\_\+notify\+\_\+all\+\_\+asp(), ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+get(), m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+req(), m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req(), m3ua\+\_\+tx\+\_\+xua\+\_\+asp(), notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive(), peer\+\_\+send(), peer\+\_\+send\+\_\+error(), sua\+\_\+tx\+\_\+xua\+\_\+asp(), xua\+\_\+as\+\_\+transmit\+\_\+msg(), xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast(), xua\+\_\+rkm\+\_\+send\+\_\+dereg\+\_\+req(), and xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req(). \mbox{\label{osmo__ss7_8h_af4039d65a094d2cd510a3ed991e05deb}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm@{osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm@{osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp, }\item[{int}]{log\+\_\+level }\end{DoxyParamCaption})} References lm\+\_\+fsm\+\_\+priv\+::asp, osmo\+\_\+ss7\+\_\+asp\+::cfg, default\+\_\+layer\+\_\+manager, osmo\+\_\+ss7\+\_\+asp\+::lm, osmo\+\_\+ss7\+\_\+asp\+::lm\+\_\+priv, osmo\+\_\+ss7\+\_\+asp\+::name, and xua\+\_\+default\+\_\+lm\+\_\+fsm. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), and restart\+\_\+asp(). \mbox{\label{osmo__ss7_8h_a76f74ee255e5a1c871d2285707c4d19c}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp@{osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp}} \index{osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp@{osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance}$\ast$ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} Allocate an S\+C\+CP instance, if not present yet. \begin{DoxyReturn}{Returns} inst-\/$>$sccp. \end{DoxyReturn} References L\+O\+G\+S\+S7, osmo\+\_\+sccp\+\_\+instance\+\_\+create(), and osmo\+\_\+ss7\+\_\+instance\+::sccp. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2(), and ss7\+\_\+asp\+\_\+alloc(). \mbox{\label{osmo__ss7_8h_ad995eb65a7ba20e8d134033669126231}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx@{osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx}} \index{osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx@{osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References next\+\_\+rctx, and osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx(). Referenced by handle\+\_\+rkey\+\_\+reg(). \mbox{\label{osmo__ss7_8h_aa0eea948b1e7bbb0764ecc89e5b2a124}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+init@{osmo\+\_\+ss7\+\_\+init}} \index{osmo\+\_\+ss7\+\_\+init@{osmo\+\_\+ss7\+\_\+init}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+init()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} References ipa\+\_\+asp\+\_\+fsm, sccp\+\_\+scoc\+\_\+fsm, ss7\+\_\+initialized, xua\+\_\+as\+\_\+fsm, xua\+\_\+asp\+\_\+fsm, and xua\+\_\+default\+\_\+lm\+\_\+fsm. \mbox{\label{osmo__ss7_8h_a55d7a596847108913e0e9e03dbf1a933}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+instance\+\_\+destroy@{osmo\+\_\+ss7\+\_\+instance\+\_\+destroy}} \index{osmo\+\_\+ss7\+\_\+instance\+\_\+destroy@{osmo\+\_\+ss7\+\_\+instance\+\_\+destroy}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+instance\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} Destroy a S\+S7 Instance. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance to be destroyed \\ \hline \end{DoxyParams} References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list, osmo\+\_\+ss7\+\_\+instance\+::linksets, osmo\+\_\+ss7\+\_\+instance\+::list, osmo\+\_\+ss7\+\_\+asp\+::list, L\+O\+G\+S\+S7, osmo\+\_\+ss7\+\_\+as\+\_\+destroy(), osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy(), and ss7\+\_\+initialized. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(). \mbox{\label{osmo__ss7_8h_acd3841d0e56f61f00dbfd2bffeeb9351}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+instance\+\_\+find@{osmo\+\_\+ss7\+\_\+instance\+\_\+find}} \index{osmo\+\_\+ss7\+\_\+instance\+\_\+find@{osmo\+\_\+ss7\+\_\+instance\+\_\+find}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+instance\+\_\+find()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance}$\ast$ osmo\+\_\+ss7\+\_\+instance\+\_\+find (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})} Find a S\+S7 Instance with given ID. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em id} & ID for which to search \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} \doxyref{osmo\+\_\+ss7\+\_\+instance}{p.}{structosmo__ss7__instance} on success; N\+U\+LL on error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+instance\+::id, osmo\+\_\+ss7\+\_\+instance\+::list, osmo\+\_\+ss7\+\_\+instances, and ss7\+\_\+initialized. Referenced by D\+E\+F\+U\+N(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create(), show\+\_\+asp(), show\+\_\+asp\+\_\+assoc\+\_\+status(), and show\+\_\+asp\+\_\+remaddr(). \mbox{\label{osmo__ss7_8h_a7b6d881b636f81a9ed0419f1f17727f6}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create}} \index{osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance}$\ast$ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx, }\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})} Find or create a S\+S7 Instance. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em ctx} & talloc allocation context to use for allocations \\ \hline \mbox{\tt in} & {\em id} & ID of S\+S7 Instance \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} \doxyref{osmo\+\_\+ss7\+\_\+instance}{p.}{structosmo__ss7__instance} on success; N\+U\+LL on error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list, osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list, osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len, osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::delimiter, osmo\+\_\+ss7\+\_\+instance\+::id, osmo\+\_\+ss7\+\_\+instance\+::linksets, osmo\+\_\+ss7\+\_\+instance\+::list, L\+O\+G\+S\+S7, osmo\+\_\+ss7\+\_\+instance\+\_\+find(), osmo\+\_\+ss7\+\_\+instances, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+P\+C\+\_\+\+I\+N\+V\+A\+L\+ID, osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create(), osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt, osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc, osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list, osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system, osmo\+\_\+ss7\+\_\+instance\+::sccp\+\_\+address\+\_\+book, ss7\+\_\+initialized, and osmo\+\_\+ss7\+\_\+instance\+::xua\+\_\+servers. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(). \mbox{\label{osmo__ss7_8h_adc19747b6de70d033959ee3cf5d26bdf}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+instance\+\_\+set\+\_\+pc\+\_\+fmt@{osmo\+\_\+ss7\+\_\+instance\+\_\+set\+\_\+pc\+\_\+fmt}} \index{osmo\+\_\+ss7\+\_\+instance\+\_\+set\+\_\+pc\+\_\+fmt@{osmo\+\_\+ss7\+\_\+instance\+\_\+set\+\_\+pc\+\_\+fmt}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+instance\+\_\+set\+\_\+pc\+\_\+fmt()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+instance\+\_\+set\+\_\+pc\+\_\+fmt (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint8\+\_\+t}]{c0, }\item[{uint8\+\_\+t}]{c1, }\item[{uint8\+\_\+t}]{c2 }\end{DoxyParamCaption})} Set the point code format used in given S\+S7 instance. References osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len, L\+O\+G\+S\+S7, and osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt. \mbox{\label{osmo__ss7_8h_ac343e7f4ac0757285d3ed4f842f52d6e}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+is\+\_\+config\+\_\+node@{osmo\+\_\+ss7\+\_\+is\+\_\+config\+\_\+node}} \index{osmo\+\_\+ss7\+\_\+is\+\_\+config\+\_\+node@{osmo\+\_\+ss7\+\_\+is\+\_\+config\+\_\+node}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+is\+\_\+config\+\_\+node()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+is\+\_\+config\+\_\+node (\begin{DoxyParamCaption}\item[{struct vty $\ast$}]{vty, }\item[{int}]{node }\end{DoxyParamCaption})} \mbox{\label{osmo__ss7_8h_a876684805361a41edbf929ffff212f53}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+link\+\_\+destroy@{osmo\+\_\+ss7\+\_\+link\+\_\+destroy}} \index{osmo\+\_\+ss7\+\_\+link\+\_\+destroy@{osmo\+\_\+ss7\+\_\+link\+\_\+destroy}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+link\+\_\+destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+link\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+link} $\ast$}]{link }\end{DoxyParamCaption})} Destroy S\+S7 Link. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em link} & S\+S7 Link to be destroyed \\ \hline \end{DoxyParams} References osmo\+\_\+ss7\+\_\+link\+::cfg, osmo\+\_\+ss7\+\_\+linkset\+::cfg, osmo\+\_\+ss7\+\_\+link\+::id, osmo\+\_\+ss7\+\_\+linkset\+::inst, osmo\+\_\+ss7\+\_\+linkset\+::links, osmo\+\_\+ss7\+\_\+link\+::linkset, L\+O\+G\+S\+S7, osmo\+\_\+ss7\+\_\+linkset\+::name, and ss7\+\_\+initialized. Referenced by osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy(). \mbox{\label{osmo__ss7_8h_a8b0b03e356521984e7a23ddb70a30a3b}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create}} \index{osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+link}$\ast$ osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$}]{lset, }\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})} Find or create S\+S7 Link with given ID in given Linkset. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em lset} & S\+S7 Linkset on which we operate \\ \hline \mbox{\tt in} & {\em id} & Link number within Linkset \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to S\+S7 Link on success; N\+U\+LL on error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+link\+::cfg, osmo\+\_\+ss7\+\_\+linkset\+::cfg, osmo\+\_\+ss7\+\_\+link\+::id, osmo\+\_\+ss7\+\_\+linkset\+::inst, osmo\+\_\+ss7\+\_\+linkset\+::links, osmo\+\_\+ss7\+\_\+link\+::linkset, L\+O\+G\+S\+S7, osmo\+\_\+ss7\+\_\+linkset\+::name, and ss7\+\_\+initialized. \mbox{\label{osmo__ss7_8h_abf73f9c25c19c4b7e7ff671a0ffffca6}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy@{osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy}} \index{osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy@{osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$}]{lset }\end{DoxyParamCaption})} Destroy a S\+S7 Linkset. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em lset} & Linkset to be destroyed \\ \hline \end{DoxyParams} References osmo\+\_\+ss7\+\_\+linkset\+::cfg, osmo\+\_\+ss7\+\_\+route\+::dest, osmo\+\_\+ss7\+\_\+linkset\+::inst, osmo\+\_\+ss7\+\_\+linkset\+::links, osmo\+\_\+ss7\+\_\+route\+::linkset, osmo\+\_\+ss7\+\_\+linkset\+::list, osmo\+\_\+ss7\+\_\+route\+::list, L\+O\+G\+S\+S7, osmo\+\_\+ss7\+\_\+linkset\+::name, osmo\+\_\+ss7\+\_\+link\+\_\+destroy(), osmo\+\_\+ss7\+\_\+route\+\_\+destroy(), osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes, osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system, and ss7\+\_\+initialized. Referenced by osmo\+\_\+ss7\+\_\+instance\+\_\+destroy(). \mbox{\label{osmo__ss7_8h_aea6f3f676f45f38a2f733ec0529b4484}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name@{osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name}} \index{osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name@{osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+linkset}$\ast$ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})} Find S\+S7 Linkset by given name. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance in which to look \\ \hline \mbox{\tt in} & {\em name} & Name of S\+S7 Linkset \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to linkset on success; N\+U\+LL on error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+linkset\+::cfg, osmo\+\_\+ss7\+\_\+instance\+::linksets, osmo\+\_\+ss7\+\_\+linkset\+::list, osmo\+\_\+ss7\+\_\+linkset\+::name, and ss7\+\_\+initialized. Referenced by osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create(), and osmo\+\_\+ss7\+\_\+route\+\_\+create(). \mbox{\label{osmo__ss7_8h_a9ee19875896f2831d48a924cec1956e6}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create}} \index{osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+linkset}$\ast$ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} Find or allocate S\+S7 Linkset. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance in which we operate \\ \hline \mbox{\tt in} & {\em name} & Name of S\+S7 Linkset \\ \hline \mbox{\tt in} & {\em pc} & Adjacent Pointcode \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Linkset on success; N\+U\+LL on error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+linkset\+::adjacent\+\_\+pc, osmo\+\_\+ss7\+\_\+linkset\+::cfg, osmo\+\_\+ss7\+\_\+linkset\+::inst, osmo\+\_\+ss7\+\_\+instance\+::linksets, osmo\+\_\+ss7\+\_\+linkset\+::list, L\+O\+G\+S\+S7, osmo\+\_\+ss7\+\_\+linkset\+::name, osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name(), and ss7\+\_\+initialized. \mbox{\label{osmo__ss7_8h_a4f143ec50e7ae5bfdf6ff1cf5ada7b75}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+mtp\+\_\+to\+\_\+user@{osmo\+\_\+ss7\+\_\+mtp\+\_\+to\+\_\+user}} \index{osmo\+\_\+ss7\+\_\+mtp\+\_\+to\+\_\+user@{osmo\+\_\+ss7\+\_\+mtp\+\_\+to\+\_\+user}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+mtp\+\_\+to\+\_\+user()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+mtp\+\_\+to\+\_\+user (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$}]{omp }\end{DoxyParamCaption})} References M\+T\+P\+\_\+\+S\+A\+P\+\_\+\+U\+S\+ER, osmo\+\_\+ss7\+\_\+user\+::name, osmo\+\_\+mtp\+\_\+prim\+::oph, O\+S\+M\+O\+\_\+\+M\+T\+P\+\_\+\+P\+R\+I\+M\+\_\+\+T\+R\+A\+N\+S\+F\+ER, osmo\+\_\+ss7\+\_\+user\+::prim\+\_\+cb, osmo\+\_\+ss7\+\_\+user\+::priv, osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sio, osmo\+\_\+mtp\+\_\+prim\+::transfer, osmo\+\_\+mtp\+\_\+prim\+::u, and osmo\+\_\+ss7\+\_\+instance\+::user. \mbox{\label{osmo__ss7_8h_ae5e0610394ffcbdbd4be7006ab04205e}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local@{osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local}} \index{osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local@{osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()} {\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid(), osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc, and ss7\+\_\+initialized. Referenced by m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2(), sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail(), scrc\+\_\+local\+\_\+out\+\_\+common(), and scrc\+\_\+translate\+\_\+node\+\_\+9(). \mbox{\label{osmo__ss7_8h_a26d0122847290712aa22ebf3a37468fd}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid@{osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid}} \index{osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid@{osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid()} {\footnotesize\ttfamily static bool osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf(), sccp\+\_\+user\+\_\+find(), show\+\_\+user(), sua2sccp\+\_\+tx\+\_\+m3ua(), vty\+\_\+show\+\_\+connection(), and write\+\_\+one\+\_\+cs7(). \mbox{\label{osmo__ss7_8h_a63840039b641779d68a0010bc7f24fd5}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+pc\+\_\+normalize@{osmo\+\_\+ss7\+\_\+pc\+\_\+normalize}} \index{osmo\+\_\+ss7\+\_\+pc\+\_\+normalize@{osmo\+\_\+ss7\+\_\+pc\+\_\+normalize}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()} {\footnotesize\ttfamily uint32\+\_\+t osmo\+\_\+ss7\+\_\+pc\+\_\+normalize (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+pc\+\_\+width(). Referenced by osmo\+\_\+ss7\+\_\+route\+\_\+create(), osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc(), and osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask(). \mbox{\label{osmo__ss7_8h_a9cc83a7969a30ca6748f27cf0b442e5e}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+pc\+\_\+width@{osmo\+\_\+ss7\+\_\+pc\+\_\+width}} \index{osmo\+\_\+ss7\+\_\+pc\+\_\+width@{osmo\+\_\+ss7\+\_\+pc\+\_\+width}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+pc\+\_\+width()} {\footnotesize\ttfamily uint8\+\_\+t osmo\+\_\+ss7\+\_\+pc\+\_\+width (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len. Referenced by get\+\_\+pc\+\_\+comp\+\_\+shift(), osmo\+\_\+ss7\+\_\+pc\+\_\+normalize(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len(), and osmo\+\_\+ss7\+\_\+route\+\_\+print(). \mbox{\label{osmo__ss7_8h_a5c8b8efb97b4c3651223fffb5ad07e42}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse}} \index{osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len, default\+\_\+pc\+\_\+fmt, gen\+\_\+pc\+\_\+fmtstr(), get\+\_\+pc\+\_\+comp\+\_\+shift(), L\+O\+G\+S\+S7, num\+\_\+pc\+\_\+comp\+\_\+exp(), and osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt. Referenced by \+\_\+rout\+\_\+key(), D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), and osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len(). \mbox{\label{osmo__ss7_8h_a20d09e0dbfb82c1b496fa63c11c1ee28}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len}} \index{osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{in }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+pc\+\_\+width(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse(), and osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(). \mbox{\label{osmo__ss7_8h_aced2f480635c40bdfbdc7b03687f0743}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+pointcode\+\_\+print@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print}} \index{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()} {\footnotesize\ttfamily const char$\ast$ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} References M\+A\+X\+\_\+\+P\+C\+\_\+\+S\+T\+R\+\_\+\+L\+EN, and osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf(). Referenced by D\+E\+F\+U\+N(), format\+\_\+affected\+\_\+pcs\+\_\+c(), handle\+\_\+rkey\+\_\+dereg(), handle\+\_\+rkey\+\_\+reg(), hmrt\+\_\+message\+\_\+for\+\_\+routing(), ipa\+\_\+del\+\_\+route(), m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2(), m3ua\+\_\+rx\+\_\+xfer(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+user\+\_\+unbind(), osmo\+\_\+ss7\+\_\+route\+\_\+create(), osmo\+\_\+ss7\+\_\+route\+\_\+destroy(), osmo\+\_\+ss7\+\_\+route\+\_\+name(), osmo\+\_\+ss7\+\_\+route\+\_\+print(), sccp\+\_\+addr\+\_\+to\+\_\+str\+\_\+buf(), sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc(), sccp\+\_\+user\+\_\+bind\+\_\+pc(), scrc\+\_\+node\+\_\+6(), show\+\_\+user(), vty\+\_\+show\+\_\+connection(), write\+\_\+one\+\_\+as(), write\+\_\+one\+\_\+cs7(), write\+\_\+one\+\_\+rtable(), write\+\_\+sccp\+\_\+addressbook(), and xua\+\_\+snm\+\_\+rx\+\_\+dupu(). \mbox{\label{osmo__ss7_8h_a11f1c4d0b61f5445352c6adeb39b8e3b}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2}} \index{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()} {\footnotesize\ttfamily const char$\ast$ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2 (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} References M\+A\+X\+\_\+\+P\+C\+\_\+\+S\+T\+R\+\_\+\+L\+EN, and osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf(). Referenced by m3ua\+\_\+rx\+\_\+xfer(), osmo\+\_\+ss7\+\_\+route\+\_\+name(), osmo\+\_\+ss7\+\_\+route\+\_\+print(), sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc(), and write\+\_\+one\+\_\+rtable(). \mbox{\label{osmo__ss7_8h_aef508edae414684aa3e2f9c29c9bad25}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf}} \index{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf@{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()} {\footnotesize\ttfamily const char$\ast$ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf, }\item[{size\+\_\+t}]{buf\+\_\+len, }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+instance\+::cfg, default\+\_\+pc\+\_\+fmt, gen\+\_\+pc\+\_\+fmtstr(), num\+\_\+pc\+\_\+comp\+\_\+exp(), osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid(), pc\+\_\+comp\+\_\+shift\+\_\+and\+\_\+mask(), and osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt. Referenced by osmo\+\_\+ss7\+\_\+pointcode\+\_\+print(), and osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2(). \mbox{\label{osmo__ss7_8h_aa24cea8083d06097c1655a38a36e0a17}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb@{osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb}} \index{osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb@{osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb (\begin{DoxyParamCaption}\item[{\textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb} $\ast$}]{cb }\end{DoxyParamCaption})} Register a call-\/back function for unknown S\+C\+TP P\+P\+ID / I\+PA Stream ID. References g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb. \mbox{\label{osmo__ss7_8h_a7b06b8cbd779fa328ce7a62008565d66}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+create@{osmo\+\_\+ss7\+\_\+route\+\_\+create}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+create@{osmo\+\_\+ss7\+\_\+route\+\_\+create}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route}$\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl, }\item[{uint32\+\_\+t}]{pc, }\item[{uint32\+\_\+t}]{mask, }\item[{const char $\ast$}]{linkset\+\_\+name }\end{DoxyParamCaption})} Create a new route in the given routing table. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em rtbl} & Routing Table in which the route is to be created \\ \hline \mbox{\tt in} & {\em pc} & Point Code of the destination of the route \\ \hline \mbox{\tt in} & {\em mask} & Mask of the destination Point Code pc \\ \hline \mbox{\tt in} & {\em linkset\+\_\+name} & string name of the linkset to be used \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} caller-\/allocated + initialized route, N\+U\+LL on error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+route\+::as, osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+linkset\+::cfg, osmo\+\_\+ss7\+\_\+route\+::cfg, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+route\+::dest, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst, osmo\+\_\+ss7\+\_\+route\+::linkset, osmo\+\_\+ss7\+\_\+route\+::linkset\+\_\+name, L\+O\+G\+S\+S7, osmo\+\_\+ss7\+\_\+route\+::mask, osmo\+\_\+ss7\+\_\+linkset\+::name, osmo\+\_\+ss7\+\_\+as\+::name, osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name(), osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name(), osmo\+\_\+ss7\+\_\+pc\+\_\+normalize(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+print(), osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask(), osmo\+\_\+ss7\+\_\+route\+::pc, osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt, route\+\_\+insert\+\_\+sorted(), osmo\+\_\+ss7\+\_\+route\+::rtable, and ss7\+\_\+initialized. Referenced by \+\_\+rout\+\_\+key(), D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), handle\+\_\+rkey\+\_\+reg(), ipa\+\_\+add\+\_\+route(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(). \mbox{\label{osmo__ss7_8h_a2e5f54771a9bb3a14a5aea6b19d99922}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+destroy@{osmo\+\_\+ss7\+\_\+route\+\_\+destroy}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+destroy@{osmo\+\_\+ss7\+\_\+route\+\_\+destroy}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+route\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})} Destroy a given S\+S7 route. References osmo\+\_\+ss7\+\_\+route\+::cfg, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst, osmo\+\_\+ss7\+\_\+route\+::linkset\+\_\+name, osmo\+\_\+ss7\+\_\+route\+::list, L\+O\+G\+S\+S7, osmo\+\_\+ss7\+\_\+route\+::mask, osmo\+\_\+ss7\+\_\+pointcode\+\_\+print(), osmo\+\_\+ss7\+\_\+route\+::pc, osmo\+\_\+ss7\+\_\+route\+::rtable, and ss7\+\_\+initialized. Referenced by \+\_\+rout\+\_\+key(), D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), handle\+\_\+rkey\+\_\+dereg(), handle\+\_\+rkey\+\_\+reg(), ipa\+\_\+del\+\_\+route(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), osmo\+\_\+ss7\+\_\+as\+\_\+destroy(), and osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy(). \mbox{\label{osmo__ss7_8h_ab5fcd843ecef8c59397b5576a669c87d}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc@{osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc@{osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route}$\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl, }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})} Find a S\+S7 route for given destination point code in given table. References osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+route\+::cfg, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst, osmo\+\_\+ss7\+\_\+route\+::list, osmo\+\_\+ss7\+\_\+route\+::mask, osmo\+\_\+ss7\+\_\+pc\+\_\+normalize(), osmo\+\_\+ss7\+\_\+route\+::pc, osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes, and ss7\+\_\+initialized. Referenced by handle\+\_\+rkey\+\_\+dereg(), and osmo\+\_\+ss7\+\_\+route\+\_\+lookup(). \mbox{\label{osmo__ss7_8h_ab9df59dfb9eb0da0c24f47f6017903fa}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask@{osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask@{osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route}$\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl, }\item[{uint32\+\_\+t}]{dpc, }\item[{uint32\+\_\+t}]{mask }\end{DoxyParamCaption})} Find a S\+S7 route for given destination point code + mask in given table. References osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+route\+::cfg, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst, osmo\+\_\+ss7\+\_\+route\+::list, osmo\+\_\+ss7\+\_\+route\+::mask, osmo\+\_\+ss7\+\_\+pc\+\_\+normalize(), osmo\+\_\+ss7\+\_\+route\+::pc, osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes, and ss7\+\_\+initialized. Referenced by \+\_\+rout\+\_\+key(), D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), ipa\+\_\+add\+\_\+route(), ipa\+\_\+del\+\_\+route(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+ss7\+\_\+route\+\_\+create(). \mbox{\label{osmo__ss7_8h_afffa83964e0e553761063635d9b47d93}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+lookup@{osmo\+\_\+ss7\+\_\+route\+\_\+lookup}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+lookup@{osmo\+\_\+ss7\+\_\+route\+\_\+lookup}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+lookup()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route}$\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+lookup (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})} Find a S\+S7 route for given destination point code in given S\+S7. References osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc(), osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system, and ss7\+\_\+initialized. Referenced by gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua(), hmrt\+\_\+message\+\_\+for\+\_\+routing(), and xua\+\_\+snm\+\_\+rx\+\_\+daud(). \mbox{\label{osmo__ss7_8h_ac966231057ff7ab04224ffee73abfc4a}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+name@{osmo\+\_\+ss7\+\_\+route\+\_\+name}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+name@{osmo\+\_\+ss7\+\_\+route\+\_\+name}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+name()} {\footnotesize\ttfamily const char$\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt, }\item[{bool}]{list\+\_\+asps }\end{DoxyParamCaption})} Return human readable representation of the route, in a static buffer. This uses both \doxyref{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}{p.}{osmo__ss7_8h_aced2f480635c40bdfbdc7b03687f0743} and \doxyref{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}{p.}{osmo__ss7_8h_a11f1c4d0b61f5445352c6adeb39b8e3b}, so pairing \doxyref{osmo\+\_\+ss7\+\_\+route\+\_\+name()}{p.}{osmo__ss7__hmrt_8c_ac966231057ff7ab04224ffee73abfc4a} with \doxyref{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}{p.}{osmo__ss7_8h_aced2f480635c40bdfbdc7b03687f0743} in the same printf statement is likely to conflict. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em rt} & The route information to print, or N\+U\+LL. \\ \hline \mbox{\tt in} & {\em list\+\_\+asps} & If true, append info for all A\+S\+Ps for the route\textquotesingle{}s AS. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} A string constant or static buffer. \end{DoxyReturn} References A\+P\+P\+E\+ND, osmo\+\_\+ss7\+\_\+route\+::as, osmo\+\_\+ss7\+\_\+as\+::asps, osmo\+\_\+ss7\+\_\+linkset\+::cfg, osmo\+\_\+ss7\+\_\+route\+::cfg, osmo\+\_\+ss7\+\_\+as\+::cfg, osmo\+\_\+ss7\+\_\+asp\+::cfg, osmo\+\_\+ss7\+\_\+route\+::dest, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst, osmo\+\_\+ss7\+\_\+route\+::linkset, osmo\+\_\+ss7\+\_\+route\+::mask, osmo\+\_\+ss7\+\_\+linkset\+::name, osmo\+\_\+ss7\+\_\+as\+::name, osmo\+\_\+ss7\+\_\+asp\+::name, osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+print(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2(), osmo\+\_\+ss7\+\_\+route\+::pc, osmo\+\_\+ss7\+\_\+as\+::proto, osmo\+\_\+ss7\+\_\+route\+::rtable, and osmo\+\_\+ss7\+\_\+asp\+::sock\+\_\+name. Referenced by hmrt\+\_\+message\+\_\+for\+\_\+routing(). \mbox{\label{osmo__ss7_8h_ac78fd36af77d7da021e0b524386a0f91}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+print@{osmo\+\_\+ss7\+\_\+route\+\_\+print}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+print@{osmo\+\_\+ss7\+\_\+route\+\_\+print}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+print()} {\footnotesize\ttfamily const char$\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+print (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+instance\+::cfg, osmo\+\_\+ss7\+\_\+route\+::cfg, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst, osmo\+\_\+ss7\+\_\+route\+::mask, osmo\+\_\+ss7\+\_\+pc\+\_\+width(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+print(), osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2(), osmo\+\_\+ss7\+\_\+route\+::pc, osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt, osmo\+\_\+ss7\+\_\+route\+::rtable, and u32\+\_\+masklen(). Referenced by vty\+\_\+dump\+\_\+rtable(). \mbox{\label{osmo__ss7_8h_aa75722ad470c3d8981b765df9a3f5e97}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+destroy@{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+destroy}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+destroy@{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+destroy}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+route\+\_\+table\+::list. \mbox{\label{osmo__ss7_8h_a48db4af978f592bf1ec847aab78234f6}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find@{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find@{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table}$\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+route\+\_\+table\+::cfg, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::list, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::name, osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list, and ss7\+\_\+initialized. Referenced by osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create(). \mbox{\label{osmo__ss7_8h_a9559e23d2267140ec6c35729234ced23}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create}} \index{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create@{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table}$\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+route\+\_\+table\+::cfg, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::list, L\+O\+G\+S\+S7, osmo\+\_\+ss7\+\_\+route\+\_\+table\+::name, osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find(), osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes, osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list, and ss7\+\_\+initialized. Referenced by osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create(). \mbox{\label{osmo__ss7_8h_af325ee0eb2ff3e3df09cc7e49b6bb6b9}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua@{osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua}} \index{osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua@{osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua()} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{in }\end{DoxyParamCaption})} References M3\+U\+A\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST, M3\+U\+A\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE, M3\+U\+A\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE, and O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE. Referenced by handle\+\_\+rkey\+\_\+reg(), and xua\+\_\+asp\+\_\+fsm\+\_\+inactive(). \mbox{\label{osmo__ss7_8h_a41c5d0c1bcae4257834073d3c109f12c}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua@{osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua}} \index{osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua@{osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode}}]{tmod }\end{DoxyParamCaption})} References M3\+U\+A\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST, M3\+U\+A\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE, M3\+U\+A\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+B\+C\+A\+ST, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+L\+O\+A\+D\+S\+H\+A\+RE, and O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+\_\+\+T\+M\+O\+D\+\_\+\+O\+V\+E\+R\+R\+I\+DE. Referenced by peer\+\_\+send(), and xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req(). \mbox{\label{osmo__ss7_8h_a6e0fa32ebbd3aeba25b800146a76bbc7}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req@{osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req}} \index{osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req@{osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$}]{omp }\end{DoxyParamCaption})} References m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2(), xua\+\_\+msg\+::mtp, mtp\+\_\+prim\+\_\+to\+\_\+m3ua(), M\+T\+P\+\_\+\+S\+A\+P\+\_\+\+U\+S\+ER, osmo\+\_\+mtp\+\_\+prim\+::oph, O\+S\+M\+O\+\_\+\+M\+T\+P\+\_\+\+P\+R\+I\+M\+\_\+\+T\+R\+A\+N\+S\+F\+ER, osmo\+\_\+mtp\+\_\+prim\+::transfer, osmo\+\_\+mtp\+\_\+prim\+::u, and xua\+\_\+msg\+\_\+free(). Referenced by sua2sccp\+\_\+tx\+\_\+m3ua(). \mbox{\label{osmo__ss7_8h_a22d4d3245ada246e0d50da10c9281d28}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+user\+\_\+register@{osmo\+\_\+ss7\+\_\+user\+\_\+register}} \index{osmo\+\_\+ss7\+\_\+user\+\_\+register@{osmo\+\_\+ss7\+\_\+user\+\_\+register}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+user\+\_\+register()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+user\+\_\+register (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint8\+\_\+t}]{service\+\_\+ind, }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user }\end{DoxyParamCaption})} Register a M\+TP user for a given service indicator. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 instance for which we register the user \\ \hline \mbox{\tt in} & {\em service\+\_\+ind} & Service (I\+S\+UP, S\+C\+CP, ...) \\ \hline \mbox{\tt in} & {\em user} & S\+S7 user (including primitive call-\/back) \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+user\+::inst, osmo\+\_\+ss7\+\_\+user\+::name, osmo\+\_\+ss7\+\_\+user\+::priv, and osmo\+\_\+ss7\+\_\+instance\+::user. Referenced by osmo\+\_\+sccp\+\_\+instance\+\_\+create(). \mbox{\label{osmo__ss7_8h_a47b75b30c8c07818f2c67a28a3dc74c9}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+user\+\_\+unregister@{osmo\+\_\+ss7\+\_\+user\+\_\+unregister}} \index{osmo\+\_\+ss7\+\_\+user\+\_\+unregister@{osmo\+\_\+ss7\+\_\+user\+\_\+unregister}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+user\+\_\+unregister()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+user\+\_\+unregister (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint8\+\_\+t}]{service\+\_\+ind, }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user }\end{DoxyParamCaption})} Unregister a M\+TP user for a given service indicator. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 instance for which we register the user \\ \hline \mbox{\tt in} & {\em service\+\_\+ind} & Service (I\+S\+UP, S\+C\+CP, ...) \\ \hline \mbox{\tt in} & {\em user} & (optional) S\+S7 user. If present, we will not unregister other users \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+user\+::inst, and osmo\+\_\+ss7\+\_\+instance\+::user. Referenced by osmo\+\_\+sccp\+\_\+instance\+\_\+destroy(). \mbox{\label{osmo__ss7_8h_abdfadd0c1cd0b7d847f9f01e4a4c9134}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent@{osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent}} \index{osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent@{osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent (\begin{DoxyParamCaption}\item[{struct vty $\ast$}]{vty }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst, osmo\+\_\+ss7\+\_\+as\+::inst, osmo\+\_\+ss7\+\_\+asp\+::inst, osmo\+\_\+xua\+\_\+server\+::inst, osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::inst, osmo\+\_\+ss7\+\_\+asp\+\_\+restart(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind(), ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts(), and ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts(). \mbox{\label{osmo__ss7_8h_af4d60a28bd339b50f8b0077b2479b2d4}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp@{osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp}} \index{osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp@{osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})} References cs7\+\_\+role, C\+S7\+\_\+\+R\+O\+L\+E\+\_\+\+A\+SP, and vty\+\_\+init\+\_\+shared(). \mbox{\label{osmo__ss7_8h_a1c0ba46e8ee2cfa470db9be9b620ce9a}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg@{osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg}} \index{osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg@{osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})} References cs7\+\_\+role, C\+S7\+\_\+\+R\+O\+L\+E\+\_\+\+SG, rtable\+\_\+node, vty\+\_\+init\+\_\+shared(), and xua\+\_\+node. \mbox{\label{osmo__ss7_8h_a318b39d0f350e34da5bd5b4d9a4a38fd}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs, }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})} References osmo\+\_\+xua\+\_\+server\+::cfg, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+xua\+\_\+server\+::local, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host(), and osmo\+\_\+xua\+\_\+server\+::server. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(). \mbox{\label{osmo__ss7_8h_abf0d6146779911d066a27685e262133f}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs }\end{DoxyParamCaption})} Set the x\+UA server to bind/listen to the currently configured ip/port. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em xs} & x\+UA server to operate \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success, negative value on error. \end{DoxyReturn} References osmo\+\_\+xua\+\_\+server\+::cfg, osmo\+\_\+xua\+\_\+server\+::local, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf(), osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals, osmo\+\_\+xua\+\_\+server\+::proto, osmo\+\_\+xua\+\_\+server\+::sctp\+\_\+init, and osmo\+\_\+xua\+\_\+server\+::server. Referenced by osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent(). \mbox{\label{osmo__ss7_8h_aafbaf326cc543e9bc04019194ec6fb15}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server}$\ast$ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto, }\item[{uint16\+\_\+t}]{local\+\_\+port, }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})} create a new x\+UA server configured with given ip/port \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em ctx} & talloc allocation context \\ \hline \mbox{\tt in} & {\em proto} & protocol (x\+UA variant) to use \\ \hline \mbox{\tt in} & {\em local\+\_\+port} & local S\+C\+TP port to bind/listen to \\ \hline \mbox{\tt in} & {\em local\+\_\+host} & local IP address to bind/listen to (optional) \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} callee-\/allocated \doxyref{osmo\+\_\+xua\+\_\+server}{p.}{structosmo__xua__server} in case of success \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2(), ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto(), and osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto. \mbox{\label{osmo__ss7_8h_a5422f8c0457f4dead4ec6345bd73fbe5}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server}$\ast$ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{int}]{trans\+\_\+proto, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto, }\item[{uint16\+\_\+t}]{local\+\_\+port, }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})} create a new x\+UA server configured with given ip/port \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance on which we operate \\ \hline \mbox{\tt in} & {\em trans\+\_\+proto} & transport protocol to use (one of I\+P\+P\+R\+O\+T\+O\+\_\+$\ast$) \\ \hline \mbox{\tt in} & {\em proto} & protocol (x\+UA variant) to use \\ \hline \mbox{\tt in} & {\em local\+\_\+port} & local S\+C\+TP port to bind/listen to \\ \hline \mbox{\tt in} & {\em local\+\_\+host} & local IP address to bind/listen to (optional) \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} callee-\/allocated \doxyref{osmo\+\_\+xua\+\_\+server}{p.}{structosmo__xua__server} in case of success \end{DoxyReturn} References osmo\+\_\+xua\+\_\+server\+::asp\+\_\+list, osmo\+\_\+xua\+\_\+server\+::cfg, osmo\+\_\+xua\+\_\+server\+::inst, osmo\+\_\+xua\+\_\+server\+::list, osmo\+\_\+xua\+\_\+server\+::local, O\+S\+M\+O\+\_\+\+S\+S7\+\_\+\+A\+S\+P\+\_\+\+P\+R\+O\+T\+\_\+\+S\+UA, osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name(), osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals, osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host(), osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+xua\+\_\+server\+::proto, osmo\+\_\+xua\+\_\+server\+::server, ss7\+\_\+asp\+\_\+protocol\+\_\+check\+\_\+trans\+\_\+proto(), ss7\+\_\+initialized, osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto, xua\+\_\+accept\+\_\+cb(), and osmo\+\_\+ss7\+\_\+instance\+::xua\+\_\+servers. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(), and osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create(). \mbox{\label{osmo__ss7_8h_a9ecc8a3d9ff669d07fedd11dccc67782}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs, }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})} References osmo\+\_\+xua\+\_\+server\+::cfg, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+xua\+\_\+server\+::local, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host(), and osmo\+\_\+xua\+\_\+server\+::server. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(). \mbox{\label{osmo__ss7_8h_a27173446ba8d82c930840a6e3a8202d4}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs }\end{DoxyParamCaption})} References osmo\+\_\+xua\+\_\+server\+::asp\+\_\+list, osmo\+\_\+xua\+\_\+server\+::list, osmo\+\_\+ss7\+\_\+asp\+\_\+destroy(), osmo\+\_\+xua\+\_\+server\+::server, and osmo\+\_\+ss7\+\_\+asp\+::siblings. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), and osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id(). \mbox{\label{osmo__ss7_8h_a31390e3cc21fa55433bf042d1a31a7ab}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server}$\ast$ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto, }\item[{uint16\+\_\+t}]{local\+\_\+port }\end{DoxyParamCaption})} find an x\+UA server with the given parameters \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance on which we operate \\ \hline \mbox{\tt in} & {\em proto} & protocol (x\+UA variant) in use \\ \hline \mbox{\tt in} & {\em local\+\_\+port} & local port of the server \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} \doxyref{osmo\+\_\+xua\+\_\+server}{p.}{structosmo__xua__server} or N\+U\+LL (not found) \end{DoxyReturn} References osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2(), ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto(), and osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto. \mbox{\label{osmo__ss7_8h_a365b41929114c3efdd1768426b456784}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server}$\ast$ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{int}]{trans\+\_\+proto, }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto, }\item[{uint16\+\_\+t}]{local\+\_\+port }\end{DoxyParamCaption})} find an x\+UA server with the given parameters \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em inst} & S\+S7 Instance on which we operate \\ \hline \mbox{\tt in} & {\em trans\+\_\+proto} & transport protocol in use (one of I\+P\+P\+R\+O\+T\+O\+\_\+$\ast$) \\ \hline \mbox{\tt in} & {\em proto} & protocol (x\+UA variant) in use \\ \hline \mbox{\tt in} & {\em local\+\_\+port} & local port of the server \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} \doxyref{osmo\+\_\+xua\+\_\+server}{p.}{structosmo__xua__server} or N\+U\+LL (not found) \end{DoxyReturn} References osmo\+\_\+xua\+\_\+server\+::cfg, osmo\+\_\+xua\+\_\+server\+::list, osmo\+\_\+xua\+\_\+server\+::local, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port, osmo\+\_\+xua\+\_\+server\+::proto, ss7\+\_\+initialized, osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto, and osmo\+\_\+ss7\+\_\+instance\+::xua\+\_\+servers. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id(), osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt(), and osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find(). \mbox{\label{osmo__ss7_8h_ae97d2ba8d01c1819acad4f085c846bf8}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs, }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})} References osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts(). Referenced by osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2(), and ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts(). \mbox{\label{osmo__ss7_8h_a6baf9122fc63dcf51ee9de5cc8fd7663}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts}} \index{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts@{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs, }\item[{const char $\ast$$\ast$}]{local\+\_\+hosts, }\item[{size\+\_\+t}]{local\+\_\+host\+\_\+cnt }\end{DoxyParamCaption})} References osmo\+\_\+xua\+\_\+server\+::cfg, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt, osmo\+\_\+xua\+\_\+server\+::local, osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts(), osmo\+\_\+xua\+\_\+server\+::server, and ss7\+\_\+initialized. Referenced by D\+E\+F\+U\+N\+\_\+\+A\+T\+T\+R(), and osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host(). \subsection{Variable Documentation} \mbox{\label{osmo__ss7_8h_a41be4c98feb2b819cbc41e9f378ef8e2}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals@{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals}} \index{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals@{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals} {\footnotesize\ttfamily struct value\+\_\+string osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals[$\,$]} Referenced by D\+E\+F\+U\+N\+\_\+\+U\+S\+R\+A\+T\+T\+R(), and osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name(). \mbox{\label{osmo__ss7_8h_a41380c47cdda3f98c55d1a93e6071a6b}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals@{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals} {\footnotesize\ttfamily struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals[$\,$]} Referenced by osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind(), osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2(), parse\+\_\+asp\+\_\+proto(), show\+\_\+one\+\_\+asp(), vty\+\_\+dump\+\_\+xua\+\_\+server(), write\+\_\+one\+\_\+xua(), and xua\+\_\+accept\+\_\+cb(). \mbox{\label{osmo__ss7_8h_a617cc4818ccf1e2d74ff0e012975ce30}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names@{osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names}} \index{osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names@{osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names[$\,$]} Referenced by show\+\_\+one\+\_\+asp(), and write\+\_\+one\+\_\+asp(). \mbox{\label{osmo__ss7_8h_a8bde19e6cde8f784d4bb249da25e8eeb}} \index{osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}!osmo\+\_\+ss7\+\_\+instances@{osmo\+\_\+ss7\+\_\+instances}} \index{osmo\+\_\+ss7\+\_\+instances@{osmo\+\_\+ss7\+\_\+instances}!osmo\+\_\+ss7.\+h@{osmo\+\_\+ss7.\+h}} \subsubsection{osmo\+\_\+ss7\+\_\+instances} {\footnotesize\ttfamily struct llist\+\_\+head osmo\+\_\+ss7\+\_\+instances} Referenced by \+\_\+show\+\_\+cs7\+\_\+xua(), osmo\+\_\+ss7\+\_\+instance\+\_\+find(), osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create(), ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr(), and write\+\_\+all\+\_\+cs7().