\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\+\_\+\+MAX\+\_\+\+RCTX\+\_\+\+COUNT}~128
\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 \textbf{ 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 
uint8\+\_\+t \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+network\+\_\+indicator} (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 \textbf{ 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 \textbf{ pc})
\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ pc})
\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ 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 \textbf{ 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\+\_\+user} $\ast$user, uint8\+\_\+t service\+\_\+ind)
\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\+\_\+user} $\ast$user, uint8\+\_\+t service\+\_\+ind)
\begin{DoxyCompactList}\small\item\em Unregister a MTP user for a given service indicator. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+find\+\_\+by\+\_\+si} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint8\+\_\+t service\+\_\+indicator)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+sap\+\_\+prim\+\_\+down} (struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user, 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}) OSMO\+\_\+\+DEPRECATED(\char`\"{}Use internal \textbf{ ss7\+\_\+instance\+\_\+lookup\+\_\+route}() instead\char`\"{})
\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 
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 \textbf{ 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 \textbf{ 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 \textbf{ 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) OSMO\+\_\+\+DEPRECATED(\char`\"{}Implicit parent node tracking has replaced the use of this callback. \char`\"{} \char`\"{}This callback is no longer called
\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\+\_\+admin\+\_\+state\+\_\+names} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names} [$\,$]
\item 
int \textbf{ ever}
\item 
int and can be left \textbf{ NULL}
\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_ac640f0a5462613570a0fdd374ed306ba}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_MAX\_RCTX\_COUNT@{OSMO\_SS7\_MAX\_RCTX\_COUNT}}
\index{OSMO\_SS7\_MAX\_RCTX\_COUNT@{OSMO\_SS7\_MAX\_RCTX\_COUNT}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{OSMO\_SS7\_MAX\_RCTX\_COUNT}
{\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+MAX\+\_\+\+RCTX\+\_\+\+COUNT~128}

\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__instance_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\+::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\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::num\+\_\+assoc\+\_\+as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP}, \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\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()}, \textbf{ ss7\+\_\+asp\+\_\+restart\+\_\+after\+\_\+reconfigure()}, \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()}, and \textbf{ pc}.

\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{ NULL}, \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{ pc}, \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\+\_\+as\+\_\+add\+\_\+asp()}, \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{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()}, \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ pc}, \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{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, and \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+ACTIVE}.



Referenced by \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ show\+\_\+as()}, and \textbf{ ss7\+\_\+route\+\_\+dest\+\_\+is\+\_\+available()}.

\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\+\_\+name} & Name of 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\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ ss7\+\_\+as\+\_\+add\+\_\+asp()}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}.

\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\+\_\+name} & Name of the 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\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ ss7\+\_\+as\+\_\+del\+\_\+asp()}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}.

\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{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as\+\_\+entry}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::assoc\+\_\+asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ LOGPAS}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+\_\+free()}, \textbf{ ss7\+\_\+initialized}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+del\+\_\+routes\+\_\+by\+\_\+as()}, and \textbf{ tcap\+\_\+disable()}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \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{ ss7\+\_\+as\+\_\+del\+\_\+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{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, and \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+DOWN}.

\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{ NULL}, \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}, \textbf{ NULL}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ show\+\_\+as()}, 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{ NULL}, \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{ NULL}, \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{ NULL}, \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{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+\_\+find()}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, and \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}.

\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{ NULL}, \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\+\_\+loadshare()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+override()}, and \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+roundrobin()}.

\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{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+osmo\+\_\+ext\+\_\+tcap\+\_\+routing()}, \textbf{ show\+\_\+one\+\_\+as()}, \textbf{ ss7\+\_\+vty\+\_\+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{ current\+\_\+asp()}, \textbf{ DEFUN()}, \textbf{ find\+\_\+asp\+\_\+no\+\_\+tcap\+\_\+range()}, \textbf{ notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+broadcast()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+loadshare()}, \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{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp\+\_\+entry}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::assoc\+\_\+as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ LOGPASP}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ ss7\+\_\+as\+\_\+del\+\_\+asp()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+destroy()}, and \textbf{ ss7\+\_\+initialized}.



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{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{osmo__ss7_8h_af24d6e5d1494620c9a340ff2bb68416c}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_disconnect@{osmo\_ss7\_asp\_disconnect}}
\index{osmo\_ss7\_asp\_disconnect@{osmo\_ss7\_asp\_disconnect}!osmo\_ss7.h@{osmo\_ss7.h}}
\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()}, and \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}.

\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{ NULL}, \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}, \textbf{ NULL}, 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{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as\+\_\+entry}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::assoc\+\_\+asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ NULL}, 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{ NULL}, \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\+\_\+vty\+\_\+write\+\_\+one\+\_\+as()}, \textbf{ ss7\+\_\+vty\+\_\+write\+\_\+one\+\_\+asp()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}.

\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\+::adm\+\_\+state}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::dyn\+\_\+allocated}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ NULL}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+SHUTDOWN}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state\+\_\+names}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+asp\+\_\+disconnect\+\_\+stream()}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+snprintf()}, \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+destroy()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+start()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+start()}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, and \textbf{ ss7\+\_\+asp\+\_\+restart\+\_\+after\+\_\+reconfigure()}.

\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\+\_\+instance\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \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}, \textbf{ SS7\+\_\+\+INST\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+TX\+\_\+\+TOTAL}, and \textbf{ SUA\+\_\+\+PPID}.



Referenced by \textbf{ as\+\_\+notify\+\_\+all\+\_\+asp()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+get()}, \textbf{ ipa\+\_\+t\+\_\+beat\+\_\+send()}, \textbf{ ipa\+\_\+tx\+\_\+tcap\+\_\+routing\+\_\+ack()}, \textbf{ ipa\+\_\+tx\+\_\+tcap\+\_\+routing\+\_\+nack()}, \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{ tx\+\_\+notify()}, \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_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{ NULL}, \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.}{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\+\_\+instance\+::ctrg}, \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}, \textbf{ ss7\+\_\+linkset\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::t8\+\_\+inaccessible\+\_\+sp}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::timer}.



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{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+instances}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ show\+\_\+as()}, \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_aaeb130c12ea9b9d4012b25126f734a8f}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instance\_get\_network\_indicator@{osmo\_ss7\_instance\_get\_network\_indicator}}
\index{osmo\_ss7\_instance\_get\_network\_indicator@{osmo\_ss7\_instance\_get\_network\_indicator}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_instance\_get\_network\_indicator()}
{\footnotesize\ttfamily uint8\+\_\+t osmo\+\_\+ss7\+\_\+instance\+\_\+get\+\_\+network\+\_\+indicator (\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\+::network\+\_\+indicator}.

\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_aa3e59ca81ddcf400b74834fb42518d7c}} 
\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{ pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::secondary\+\_\+pc}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ as\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ as\+\_\+snm\+\_\+pc\+\_\+unavailable()}, \textbf{ dpc\+\_\+accessible()}, \textbf{ mtp3\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2()}, \textbf{ mtp3\+\_\+hmdt\+\_\+rx\+\_\+msg\+\_\+for\+\_\+local\+\_\+unavailable\+\_\+part()}, \textbf{ mtp3\+\_\+rtpc\+\_\+rx\+\_\+msg\+\_\+for\+\_\+inaccessible\+\_\+sp()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common()}, \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9()}, \textbf{ ss7\+\_\+vty\+\_\+node\+\_\+as\+\_\+go\+\_\+parent()}, and \textbf{ xua\+\_\+asp\+\_\+tx\+\_\+snm\+\_\+daud\+\_\+address\+\_\+book()}.

\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]}}



References \textbf{ pc}.



Referenced by \textbf{ DEFUN()}, \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{ pc}, and \textbf{ ss7\+\_\+pc\+\_\+full\+\_\+mask()}.



Referenced by \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+alloc()}, \textbf{ ss7\+\_\+route\+\_\+alloc()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc\+\_\+mask()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask\+\_\+as()}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route()}.

\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\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}, and \textbf{ ss7\+\_\+pc\+\_\+full\+\_\+mask()}.

\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{ err}, \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()}, \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}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}, and \textbf{ pc}.



Referenced by \textbf{ as\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ as\+\_\+snm\+\_\+pc\+\_\+unavailable()}, \textbf{ DEFUN()}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ mtp3\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2()}, \textbf{ mtp3\+\_\+hmrt\+\_\+message\+\_\+for\+\_\+routing()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ sccp\+\_\+user\+\_\+bind\+\_\+pc()}, \textbf{ scrc\+\_\+node\+\_\+6()}, \textbf{ show\+\_\+one\+\_\+as()}, \textbf{ show\+\_\+one\+\_\+tcap\+\_\+range()}, \textbf{ show\+\_\+user()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+loadshare()}, \textbf{ ss7\+\_\+vty\+\_\+write\+\_\+one\+\_\+as()}, \textbf{ vty\+\_\+show\+\_\+connection()}, \textbf{ write\+\_\+one\+\_\+cs7()}, \textbf{ write\+\_\+one\+\_\+rtable()}, \textbf{ write\+\_\+sccp\+\_\+addressbook()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu()}, and \textbf{ xua\+\_\+snm\+\_\+srm\+\_\+pc\+\_\+available\+\_\+single()}.

\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}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}, and \textbf{ pc}.



Referenced by \textbf{ DEFUN()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ write\+\_\+one\+\_\+rtable()}, and \textbf{ xua\+\_\+asp\+\_\+tx\+\_\+snm\+\_\+daud\+\_\+address\+\_\+book()}.

\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}, \textbf{ pc\+\_\+comp\+\_\+shift\+\_\+and\+\_\+mask()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}.



Referenced by \textbf{ dpc\+\_\+accessible()}, \textbf{ mtp3\+\_\+hmdt\+\_\+rx\+\_\+msg\+\_\+for\+\_\+local\+\_\+unavailable\+\_\+part()}, \textbf{ mtp3\+\_\+rtpc\+\_\+rx\+\_\+msg\+\_\+for\+\_\+inaccessible\+\_\+sp()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}, \textbf{ sccp\+\_\+addr\+\_\+to\+\_\+str\+\_\+buf()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc()}, \textbf{ ss7\+\_\+instance\+\_\+t8\+\_\+inaccessible\+\_\+sp\+\_\+start()}, \textbf{ ss7\+\_\+route\+\_\+label\+\_\+to\+\_\+str()}, \textbf{ t8\+\_\+inaccessible\+\_\+sp\+\_\+timer\+\_\+cb()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+create()}, and \textbf{ tx\+\_\+daud\+\_\+pc()}.

\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_ab678d9fb227819185661e9d20233dcd0}} 
\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. 

NOTE\+: DEPRECATED, use \doxyref{ss7\+\_\+instance\+\_\+lookup\+\_\+route()}{p.}{ss7__instance_8c_a154eb42c95d9d897d8abeb337c9200eb} instead 

References \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::opc}, \textbf{ ss7\+\_\+initialized}, and \textbf{ ss7\+\_\+instance\+\_\+lookup\+\_\+route()}.

\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.}{ss7__route_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{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::as\+\_\+entry}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+::asp}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::assoc\+\_\+asp\+\_\+list}, \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\+::dyn\+\_\+allocated}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, \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\+\_\+buf()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::priority}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sock\+\_\+name}.



Referenced by \textbf{ DEFUN()}, \textbf{ mtp3\+\_\+hmrt\+\_\+message\+\_\+for\+\_\+routing()}, \textbf{ ss7\+\_\+route\+\_\+destroy()}, and \textbf{ ss7\+\_\+route\+\_\+set\+\_\+linkset()}.

\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{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}, \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}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+ROUNDROBIN}.



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}, \textbf{ osmo\+\_\+ss7\+\_\+user\+::name}, and \textbf{ NULL}.



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})}



References \textbf{ ss7\+\_\+user\+\_\+unregister\+\_\+all()}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+destroy()}.

\mbox{\label{osmo__ss7_8h_ae091f9d194bedae7a2c0a6aff61180dc}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_find\_by\_si@{osmo\_ss7\_user\_find\_by\_si}}
\index{osmo\_ss7\_user\_find\_by\_si@{osmo\_ss7\_user\_find\_by\_si}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_user\_find\_by\_si()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$ osmo\+\_\+ss7\+\_\+user\+\_\+find\+\_\+by\+\_\+si (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint8\+\_\+t}]{service\+\_\+indicator }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+user\+::inst}, \textbf{ NULL}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::user}.



Referenced by \textbf{ mtp3\+\_\+hmdt\+\_\+message\+\_\+for\+\_\+distribution()}, and \textbf{ xua\+\_\+snm\+\_\+upu()}.

\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_ad2cd426bc582951586529437745e47c5}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_mtp\_sap\_prim\_down@{osmo\_ss7\_user\_mtp\_sap\_prim\_down}}
\index{osmo\_ss7\_user\_mtp\_sap\_prim\_down@{osmo\_ss7\_user\_mtp\_sap\_prim\_down}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_user\_mtp\_sap\_prim\_down()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+sap\+\_\+prim\+\_\+down (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user,  }\item[{struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$}]{omp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+user\+::inst}, \textbf{ LOGPSS7U}, \textbf{ mtp3\+\_\+hmrt\+\_\+mtp\+\_\+xfer\+\_\+request\+\_\+l4\+\_\+to\+\_\+l3()}, \textbf{ MTP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+MTP\+\_\+\+PRIM\+\_\+\+TRANSFER}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::transfer}, and \textbf{ osmo\+\_\+mtp\+\_\+prim\+::u}.



Referenced by \textbf{ sua2sccp\+\_\+tx\+\_\+m3ua()}.

\mbox{\label{osmo__ss7_8h_a3e89b705c7139fac5d72a5c534884a60}} 
\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\+\_\+user} $\ast$}]{user,  }\item[{uint8\+\_\+t}]{service\+\_\+ind }\end{DoxyParamCaption})}



Register a MTP user for a given service indicator. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em user} & SS7 user to register (including primitive call-\/back) \\
\hline
\mbox{\texttt{ in}}  & {\em service\+\_\+ind} & Service (ISUP, SCCP, ...) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+user\+::inst}, \textbf{ LOGPSS7U}, \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_a884a8c4737e2d019e519774c1cd28bd2}} 
\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\+\_\+user} $\ast$}]{user,  }\item[{uint8\+\_\+t}]{service\+\_\+ind }\end{DoxyParamCaption})}



Unregister a MTP user for a given service indicator. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em user} & SS7 user to unregister. \\
\hline
\mbox{\texttt{ in}}  & {\em service\+\_\+ind} & Service (ISUP, SCCP, ...) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+user\+::inst}, \textbf{ LOGPSS7U}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+user\+::priv}, 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\+\_\+route\+\_\+table\+::inst}, \textbf{ NULL}, \textbf{ ss7\+\_\+vty\+\_\+node\+\_\+as\+\_\+go\+\_\+parent()}, \textbf{ ss7\+\_\+vty\+\_\+node\+\_\+asp\+\_\+go\+\_\+parent()}, and \textbf{ ss7\+\_\+vty\+\_\+node\+\_\+oxs\+\_\+go\+\_\+parent()}.

\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{ NULL}, \textbf{ rtable\+\_\+node}, \textbf{ tcap\+\_\+as\+\_\+vty\+\_\+init()}, and \textbf{ vty\+\_\+init\+\_\+shared()}.



\doxysubsection{Variable Documentation}
\mbox{\label{osmo__ss7_8h_accd02029b1401e9acfb1c80b58666c1e}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!ever@{ever}}
\index{ever@{ever}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{ever}
{\footnotesize\ttfamily int ever}

\mbox{\label{osmo__ss7_8h_af1bd92e6bca455ab410667e9fb52fead}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!NULL@{NULL}}
\index{NULL@{NULL}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{NULL}
{\footnotesize\ttfamily int and can be left NULL}



Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}, \textbf{ \+\_\+ss7\+\_\+llist\+\_\+round\+\_\+robin()}, \textbf{ addr\+\_\+entry\+\_\+by\+\_\+name\+\_\+global()}, \textbf{ addr\+\_\+entry\+\_\+by\+\_\+name\+\_\+local()}, \textbf{ as\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ as\+\_\+snm\+\_\+pc\+\_\+unavailable()}, \textbf{ asp\+\_\+loadshare\+\_\+tcap\+\_\+sccp()}, \textbf{ conn\+\_\+add\+\_\+node()}, \textbf{ conn\+\_\+create()}, \textbf{ conn\+\_\+tmr\+\_\+cb()}, \textbf{ current\+\_\+asp()}, \textbf{ current\+\_\+rt()}, \textbf{ data\+\_\+hdr\+\_\+from\+\_\+m3ua()}, \textbf{ DEFUN()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ fill\+\_\+notify\+\_\+route\+\_\+ctx()}, \textbf{ find\+\_\+asp\+\_\+no\+\_\+tcap\+\_\+range()}, \textbf{ gen\+\_\+asp\+\_\+timer\+\_\+lm\+\_\+cmd\+\_\+strs()}, \textbf{ gen\+\_\+asp\+\_\+timer\+\_\+xua\+\_\+cmd\+\_\+strs()}, \textbf{ gen\+\_\+cs7\+\_\+timer\+\_\+xua\+\_\+cmd\+\_\+strs()}, \textbf{ gen\+\_\+sccp\+\_\+timer\+\_\+cmd\+\_\+strs()}, \textbf{ get\+\_\+sockname\+\_\+buf()}, \textbf{ int\+\_\+tmr\+\_\+cb()}, \textbf{ ipa\+\_\+asp\+\_\+allstate()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+cleanup()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+start()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}, \textbf{ ipa\+\_\+gen\+\_\+ping()}, \textbf{ ipa\+\_\+rx\+\_\+msg\+\_\+up()}, \textbf{ ipa\+\_\+tcap\+\_\+routing\+\_\+alloc()}, \textbf{ ipa\+\_\+to\+\_\+msg()}, \textbf{ lm\+\_\+active()}, \textbf{ lm\+\_\+idle()}, \textbf{ lm\+\_\+timer\+\_\+cb()}, \textbf{ lm\+\_\+wait\+\_\+notify()}, \textbf{ m3ua\+\_\+decode\+\_\+notify()}, \textbf{ m3ua\+\_\+gen\+\_\+error()}, \textbf{ m3ua\+\_\+gen\+\_\+error\+\_\+msg()}, \textbf{ m3ua\+\_\+rx\+\_\+msg()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+rsp()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+rsp()}, \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+asp()}, \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+ipsp()}, \textbf{ m3ua\+\_\+rx\+\_\+snm\+\_\+sg()}, \textbf{ m3ua\+\_\+to\+\_\+msg()}, \textbf{ m3ua\+\_\+to\+\_\+xfer\+\_\+ind()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+sccp\+\_\+get\+\_\+sccp()}, \textbf{ osmo\+\_\+sccp\+\_\+get\+\_\+ss7()}, \textbf{ osmo\+\_\+sccp\+\_\+inst\+\_\+addr\+\_\+name()}, \textbf{ osmo\+\_\+sccp\+\_\+inst\+\_\+addr\+\_\+to\+\_\+str\+\_\+buf()}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+create()}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+destroy()}, \textbf{ osmo\+\_\+sccp\+\_\+name\+\_\+by\+\_\+addr()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+to\+\_\+xua()}, \textbf{ osmo\+\_\+sccp\+\_\+tx\+\_\+disconn()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+select\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+find\+\_\+by\+\_\+si()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+unregister()}, \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent()}, \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg()}, \textbf{ osmo\+\_\+sua\+\_\+sccp\+\_\+cause\+\_\+name()}, \textbf{ osmo\+\_\+sua\+\_\+to\+\_\+sccp()}, \textbf{ patch\+\_\+sccp\+\_\+with\+\_\+pc()}, \textbf{ peer\+\_\+send\+\_\+and\+\_\+start\+\_\+t\+\_\+ack()}, \textbf{ rel\+\_\+tmr\+\_\+cb()}, \textbf{ rep\+\_\+rel\+\_\+tmr\+\_\+cb()}, \textbf{ rx\+\_\+inact\+\_\+tmr\+\_\+cb()}, \textbf{ sccp\+\_\+conn\+\_\+alloc()}, \textbf{ sccp\+\_\+conn\+\_\+free()}, \textbf{ sccp\+\_\+conn\+\_\+opt\+\_\+data\+\_\+clear\+\_\+cache()}, \textbf{ sccp\+\_\+find\+\_\+conn\+\_\+by\+\_\+id()}, \textbf{ sccp\+\_\+find\+\_\+user()}, \textbf{ sccp\+\_\+msgb\+\_\+alloc()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+cr()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+dt1()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+ludt()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+ludts()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+opt()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+udt()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+udts()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+xudt()}, \textbf{ sccp\+\_\+to\+\_\+xua\+\_\+xudts()}, \textbf{ sccp\+\_\+user\+\_\+bind\+\_\+pc()}, \textbf{ sccp\+\_\+user\+\_\+find()}, \textbf{ scmg\+\_\+rx\+\_\+sst()}, \textbf{ scoc\+\_\+fsm\+\_\+active()}, \textbf{ scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+in()}, \textbf{ scoc\+\_\+fsm\+\_\+conn\+\_\+pend\+\_\+out()}, \textbf{ scoc\+\_\+fsm\+\_\+disconn\+\_\+pend()}, \textbf{ scoc\+\_\+fsm\+\_\+idle()}, \textbf{ scoc\+\_\+fsm\+\_\+wait\+\_\+conn\+\_\+conf()}, \textbf{ show\+\_\+as()}, \textbf{ show\+\_\+asp()}, \textbf{ show\+\_\+asp\+\_\+assoc\+\_\+status()}, \textbf{ show\+\_\+asp\+\_\+remaddr()}, \textbf{ ss7\+\_\+as\+\_\+alloc()}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+\_\+alloc()}, \textbf{ ss7\+\_\+as\+\_\+asp\+\_\+assoc\+\_\+find()}, \textbf{ ss7\+\_\+as\+\_\+assign\+\_\+asp\+\_\+roundrobin()}, \textbf{ ss7\+\_\+as\+\_\+del\+\_\+asp()}, \textbf{ ss7\+\_\+as\+\_\+del\+\_\+asp\+\_\+update\+\_\+llist\+\_\+round\+\_\+robin()}, \textbf{ ss7\+\_\+as\+\_\+find\+\_\+asp\+\_\+by\+\_\+remote\+\_\+asp\+\_\+id()}, \textbf{ ss7\+\_\+as\+\_\+loadshare\+\_\+binding\+\_\+table\+\_\+reset()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+broadcast()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+loadshare()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+override()}, \textbf{ ss7\+\_\+as\+\_\+select\+\_\+asp\+\_\+roundrobin()}, \textbf{ ss7\+\_\+asp\+\_\+alloc()}, \textbf{ ss7\+\_\+asp\+\_\+disconnect\+\_\+stream()}, \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr()}, \textbf{ ss7\+\_\+asp\+\_\+get\+\_\+first\+\_\+as()}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host()}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2()}, \textbf{ ss7\+\_\+asp\+\_\+start\+\_\+client()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+layer\+\_\+manager\+\_\+destroy()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb()}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+alloc()}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+assign\+\_\+route\+\_\+roundrobin()}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+del\+\_\+route()}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route()}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+select\+\_\+route\+\_\+roundrobin()}, \textbf{ ss7\+\_\+instance\+\_\+alloc()}, \textbf{ ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported()}, \textbf{ ss7\+\_\+link\+\_\+destroy()}, \textbf{ ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ ss7\+\_\+route\+\_\+alloc()}, \textbf{ ss7\+\_\+route\+\_\+create()}, \textbf{ ss7\+\_\+route\+\_\+label\+\_\+to\+\_\+str()}, \textbf{ ss7\+\_\+route\+\_\+set\+\_\+linkset()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc\+\_\+mask()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask\+\_\+as()}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route()}, \textbf{ ss7\+\_\+user\+\_\+unregister\+\_\+all()}, \textbf{ ss7\+\_\+vty\+\_\+init\+\_\+node\+\_\+as()}, \textbf{ ss7\+\_\+vty\+\_\+init\+\_\+node\+\_\+asp()}, \textbf{ ss7\+\_\+vty\+\_\+init\+\_\+node\+\_\+oxs()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+destroy()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+find2()}, \textbf{ sua2sccp\+\_\+tx\+\_\+m3ua()}, \textbf{ sua\+\_\+rx\+\_\+msg()}, \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+asp()}, \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+ipsp()}, \textbf{ sua\+\_\+rx\+\_\+snm\+\_\+sg()}, \textbf{ sua\+\_\+to\+\_\+msg()}, \textbf{ t\+\_\+r\+\_\+callback()}, \textbf{ tcap\+\_\+as\+\_\+asp\+\_\+find\+\_\+by\+\_\+tcap\+\_\+id()}, \textbf{ tcap\+\_\+as\+\_\+rx\+\_\+sccp\+\_\+asp()}, \textbf{ tcap\+\_\+disable()}, \textbf{ tcap\+\_\+hlist\+\_\+get()}, \textbf{ tcap\+\_\+overlap\+\_\+tid()}, \textbf{ tcap\+\_\+range\+\_\+alloc()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+continue()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+end()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+create()}, \textbf{ tcap\+\_\+trans\+\_\+track\+\_\+entry\+\_\+find()}, \textbf{ tx\+\_\+daud\+\_\+pc()}, \textbf{ tx\+\_\+inact\+\_\+tmr\+\_\+cb()}, \textbf{ vty\+\_\+init\+\_\+addr()}, \textbf{ xua\+\_\+accept\+\_\+cb()}, \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+onenter()}, \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+pending()}, \textbf{ xua\+\_\+as\+\_\+fsm\+\_\+start()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+active()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+cleanup()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+down()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+start()}, \textbf{ xua\+\_\+asp\+\_\+tx\+\_\+snm\+\_\+daud\+\_\+address\+\_\+book()}, \textbf{ xua\+\_\+cli\+\_\+connect\+\_\+cb()}, \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ xua\+\_\+from\+\_\+msg()}, \textbf{ xua\+\_\+from\+\_\+nested()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+cl()}, \textbf{ xua\+\_\+gen\+\_\+msg\+\_\+co()}, \textbf{ xua\+\_\+gen\+\_\+relre()}, \textbf{ xua\+\_\+hdr\+\_\+dump()}, \textbf{ xua\+\_\+layer\+\_\+manager\+\_\+default\+\_\+alloc()}, \textbf{ xua\+\_\+layer\+\_\+manager\+\_\+default\+\_\+free()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+asp\+\_\+rctx()}, \textbf{ xua\+\_\+msg\+\_\+alloc()}, \textbf{ xua\+\_\+msg\+\_\+copy()}, \textbf{ xua\+\_\+msg\+\_\+dump()}, \textbf{ xua\+\_\+msg\+\_\+find\+\_\+tag()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+str()}, \textbf{ xua\+\_\+msg\+\_\+get\+\_\+u32p()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}, \textbf{ xua\+\_\+t\+\_\+ack\+\_\+cb()}, \textbf{ xua\+\_\+t\+\_\+beat\+\_\+send()}, \textbf{ xua\+\_\+to\+\_\+msg()}, \textbf{ xua\+\_\+tx\+\_\+scon()}, \textbf{ xua\+\_\+tx\+\_\+snm\+\_\+available()}, \textbf{ xua\+\_\+tx\+\_\+snm\+\_\+daud()}, and \textbf{ xua\+\_\+xlm\+\_\+prim\+\_\+alloc()}.

\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_acb0b9ec82498be27871e22cb6412a652}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_admin\_state\_names@{osmo\_ss7\_asp\_admin\_state\_names}}
\index{osmo\_ss7\_asp\_admin\_state\_names@{osmo\_ss7\_asp\_admin\_state\_names}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_admin\_state\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.

\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\+\_\+vty\+\_\+write\+\_\+one\+\_\+oxs()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+bind()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ vty\+\_\+dump\+\_\+xua\+\_\+server()}, 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{ DEFUN\+\_\+\+ATTR()}, \textbf{ show\+\_\+one\+\_\+asp()}, and \textbf{ ss7\+\_\+vty\+\_\+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()}.

