\doxysection{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 \doxysubsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key} \end{DoxyCompactItemize} \doxysubsection*{Macros} \begin{DoxyCompactItemize} \item \#define \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PC\+\_\+\+INVALID}~0xffffffff \item \#define \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+NO\+\_\+\+NOTIFY}~0x00000001 \begin{DoxyCompactList}\small\item\em Peer SG doesn\textquotesingle{}t send NTFY(AS-\/\+INACTIVE) after ASP-\/\+UP procedure. \end{DoxyCompactList}\item \#define \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+DAUD\+\_\+\+IN\+\_\+\+ASP}~0x00000002 \begin{DoxyCompactList}\small\item\em Accept DAUD in ASP role (RFC states only permitted in ASP-\/$>$SG role) \end{DoxyCompactList}\item \#define \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+SNM\+\_\+\+INACTIVE}~0x00000004 \begin{DoxyCompactList}\small\item\em Accept SSNM even if ASP is in AS-\/\+INACTIVE state. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{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 PPID or IPA Stream\+ID. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} \{ \newline \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+NONE} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA} , \newline \textbf{ \+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT} \} \item enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} \{ \newline \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE} = 0 , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+ROUNDROBIN} , \newline \textbf{ \+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+TMOD} \} \item enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state} \{ \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+SHUTDOWN} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+BLOCKED} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+ENABLED} \} \item enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+role} \{ \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG} , \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+IPSP} \} \end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instances\+\_\+llist\+\_\+entry} (struct llist\+\_\+head $\ast$list) \item int \textbf{ osmo\+\_\+ss7\+\_\+init} (void) \item static bool \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid} (uint32\+\_\+t pc) \item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find} (uint32\+\_\+t id) \begin{DoxyCompactList}\small\item\em Find a SS7 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 SS7 Instance. \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \begin{DoxyCompactList}\small\item\em Destroy a SS7 Instance. \end{DoxyCompactList}\item uint32\+\_\+t \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+id} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \item const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+name} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \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 SS7 instance. \end{DoxyCompactList}\item const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+pc\+\_\+fmt} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \item uint32\+\_\+t \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+primary\+\_\+pc} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \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 SCCP instance, if not present yet. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+get\+\_\+sccp} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \begin{DoxyCompactList}\small\item\em Get the SCCP instance, if present. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \item bool \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc) \item int \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$str) \item int \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len} (const 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 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 struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name) \item void \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user) \item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+get\+\_\+instance} (const struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user) \item void \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+set\+\_\+prim\+\_\+cb} (struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user, osmo\+\_\+prim\+\_\+cb prim\+\_\+cb) \item void \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+set\+\_\+priv} (struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user, void $\ast$priv) \item void $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+get\+\_\+priv} (const struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user) \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 MTP 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 MTP user for a given service indicator. \end{DoxyCompactList}\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\+\_\+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, CREF and RLSD messages. \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 SS7 route for given destination point code in given SS7. \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 struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+get\+\_\+dest\+\_\+as} (struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt) \begin{DoxyCompactList}\small\item\em Get destination AS of route. \end{DoxyCompactList}\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 static const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name} (enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} mode) \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 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 enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+get\+\_\+asp\+\_\+protocol} (const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as) \begin{DoxyCompactList}\small\item\em Get asp\+\_\+protocol configuration of a given AS. \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 ASP 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 ASP 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 ASP. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+select\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as) \begin{DoxyCompactList}\small\item\em Select an AS to transmit a message, according to AS configuration and ASP availability. \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 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 ASP that matches the given ASP 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) OSMO\+\_\+\+DEPRECATED(\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) OSMO\+\_\+\+DEPRECATED(\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\+\_\+disconnect} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp) \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 ASP \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 ASP. \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 ASP. \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 ASP. \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 ASP. \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 SCTP PPID / IPA Stream ID. \end{DoxyCompactList}\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\+\_\+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} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item struct llist\+\_\+head \textbf{ osmo\+\_\+ss7\+\_\+instances} \item struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals} [$\,$] \item struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals} [$\,$] \item const struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names} [$\,$] \end{DoxyCompactItemize} \doxysubsection{Macro Definition Documentation} \mbox{\label{osmo__ss7_8h_afea7694c204285e517c2d8168628fdd6}} \index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP@{OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP}} \index{OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP@{OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+DAUD\+\_\+\+IN\+\_\+\+ASP~0x00000002} Accept DAUD in ASP role (RFC states only permitted in ASP-\/$>$SG role) \mbox{\label{osmo__ss7_8h_ae3698c4ec4d6012ce0328f1ba9d8c167}} \index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY@{OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY}} \index{OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY@{OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+NO\+\_\+\+NOTIFY~0x00000001} Peer SG doesn\textquotesingle{}t send NTFY(AS-\/\+INACTIVE) after ASP-\/\+UP procedure. \mbox{\label{osmo__ss7_8h_a6e5deef8cf0cfcc3d7028a2c21a65678}} \index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE@{OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE}} \index{OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE@{OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+SNM\+\_\+\+INACTIVE~0x00000004} Accept SSNM even if ASP is in AS-\/\+INACTIVE state. \mbox{\label{osmo__ss7_8h_ad7ad7dbf55c60c5b66663e6e4dc5e69b}} \index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_PC\_INVALID@{OSMO\_SS7\_PC\_INVALID}} \index{OSMO\_SS7\_PC\_INVALID@{OSMO\_SS7\_PC\_INVALID}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{OSMO\_SS7\_PC\_INVALID} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+PC\+\_\+\+INVALID~0xffffffff} \doxysubsection{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}} \doxysubsubsection{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 PPID or IPA 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{\texttt{ in}} & {\em asp} & Application Server Process through which data was received \\ \hline \mbox{\texttt{ in}} & {\em ppid\+\_\+sid} & SCTP PPID (in sigtran case) or IPA Stream ID \\ \hline \mbox{\texttt{ 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} \doxysubsection{Enumeration Type Documentation} \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}} \doxysubsubsection{osmo\_ss7\_as\_traffic\_mode} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_AS\_TMOD\_OVERRIDE@{OSMO\_SS7\_AS\_TMOD\_OVERRIDE}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_AS\_TMOD\_OVERRIDE@{OSMO\_SS7\_AS\_TMOD\_OVERRIDE}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09ba16d53df50849b17d9797a39d25a6bf72}} OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_AS\_TMOD\_BCAST@{OSMO\_SS7\_AS\_TMOD\_BCAST}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_AS\_TMOD\_BCAST@{OSMO\_SS7\_AS\_TMOD\_BCAST}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09ba766c8ce763e566ecd3ab81117fca4d41}} OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_AS\_TMOD\_LOADSHARE@{OSMO\_SS7\_AS\_TMOD\_LOADSHARE}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_AS\_TMOD\_LOADSHARE@{OSMO\_SS7\_AS\_TMOD\_LOADSHARE}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09badb835a5081eb16ff949a7f8dd39dde8c}} OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_AS\_TMOD\_ROUNDROBIN@{OSMO\_SS7\_AS\_TMOD\_ROUNDROBIN}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_AS\_TMOD\_ROUNDROBIN@{OSMO\_SS7\_AS\_TMOD\_ROUNDROBIN}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09ba5d3c3a731900bd7e0e20846d4b244355}} OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+ROUNDROBIN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{\_NUM\_OSMO\_SS7\_ASP\_TMOD@{\_NUM\_OSMO\_SS7\_ASP\_TMOD}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!\_NUM\_OSMO\_SS7\_ASP\_TMOD@{\_NUM\_OSMO\_SS7\_ASP\_TMOD}}}\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09ba326c8e5f699e3cfacf0b4aa787903928}} \+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+TMOD&\\ \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}} \doxysubsubsection{osmo\_ss7\_asp\_admin\_state} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_ADM\_S\_SHUTDOWN@{OSMO\_SS7\_ASP\_ADM\_S\_SHUTDOWN}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_ADM\_S\_SHUTDOWN@{OSMO\_SS7\_ASP\_ADM\_S\_SHUTDOWN}}}\mbox{\label{osmo__ss7_8h_a62938558e6896d94b3bfe6cd642434bea5795f4a46f72a522be4e5c313ad9417c}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+SHUTDOWN&no SCTP association with peer \\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_ADM\_S\_BLOCKED@{OSMO\_SS7\_ASP\_ADM\_S\_BLOCKED}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_ADM\_S\_BLOCKED@{OSMO\_SS7\_ASP\_ADM\_S\_BLOCKED}}}\mbox{\label{osmo__ss7_8h_a62938558e6896d94b3bfe6cd642434bea75d887e97af34a5ee1bb15dd6b4adbaa}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+BLOCKED&SCP association, but reject ASP-\/\+ACTIVE. \\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_ADM\_S\_ENABLED@{OSMO\_SS7\_ASP\_ADM\_S\_ENABLED}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_ADM\_S\_ENABLED@{OSMO\_SS7\_ASP\_ADM\_S\_ENABLED}}}\mbox{\label{osmo__ss7_8h_a62938558e6896d94b3bfe6cd642434beafcb41d24486e833aaab117c9dec01950}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+ENABLED&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}} \doxysubsubsection{osmo\_ss7\_asp\_protocol} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_PROT\_NONE@{OSMO\_SS7\_ASP\_PROT\_NONE}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_PROT\_NONE@{OSMO\_SS7\_ASP\_PROT\_NONE}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787a3cdf291e53da96bc606a9b16ff4ebd13}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+NONE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_PROT\_SUA@{OSMO\_SS7\_ASP\_PROT\_SUA}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_PROT\_SUA@{OSMO\_SS7\_ASP\_PROT\_SUA}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787a04a2745c7a4c0d6e8181a7b1b64be453}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_PROT\_M3UA@{OSMO\_SS7\_ASP\_PROT\_M3UA}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_PROT\_M3UA@{OSMO\_SS7\_ASP\_PROT\_M3UA}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787a83953b41cdfda1de5f9acb104cccb7dd}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_PROT\_IPA@{OSMO\_SS7\_ASP\_PROT\_IPA}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_PROT\_IPA@{OSMO\_SS7\_ASP\_PROT\_IPA}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787a698f1c6b4901d02d7f5cc641ace35a1d}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{\_NUM\_OSMO\_SS7\_ASP\_PROT@{\_NUM\_OSMO\_SS7\_ASP\_PROT}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!\_NUM\_OSMO\_SS7\_ASP\_PROT@{\_NUM\_OSMO\_SS7\_ASP\_PROT}}}\mbox{\label{osmo__ss7_8h_a3ed5d9f113ee1e2683ea0e4975852787ad337e1de7fd78ff45b23edb8f872c98d}} \+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT&\\ \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}} \doxysubsubsection{osmo\_ss7\_asp\_role} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+role}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_ROLE\_ASP@{OSMO\_SS7\_ASP\_ROLE\_ASP}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_ROLE\_ASP@{OSMO\_SS7\_ASP\_ROLE\_ASP}}}\mbox{\label{osmo__ss7_8h_a4999bfcb344a81b5ef9c42aacb9a44d3a9d9789af8db78840722972e2e943b423}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_ROLE\_SG@{OSMO\_SS7\_ASP\_ROLE\_SG}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_ROLE\_SG@{OSMO\_SS7\_ASP\_ROLE\_SG}}}\mbox{\label{osmo__ss7_8h_a4999bfcb344a81b5ef9c42aacb9a44d3a68886ba5a893ce7b6d5608c410ee7f0b}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_ASP\_ROLE\_IPSP@{OSMO\_SS7\_ASP\_ROLE\_IPSP}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_ROLE\_IPSP@{OSMO\_SS7\_ASP\_ROLE\_IPSP}}}\mbox{\label{osmo__ss7_8h_a4999bfcb344a81b5ef9c42aacb9a44d3acecff663ff447f83ab5e31c8c53a0343}} OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+IPSP&\\ \hline \end{DoxyEnumFields} \doxysubsection{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}} \doxysubsubsection{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, CREF and RLSD messages. For any Optional Data part larger than this value in octets, send CR, CC, CREF and RLSD messages without any payload, and send the data payload in a separate Data Form 1 message. ITU-\/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 SCCP peers. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em sccp} & SCCP instance to reconfigure. \\ \hline \mbox{\texttt{ 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 SCCP\+\_\+\+MAX\+\_\+\+OPTIONAL\+\_\+\+DATA == 130, which conforms to ITU-\/T Q.\+713. \\ \hline \end{DoxyParams} References \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}. \mbox{\label{osmo__ss7_8h_abdb0d3f6399b0f790fc2cb907845d504}} \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}} \doxysubsubsection{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{\texttt{ in}} & {\em ctx} & talloc context \\ \hline \mbox{\texttt{ in}} & {\em name} & human readable name \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+pc} & pointcode to be used on missing VTY setting \\ \hline \mbox{\texttt{ in}} & {\em prot} & protocol to be used (e.\+g OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA) \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+local\+\_\+port} & local port to be used on missing VTY setting \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+local\+\_\+ip} & local IP-\/address to be used on missing VTY setting \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+remote\+\_\+port} & remote port to be used on missing VTY setting \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+remote\+\_\+ip} & remote IP-\/address to be used on missing VTY setting \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} callee-\/allocated SCCP instance on success; NULL on error \end{DoxyReturn} This is simplified version of \doxyref{osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}{p.}{sccp__user_8c_a3494cf9f81c1463a55572e44366d5573}. the only difference is that the ID of the CS7 instance will be set to 0 statically References \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}. \mbox{\label{osmo__ss7_8h_a3494cf9f81c1463a55572e44366d5573}} \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}} \doxysubsubsection{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{\texttt{ in}} & {\em ctx} & talloc context \\ \hline \mbox{\texttt{ in}} & {\em ss7\+\_\+id} & of the SS7/\+CS7 instance \\ \hline \mbox{\texttt{ in}} & {\em name} & human readable name \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+pc} & pointcode to be used on missing VTY setting \\ \hline \mbox{\texttt{ in}} & {\em prot} & protocol to be used (e.\+g OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA) \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+local\+\_\+port} & local port to be used on missing VTY setting \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+local\+\_\+ip} & local IP-\/address to be used on missing VTY setting (NULL\+: use library own defaults) \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+remote\+\_\+port} & remote port to be used on missing VTY setting \\ \hline \mbox{\texttt{ in}} & {\em default\+\_\+remote\+\_\+ip} & remote IP-\/address to be used on missing VTY setting (NULL\+: use library own defaults) \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} callee-\/allocated SCCP instance on success; NULL on error \end{DoxyReturn} The function will examine the given CS7 instance and its sub components (as, asp, etc.). If necessary it will allocate the missing components. If no CS7 instance can be detected under the caller supplied ID, a new instance will be created beforehand. References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm()}, \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role\+\_\+set\+\_\+by\+\_\+vty}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::simple\+\_\+client\+\_\+allocated}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::simple\+\_\+client\+\_\+allocated}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()}, \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts()}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, \textbf{ ss7\+\_\+route\+\_\+create()}, \textbf{ ss7\+\_\+route\+\_\+destroy()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+role\+\_\+set\+\_\+by\+\_\+vty}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client()}. \mbox{\label{osmo__ss7_8h_abd73600ded430275951687aa5d58d23b}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}. \mbox{\label{osmo__ss7_8h_a850d23232fe30f4162cb47a5c9b6965d}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host()}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, \textbf{ ss7\+\_\+route\+\_\+create()}, \textbf{ ss7\+\_\+route\+\_\+destroy()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}. \mbox{\label{osmo__ss7_8h_a5c3a83227ac8684617fc3e08b65ebc1a}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()}, \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+bind()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+destroy()}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}. Referenced by \textbf{ 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}} \doxysubsubsection{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{\texttt{ in}} & {\em as} & Application Server. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} true in case as is active; false otherwise. \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, and \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+ACTIVE}. Referenced by \textbf{ DEFUN()}. \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}} \doxysubsubsection{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 ASP to given AS. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server to which asp is added \\ \hline \mbox{\texttt{ 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 \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ LOGPAS}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ XUA\+\_\+\+ASP\+\_\+\+E\+\_\+\+AS\+\_\+\+ASSIGNED}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ 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}} \doxysubsubsection{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 ASP from given AS. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server from which asp is deleted \\ \hline \mbox{\texttt{ 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 \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ LOGPAS}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ 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}} \doxysubsubsection{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{\texttt{ in}} & {\em as} & Application Server to destroy \\ \hline \end{DoxyParams} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ LOGPAS}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ ss7\+\_\+initialized}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+del\+\_\+routes\+\_\+by\+\_\+as()}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, and \textbf{ 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}} \doxysubsubsection{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{\texttt{ in}} & {\em as} & Application Server. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} true in case as is down; false otherwise. \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, and \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+DOWN}. Referenced by \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}. \mbox{\label{osmo__ss7_8h_a4425a62d1138a1face7ce0f4461c1811}} \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}} \doxysubsubsection{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{\texttt{ in}} & {\em inst} & SS7 Instance on which we operate \\ \hline \mbox{\texttt{ in}} & {\em l\+\_\+rk\+\_\+id} & Local Routing Key ID \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; NULL otherwise \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::l\+\_\+rk\+\_\+id}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ handle\+\_\+reg\+\_\+conf()}, and \textbf{ ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id()}. \mbox{\label{osmo__ss7_8h_a04274a80653a9a83afd823b31c55e6c6}} \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}} \doxysubsubsection{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{\texttt{ in}} & {\em inst} & SS7 Instance on which we operate \\ \hline \mbox{\texttt{ in}} & {\em name} & Name of AS \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; NULL otherwise \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, and \textbf{ ss7\+\_\+route\+\_\+set\+\_\+linkset()}. \mbox{\label{osmo__ss7_8h_a36cd354a3665015410895188d3d2afaa}} \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}} \doxysubsubsection{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{\texttt{ in}} & {\em inst} & SS7 Instance on which we operate \\ \hline \mbox{\texttt{ in}} & {\em proto} & Protocol identifier that must match \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to AS on success; NULL otherwise If an AS has an ASP also matching the given protocol, that AS is preferred. If there are multiple matches, return the first matching AS. \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}. \mbox{\label{osmo__ss7_8h_a62014d2e42c76eb8e16ed079240a550a}} \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}} \doxysubsubsection{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{\texttt{ in}} & {\em inst} & SS7 Instance on which we operate \\ \hline \mbox{\texttt{ in}} & {\em rctx} & Routing Context \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; NULL otherwise \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::context}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}, and \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}. \mbox{\label{osmo__ss7_8h_adeeee1a2cbcab7653a422473d4d59950}} \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}} \doxysubsubsection{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{\texttt{ in}} & {\em inst} & SS7 Instance on which we operate \\ \hline \mbox{\texttt{ in}} & {\em name} & Name of Application Server \\ \hline \mbox{\texttt{ in}} & {\em proto} & Protocol of Application Server \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; NULL otherwise \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ LOGPAS}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ ss7\+\_\+as\+\_\+alloc()}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}. \mbox{\label{osmo__ss7_8h_ab5ce9a09100b1085fd10f7495056f4c9}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_get\_asp\_protocol@{osmo\_ss7\_as\_get\_asp\_protocol}} \index{osmo\_ss7\_as\_get\_asp\_protocol@{osmo\_ss7\_as\_get\_asp\_protocol}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_as\_get\_asp\_protocol()} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} osmo\+\_\+ss7\+\_\+as\+\_\+get\+\_\+asp\+\_\+protocol (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})} Get asp\+\_\+protocol configuration of a given AS. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server in which to look for asp\+\_\+protocol \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The asp\+\_\+protocol this AS is configured with \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}. \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}} \doxysubsubsection{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 ASP. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server in which to look for asp \\ \hline \mbox{\texttt{ 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 \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ as\+\_\+list\+\_\+for\+\_\+asp()}, \textbf{ determine\+\_\+traf\+\_\+mode()}, \textbf{ dispatch\+\_\+to\+\_\+all\+\_\+as()}, \textbf{ find\+\_\+single\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp()}, \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ ipa\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}, \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+asp\+\_\+rctx()}, and \textbf{ xua\+\_\+rkm\+\_\+cleanup\+\_\+dyn\+\_\+as\+\_\+for\+\_\+asp()}. \mbox{\label{osmo__ss7_8h_a45c297537854bcf084a1be70ef780069}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_select\_asp@{osmo\_ss7\_as\_select\_asp}} \index{osmo\_ss7\_as\_select\_asp@{osmo\_ss7\_as\_select\_asp}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_as\_select\_asp()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+select\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})} Select an AS to transmit a message, according to AS configuration and ASP availability. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} asp to send the message to, NULL if no possible asp found \end{DoxyReturn} This function returns NULL too if multiple ASPs would be selected, ie. AS is configured in broadcast mode and more than one ASP is configured. References \textbf{ \+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+TMOD}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+ROUNDROBIN}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+broadcast()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+override()}, and \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+roundrobin()}. Referenced by \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg()}. \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode\+\_\+set\+\_\+by\+\_\+peer}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode\+\_\+set\+\_\+by\+\_\+vty}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+ROUNDROBIN}. Referenced by \textbf{ handle\+\_\+rkey\+\_\+reg()}, and \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}. \mbox{\label{osmo__ss7_8h_adae5ed407cc7b454d5a7a53baf420fcc}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals}. Referenced by \textbf{ DEFUN()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ write\+\_\+one\+\_\+as()}, and \textbf{ 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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, and \textbf{ XUA\+\_\+\+ASP\+\_\+\+S\+\_\+\+ACTIVE}. Referenced by \textbf{ notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+broadcast()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+override()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+roundrobin()}, \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast()}, \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ xua\+\_\+snm\+\_\+scon()}, and \textbf{ 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}} \doxysubsubsection{osmo\_ss7\_asp\_destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::siblings}, \textbf{ ss7\+\_\+initialized}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::xua\+\_\+server}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+destroy()}. \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}} \doxysubsubsection{osmo\_ss7\_asp\_disconnect()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, and \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}. Referenced by \textbf{ DEFUN()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+timer\+\_\+cb()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}, and \textbf{ ipa\+\_\+pong\+\_\+timer\+\_\+cb()}. \mbox{\label{osmo__ss7_8h_ae39d606680421e661f4b27079fa6f143}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}. \mbox{\label{osmo__ss7_8h_a6d441982a917c3e081e48333cd5b5cb0}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+initialized}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find()}. \mbox{\label{osmo__ss7_8h_a3c7622dd0920b73b1de4bacb1466a31d}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ DEFUN()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ show\+\_\+asp()}, \textbf{ show\+\_\+asp\+\_\+assoc\+\_\+status()}, and \textbf{ show\+\_\+asp\+\_\+remaddr()}. \mbox{\label{osmo__ss7_8h_acff40fa25f195d4b065214ede9d5a200}} \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}} \doxysubsubsection{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 ASP that matches the given ASP protocol (x\+UA variant). \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em as} & Application Server in which to look for asp \\ \hline \mbox{\texttt{ in}} & {\em proto} & ASP protocol (x\+UA variant) to match \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} SS7 ASP in case a matching one is found; NULL otherwise \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto()}. \mbox{\label{osmo__ss7_8h_a81d94bf43eba61595295725eb87674b7}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}. \mbox{\label{osmo__ss7_8h_abcef629eaf44fa0a9580dbaf79614b10}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+asp\+\_\+alloc()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create()}, and \textbf{ 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}} \doxysubsubsection{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 ASP. Used by generic code. References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}. Referenced by \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon()}. \mbox{\label{osmo__ss7_8h_adaf906c479a08d0f6ed6664c3fdd95c7}} \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}} \doxysubsubsection{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 ASP. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & The ASP for which the name is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The name of the ASP, or NULL if not set \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ 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}} \doxysubsubsection{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 ASP. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & The ASP for which the proto is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The proto of the ASP \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ 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}} \doxysubsubsection{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 ASP. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & The ASP for which the transport proto is requested \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The transport proto of the ASP (one of IPPROTO\+\_\+$\ast$) \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}. \mbox{\label{osmo__ss7_8h_ac55641a24e1f0b7530340ac2154c6e39}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+name()}, \textbf{ ss7\+\_\+asp\+\_\+alloc()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ write\+\_\+one\+\_\+as()}, and \textbf{ 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}} \doxysubsubsection{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 \textbf{ prot2port}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}. \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}} \doxysubsubsection{osmo\_ss7\_asp\_restart()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+restart (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ ipa\+\_\+cli\+\_\+read\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ LOGPASP}, \textbf{ m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+attempts\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+attempts\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+init\+\_\+timeo\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+init\+\_\+timeo\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+instreams\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+instreams\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::num\+\_\+ostreams\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::num\+\_\+ostreams\+\_\+value}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sctp\+\_\+init}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+snprintf()}, \textbf{ ss7\+\_\+initialized}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+start()}, \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}, \textbf{ xua\+\_\+cli\+\_\+connect\+\_\+cb()}, \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}, and \textbf{ xua\+\_\+tcp\+\_\+segmentation\+\_\+cb()}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent()}, \textbf{ restart\+\_\+asp()}, and \textbf{ 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}} \doxysubsubsection{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 ASP \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em asp} & Application Server Process through which to send \\ \hline \mbox{\texttt{ 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 \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+PPID}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+TX\+\_\+\+TOTAL}, \textbf{ ss7\+\_\+initialized}, and \textbf{ SUA\+\_\+\+PPID}. Referenced by \textbf{ as\+\_\+notify\+\_\+all\+\_\+asp()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+get()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+req()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req()}, \textbf{ m3ua\+\_\+tx\+\_\+xua\+\_\+asp()}, \textbf{ notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive()}, \textbf{ peer\+\_\+send()}, \textbf{ peer\+\_\+send\+\_\+error()}, \textbf{ sua\+\_\+tx\+\_\+xua\+\_\+asp()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast()}, \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+dereg\+\_\+req()}, and \textbf{ 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}} \doxysubsubsection{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 \textbf{ lm\+\_\+fsm\+\_\+priv\+::asp}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ default\+\_\+layer\+\_\+manager}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::lm}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::lm\+\_\+priv}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, and \textbf{ xua\+\_\+default\+\_\+lm\+\_\+fsm}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ restart\+\_\+asp()}. \mbox{\label{osmo__ss7_8h_a72373e61bde57eeafd151102aae20b28}} \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}} \doxysubsubsection{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 SCCP instance, if not present yet. \begin{DoxyReturn}{Returns} inst-\/$>$sccp. \end{DoxyReturn} References \textbf{ LOGSS7}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+create()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ ss7\+\_\+asp\+\_\+alloc()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}. \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}} \doxysubsubsection{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 \textbf{ next\+\_\+rctx}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx()}. Referenced by \textbf{ handle\+\_\+rkey\+\_\+reg()}. \mbox{\label{osmo__ss7_8h_a5c222268e9a51842ea413861f736f390}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_get\_sccp@{osmo\_ss7\_get\_sccp}} \index{osmo\_ss7\_get\_sccp@{osmo\_ss7\_get\_sccp}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_get\_sccp()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ osmo\+\_\+ss7\+\_\+get\+\_\+sccp (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} Get the SCCP instance, if present. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em inst} & SS7 Instance on which we operate \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} inst-\/$>$sccp, may be NULL if no SCCP instance was created yet (see \doxyref{osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}{p.}{osmo__ss7__instance_8c_a72373e61bde57eeafd151102aae20b28}). \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}. \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}} \doxysubsubsection{osmo\_ss7\_init()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} References \textbf{ ipa\+\_\+asp\+\_\+fsm}, \textbf{ sccp\+\_\+scoc\+\_\+fsm}, \textbf{ ss7\+\_\+initialized}, \textbf{ xua\+\_\+as\+\_\+fsm}, \textbf{ xua\+\_\+asp\+\_\+fsm}, and \textbf{ 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}} \doxysubsubsection{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 SS7 Instance. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em inst} & SS7 Instance to be destroyed \\ \hline \end{DoxyParams} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::linksets}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ ss7\+\_\+linkset\+\_\+destroy()}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}. \mbox{\label{osmo__ss7_8h_ac60e71c943c7bff06a27813c2b5ca6c0}} \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}} \doxysubsubsection{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 SS7 Instance with given ID. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em id} & ID for which to search \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} \doxyref{osmo\+\_\+ss7\+\_\+instance}{p.}{structosmo__ss7__instance} on success; NULL on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+instances}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ DEFUN()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ show\+\_\+asp()}, \textbf{ show\+\_\+asp\+\_\+assoc\+\_\+status()}, and \textbf{ show\+\_\+asp\+\_\+remaddr()}. \mbox{\label{osmo__ss7_8h_a950f22310d21bb0e18e65b6405b1c135}} \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}} \doxysubsubsection{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 SS7 Instance. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em ctx} & talloc allocation context to use for allocations \\ \hline \mbox{\texttt{ in}} & {\em id} & ID of SS7 Instance \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} \doxyref{osmo\+\_\+ss7\+\_\+instance}{p.}{structosmo__ss7__instance} on success; NULL on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ ss7\+\_\+instance\+\_\+alloc()}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}. \mbox{\label{osmo__ss7_8h_a3595c88f1b7d084a9c71b303b83d8712}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instance\_get\_id@{osmo\_ss7\_instance\_get\_id}} \index{osmo\_ss7\_instance\_get\_id@{osmo\_ss7\_instance\_get\_id}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_instance\_get\_id()} {\footnotesize\ttfamily uint32\+\_\+t osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+id (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}. \mbox{\label{osmo__ss7_8h_af57f72917f7308becf16d548dfb4e62a}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instance\_get\_name@{osmo\_ss7\_instance\_get\_name}} \index{osmo\_ss7\_instance\_get\_name@{osmo\_ss7\_instance\_get\_name}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_instance\_get\_name()} {\footnotesize\ttfamily const char $\ast$ osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+name (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::name}. \mbox{\label{osmo__ss7_8h_ab7a32e6866b73437629f9f5662fe2380}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instance\_get\_pc\_fmt@{osmo\_ss7\_instance\_get\_pc\_fmt}} \index{osmo\_ss7\_instance\_get\_pc\_fmt@{osmo\_ss7\_instance\_get\_pc\_fmt}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_instance\_get\_pc\_fmt()} {\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$ osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+pc\+\_\+fmt (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}. \mbox{\label{osmo__ss7_8h_a20a5157955a10832980b3cf55510b33b}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instance\_get\_primary\_pc@{osmo\_ss7\_instance\_get\_primary\_pc}} \index{osmo\_ss7\_instance\_get\_primary\_pc@{osmo\_ss7\_instance\_get\_primary\_pc}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_instance\_get\_primary\_pc()} {\footnotesize\ttfamily uint32\+\_\+t osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+primary\+\_\+pc (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}. \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}} \doxysubsubsection{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 SS7 instance. References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ LOGSS7}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}. \mbox{\label{osmo__ss7_8h_af658b1a5dd0dc4ba7eb604f1810e05ab}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instances\_llist\_entry@{osmo\_ss7\_instances\_llist\_entry}} \index{osmo\_ss7\_instances\_llist\_entry@{osmo\_ss7\_instances\_llist\_entry}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_instances\_llist\_entry()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ osmo\+\_\+ss7\+\_\+instances\+\_\+llist\+\_\+entry (\begin{DoxyParamCaption}\item[{struct llist\+\_\+head $\ast$}]{list }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}. \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}} \doxysubsubsection{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_a190e38496f2cbbea8e8dbab451cd5c1e}} \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}} \doxysubsubsection{osmo\_ss7\_pc\_is\_local()} {\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::secondary\+\_\+pc}, and \textbf{ ss7\+\_\+initialized}. Referenced by \textbf{ m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common()}, and \textbf{ 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}} \doxysubsubsection{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 \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}, \textbf{ sccp\+\_\+user\+\_\+find()}, \textbf{ show\+\_\+user()}, \textbf{ sua2sccp\+\_\+tx\+\_\+m3ua()}, \textbf{ vty\+\_\+show\+\_\+connection()}, and \textbf{ 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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width()}. Referenced by \textbf{ ss7\+\_\+route\+\_\+alloc()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc()}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}. Referenced by \textbf{ get\+\_\+pc\+\_\+comp\+\_\+shift()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}. \mbox{\label{osmo__ss7_8h_a2cfd271ba23f83329b046b245b7dc083}} \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}} \doxysubsubsection{osmo\_ss7\_pointcode\_parse()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}, \textbf{ default\+\_\+pc\+\_\+fmt}, \textbf{ gen\+\_\+pc\+\_\+fmtstr()}, \textbf{ get\+\_\+pc\+\_\+comp\+\_\+shift()}, \textbf{ LOGSS7}, \textbf{ num\+\_\+pc\+\_\+comp\+\_\+exp()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}. Referenced by \textbf{ \+\_\+rout\+\_\+key()}, \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len()}. \mbox{\label{osmo__ss7_8h_a084299ae59a9c06a7274cdab910456d5}} \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}} \doxysubsubsection{osmo\_ss7\_pointcode\_parse\_mask\_or\_len()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{in }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ default\+\_\+pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}. \mbox{\label{osmo__ss7_8h_accae8bcfd3577b2fcae21c55d97be313}} \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}} \doxysubsubsection{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 \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}. Referenced by \textbf{ DEFUN()}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}, \textbf{ ipa\+\_\+del\+\_\+route()}, \textbf{ m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+unbind()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}, \textbf{ sccp\+\_\+addr\+\_\+to\+\_\+str\+\_\+buf()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc()}, \textbf{ sccp\+\_\+user\+\_\+bind\+\_\+pc()}, \textbf{ scrc\+\_\+node\+\_\+6()}, \textbf{ show\+\_\+user()}, \textbf{ ss7\+\_\+route\+\_\+destroy()}, \textbf{ ss7\+\_\+route\+\_\+insert()}, \textbf{ ss7\+\_\+route\+\_\+set\+\_\+linkset()}, \textbf{ vty\+\_\+show\+\_\+connection()}, \textbf{ write\+\_\+one\+\_\+as()}, \textbf{ write\+\_\+one\+\_\+cs7()}, \textbf{ write\+\_\+one\+\_\+rtable()}, \textbf{ write\+\_\+sccp\+\_\+addressbook()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu()}. \mbox{\label{osmo__ss7_8h_a9c9283afabd1e1566f511e66698ea44d}} \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}} \doxysubsubsection{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 \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}. Referenced by \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc()}, and \textbf{ write\+\_\+one\+\_\+rtable()}. \mbox{\label{osmo__ss7_8h_a9e0728851ea1553fe1e6e1075a836175}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ default\+\_\+pc\+\_\+fmt}, \textbf{ gen\+\_\+pc\+\_\+fmtstr()}, \textbf{ len}, \textbf{ num\+\_\+pc\+\_\+comp\+\_\+exp()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid()}, \textbf{ pc\+\_\+comp\+\_\+shift\+\_\+and\+\_\+mask()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}. Referenced by \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, and \textbf{ 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}} \doxysubsubsection{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 SCTP PPID / IPA Stream ID. References \textbf{ g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}. \mbox{\label{osmo__ss7_8h_a00d4eeed253f86917689dd72043aaba7}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_get\_dest\_as@{osmo\_ss7\_route\_get\_dest\_as}} \index{osmo\_ss7\_route\_get\_dest\_as@{osmo\_ss7\_route\_get\_dest\_as}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_route\_get\_dest\_as()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+get\+\_\+dest\+\_\+as (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})} Get destination AS of route. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em rt} & Route entry holding the AS destination \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} pointer to Application Server on success; NULL if rt doesn\textquotesingle{}t route to an AS (i.\+e. routes to a linkset). \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}. \mbox{\label{osmo__ss7_8h_a75a8cf8f7186081400da51a00106e8da}} \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}} \doxysubsubsection{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 SS7 route for given destination point code in given SS7. References \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ ss7\+\_\+initialized}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc()}. Referenced by \textbf{ gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua()}, \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}. \mbox{\label{osmo__ss7_8h_a286e2d2dfc24375cf83db56c67fe0ea2}} \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}} \doxysubsubsection{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_accae8bcfd3577b2fcae21c55d97be313} and \doxyref{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}{p.}{osmo__ss7_8h_a9c9283afabd1e1566f511e66698ea44d}, so pairing \doxyref{osmo\+\_\+ss7\+\_\+route\+\_\+name()}{p.}{osmo__ss7__hmrt_8c_a286e2d2dfc24375cf83db56c67fe0ea2} with \doxyref{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}{p.}{osmo__ss7_8h_accae8bcfd3577b2fcae21c55d97be313} in the same printf statement is likely to conflict. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em rt} & The route information to print, or NULL. \\ \hline \mbox{\texttt{ in}} & {\em list\+\_\+asps} & If true, append info for all ASPs for the route\textquotesingle{}s AS. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} A string constant or static buffer. \end{DoxyReturn} References \textbf{ APPEND}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sock\+\_\+name}. Referenced by \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}. \mbox{\label{osmo__ss7_8h_a57312ff6631501f256d1108b89ebf71a}} \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}} \doxysubsubsection{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 \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, and \textbf{ u32\+\_\+masklen()}. Referenced by \textbf{ vty\+\_\+dump\+\_\+rtable()}. \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}} \doxysubsubsection{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 \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}. Referenced by \textbf{ handle\+\_\+rkey\+\_\+reg()}, and \textbf{ 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}} \doxysubsubsection{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 \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}. Referenced by \textbf{ peer\+\_\+send()}, and \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req()}. \mbox{\label{osmo__ss7_8h_a2968c7ca7f6e94ae42535e46a78d69e5}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_create@{osmo\_ss7\_user\_create}} \index{osmo\_ss7\_user\_create@{osmo\_ss7\_user\_create}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_user\_create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$ osmo\+\_\+ss7\+\_\+user\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+user\+::inst}, and \textbf{ osmo\+\_\+ss7\+\_\+user\+::name}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+create()}. \mbox{\label{osmo__ss7_8h_aac9a431536545dc750cc75385fb39c2b}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_destroy@{osmo\_ss7\_user\_destroy}} \index{osmo\_ss7\_user\_destroy@{osmo\_ss7\_user\_destroy}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_user\_destroy()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+user\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user }\end{DoxyParamCaption})} Referenced by \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+destroy()}. \mbox{\label{osmo__ss7_8h_a53cb3237d6c1be408c2a08838d59dc5d}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_get\_instance@{osmo\_ss7\_user\_get\_instance}} \index{osmo\_ss7\_user\_get\_instance@{osmo\_ss7\_user\_get\_instance}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_user\_get\_instance()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ osmo\+\_\+ss7\+\_\+user\+\_\+get\+\_\+instance (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+user\+::inst}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::user}. \mbox{\label{osmo__ss7_8h_a1be6f23b811716e5a094f462bda907d0}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_get\_priv@{osmo\_ss7\_user\_get\_priv}} \index{osmo\_ss7\_user\_get\_priv@{osmo\_ss7\_user\_get\_priv}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_user\_get\_priv()} {\footnotesize\ttfamily void $\ast$ osmo\+\_\+ss7\+\_\+user\+\_\+get\+\_\+priv (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+user\+::priv}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::user}. \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}} \doxysubsubsection{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 \textbf{ m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2()}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ mtp\+\_\+prim\+\_\+to\+\_\+m3ua()}, \textbf{ MTP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+MTP\+\_\+\+PRIM\+\_\+\+TRANSFER}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::transfer}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::u}, and \textbf{ xua\+\_\+msg\+\_\+free()}. Referenced by \textbf{ 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}} \doxysubsubsection{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 MTP user for a given service indicator. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em inst} & SS7 instance for which we register the user \\ \hline \mbox{\texttt{ in}} & {\em service\+\_\+ind} & Service (ISUP, SCCP, ...) \\ \hline \mbox{\texttt{ in}} & {\em user} & SS7 user (including primitive call-\/back) \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+user\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+user\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+user\+::priv}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::user}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+create()}. \mbox{\label{osmo__ss7_8h_aa938a1497ddfdede32b5acb47eb4c421}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_set\_prim\_cb@{osmo\_ss7\_user\_set\_prim\_cb}} \index{osmo\_ss7\_user\_set\_prim\_cb@{osmo\_ss7\_user\_set\_prim\_cb}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_user\_set\_prim\_cb()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+user\+\_\+set\+\_\+prim\+\_\+cb (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user, }\item[{osmo\+\_\+prim\+\_\+cb}]{prim\+\_\+cb }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+user\+::prim\+\_\+cb}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::user}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+create()}. \mbox{\label{osmo__ss7_8h_a58fdbcf80f9ec4e78337ee9ffbe64094}} \index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_set\_priv@{osmo\_ss7\_user\_set\_priv}} \index{osmo\_ss7\_user\_set\_priv@{osmo\_ss7\_user\_set\_priv}!osmo\_ss7.h@{osmo\_ss7.h}} \doxysubsubsection{osmo\_ss7\_user\_set\_priv()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+user\+\_\+set\+\_\+priv (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user, }\item[{void $\ast$}]{priv }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+ss7\+\_\+user\+::priv}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::user}. Referenced by \textbf{ 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}} \doxysubsubsection{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 MTP user for a given service indicator. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em inst} & SS7 instance for which we register the user \\ \hline \mbox{\texttt{ in}} & {\em service\+\_\+ind} & Service (ISUP, SCCP, ...) \\ \hline \mbox{\texttt{ in}} & {\em user} & (optional) SS7 user. If present, we will not unregister other users \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+user\+::inst}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::user}. Referenced by \textbf{ 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}} \doxysubsubsection{osmo\_ss7\_vty\_go\_parent()} {\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent (\begin{DoxyParamCaption}\item[{struct vty $\ast$}]{vty }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+bind()}, and \textbf{ 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}} \doxysubsubsection{osmo\_ss7\_vty\_init\_asp()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})} References \textbf{ cs7\+\_\+role}, \textbf{ CS7\+\_\+\+ROLE\+\_\+\+ASP}, and \textbf{ 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}} \doxysubsubsection{osmo\_ss7\_vty\_init\_sg()} {\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})} References \textbf{ cs7\+\_\+role}, \textbf{ CS7\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ rtable\+\_\+node}, \textbf{ vty\+\_\+init\+\_\+shared()}, and \textbf{ xua\+\_\+node}. \doxysubsection{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}} \doxysubsubsection{osmo\_ss7\_as\_traffic\_mode\_vals} {\footnotesize\ttfamily struct value\+\_\+string osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ DEFUN\+\_\+\+USRATTR()}, and \textbf{ 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}} \doxysubsubsection{osmo\_ss7\_asp\_protocol\_vals} {\footnotesize\ttfamily struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ parse\+\_\+asp\+\_\+proto()}, \textbf{ show\+\_\+one\+\_\+asp()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+bind()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ vty\+\_\+dump\+\_\+xua\+\_\+server()}, \textbf{ write\+\_\+one\+\_\+xua()}, and \textbf{ 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}} \doxysubsubsection{osmo\_ss7\_asp\_role\_names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ show\+\_\+one\+\_\+asp()}, and \textbf{ 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}} \doxysubsubsection{osmo\_ss7\_instances} {\footnotesize\ttfamily struct llist\+\_\+head osmo\+\_\+ss7\+\_\+instances\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ \+\_\+show\+\_\+cs7\+\_\+xua()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr()}, \textbf{ ss7\+\_\+instance\+\_\+alloc()}, and \textbf{ write\+\_\+all\+\_\+cs7()}.