\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\+\_\+route\+\_\+table}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+instance}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+user}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+link}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+linkset}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+as}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer}
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+asp}
\item 
struct \textbf{ osmo\+\_\+xua\+\_\+layer\+\_\+manager}
\item 
struct \textbf{ osmo\+\_\+xua\+\_\+server}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PC\+\_\+\+INVALID}~0xffffffff
\item 
\#define \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+NO\+\_\+\+NOTIFY}~0x00000001
\begin{DoxyCompactList}\small\item\em Peer SG doesn\textquotesingle{}t send NTFY(AS-\/\+INACTIVE) after ASP-\/\+UP procedure. \end{DoxyCompactList}\item 
\#define \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+DAUD\+\_\+\+IN\+\_\+\+ASP}~0x00000002
\begin{DoxyCompactList}\small\item\em Accept DAUD in ASP role (RFC states only permitted in ASP-\/$>$SG role) \end{DoxyCompactList}\item 
\#define \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+SNM\+\_\+\+INACTIVE}~0x00000004
\begin{DoxyCompactList}\small\item\em Accept SSNM even if ASP is in AS-\/\+INACTIVE state. \end{DoxyCompactList}\item 
\#define \textbf{ \+\_\+\+LOGSS7}(inst,  subsys,  level,  fmt,  args ...)~        LOGP(subsys, level, \char`\"{}\%u\+: \char`\"{} fmt, inst ? (inst)-\/$>$cfg.\+id \+: 0, \#\# args)
\item 
\#define \textbf{ LOGSS7}(inst,  level,  fmt,  args ...)~\textbf{ \+\_\+\+LOGSS7}(inst, DLSS7, level, fmt, \#\# args)
\item 
\#define \textbf{ LOGPASP}(asp,  subsys,  level,  fmt,  args ...)~ \textbf{ \+\_\+\+LOGSS7}((asp)-\/$>$inst, subsys, level, \char`\"{}asp-\/\%s\+: \char`\"{} fmt, (asp)-\/$>$cfg.\+name, \#\# args)
\item 
\#define \textbf{ LOGPAS}(as,  subsys,  level,  fmt,  args ...)~ \textbf{ \+\_\+\+LOGSS7}((as)-\/$>$inst, subsys, level, \char`\"{}as-\/\%s\+: \char`\"{} fmt, (as)-\/$>$cfg.\+name, \#\# args)
\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\+\_\+link\+\_\+adm\+\_\+state} \{ \textbf{ OSMO\+\_\+\+SS7\+\_\+\+LS\+\_\+\+SHUTDOWN}
, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+LS\+\_\+\+INHIBITED}
, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+LS\+\_\+\+ENABLED}
, \textbf{ \+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+SS7\+\_\+\+LS}
 \}
\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\+\_\+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\+\_\+patch\+\_\+sccp\+\_\+mode} \{ \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PATCH\+\_\+\+NONE}
, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PATCH\+\_\+\+BOTH}
 \}
\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 
int \textbf{ osmo\+\_\+ss7\+\_\+init} (void)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst)
\item 
bool \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$str)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$in)
\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf} (char $\ast$buf, size\+\_\+t buf\+\_\+len, const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc)
\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc)
\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc)
\item 
static bool \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid} (uint32\+\_\+t pc)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name)
\item 
void \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find} (uint32\+\_\+t id)
\begin{DoxyCompactList}\small\item\em Find a 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 
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 
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 
uint8\+\_\+t \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt)
\item 
uint32\+\_\+t \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt, uint32\+\_\+t pc)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+register} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint8\+\_\+t service\+\_\+ind, struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user)
\begin{DoxyCompactList}\small\item\em Register a MTP user for a given service indicator. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+unregister} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint8\+\_\+t service\+\_\+ind, struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$user)
\begin{DoxyCompactList}\small\item\em Unregister a MTP user for a given service indicator. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+mtp\+\_\+to\+\_\+user} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$omp)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$omp)
\item 
void \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+link} $\ast$link)
\begin{DoxyCompactList}\small\item\em Destroy SS7 Link. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+link} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$lset, uint32\+\_\+t id)
\begin{DoxyCompactList}\small\item\em Find or create SS7 Link with given ID in given Linkset. \end{DoxyCompactList}\item 
void \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$lset)
\begin{DoxyCompactList}\small\item\em Destroy a SS7 Linkset. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Find SS7 Linkset by given name. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, uint32\+\_\+t pc)
\begin{DoxyCompactList}\small\item\em Find or allocate SS7 Linkset. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc})
\begin{DoxyCompactList}\small\item\em Find a SS7 route for given destination point code in given table. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t mask)
\begin{DoxyCompactList}\small\item\em Find a SS7 route for given destination point code + mask in given table. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc})
\begin{DoxyCompactList}\small\item\em Find a SS7 route for given destination point code in given SS7. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t mask, const char $\ast$linkset\+\_\+name)
\begin{DoxyCompactList}\small\item\em Create a new route in the given routing table. \end{DoxyCompactList}\item 
void \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt)
\begin{DoxyCompactList}\small\item\em Destroy a given SS7 route. \end{DoxyCompactList}\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt)
\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+name} (struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt, bool list\+\_\+asps)
\begin{DoxyCompactList}\small\item\em Return human readable representation of the route, in a static buffer. \end{DoxyCompactList}\item 
static const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name} (enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} mode)
\item 
static const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name} (enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} mode)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port} (enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Find Application Server by given name. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t rctx)
\begin{DoxyCompactList}\small\item\em Find Application Server by given routing context. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t l\+\_\+rk\+\_\+id)
\begin{DoxyCompactList}\small\item\em Find Application Server by given local routing key ID. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto)
\begin{DoxyCompactList}\small\item\em Find Application Server (AS) by given protocol. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto)
\begin{DoxyCompactList}\small\item\em Find or Create Application Server. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, const char $\ast$asp\+\_\+name)
\begin{DoxyCompactList}\small\item\em Add given 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 
bool \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+down} (const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\begin{DoxyCompactList}\small\item\em Determine if given AS is in the down state. \end{DoxyCompactList}\item 
bool \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+active} (const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\begin{DoxyCompactList}\small\item\em Determine if given AS is in the active state. \end{DoxyCompactList}\item 
bool \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, uint32\+\_\+t m3ua\+\_\+tmt)
\item 
void \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf} (char $\ast$buf, size\+\_\+t buf\+\_\+len, struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer)
\item 
void \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, void $\ast$talloc\+\_\+ctx, const char $\ast$const $\ast$hosts, size\+\_\+t host\+\_\+cnt)
\begin{DoxyCompactList}\small\item\em Set (copy) addresses for a given ASP peer. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, void $\ast$talloc\+\_\+ctx, const char $\ast$const $\ast$hosts, size\+\_\+t host\+\_\+cnt, int idx\+\_\+primary)
\begin{DoxyCompactList}\small\item\em Set (copy) addresses for a given ASP peer. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, void $\ast$talloc\+\_\+ctx, const char $\ast$host)
\begin{DoxyCompactList}\small\item\em Append (copy) address to a given ASP peer. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, void $\ast$talloc\+\_\+ctx, const char $\ast$host, bool is\+\_\+primary\+\_\+addr)
\begin{DoxyCompactList}\small\item\em Append (copy) address to a given ASP peer. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$peer, const char $\ast$host)
\begin{DoxyCompactList}\small\item\em Remove address from a given ASP peer. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto)
\begin{DoxyCompactList}\small\item\em Find an 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\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+send} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, struct msgb $\ast$msg)
\begin{DoxyCompactList}\small\item\em send a fully encoded msgb via a given ASP \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm} (struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, int log\+\_\+level)
\item 
bool \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+active} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\begin{DoxyCompactList}\small\item\em Get the logging subsystem for a given ASP. \end{DoxyCompactList}\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\begin{DoxyCompactList}\small\item\em Get the name of a given ASP. \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\begin{DoxyCompactList}\small\item\em Get the proto of a given ASP. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto} (const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp)
\begin{DoxyCompactList}\small\item\em Get the transport proto of a given ASP. \end{DoxyCompactList}\item 
void \textbf{ osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb} (\textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb} $\ast$cb)
\begin{DoxyCompactList}\small\item\em Register a call-\/back function for unknown SCTP PPID / IPA Stream ID. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto, uint16\+\_\+t local\+\_\+port) OSMO\+\_\+\+DEPRECATED(\char`\"{}Use \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2}() instead\char`\"{})
\begin{DoxyCompactList}\small\item\em find an x\+UA server with the given parameters \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, int trans\+\_\+proto, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto, uint16\+\_\+t local\+\_\+port)
\begin{DoxyCompactList}\small\item\em find an x\+UA server with the given parameters \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto, uint16\+\_\+t local\+\_\+port, const char $\ast$local\+\_\+host) OSMO\+\_\+\+DEPRECATED(\char`\"{}Use \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2}() instead\char`\"{})
\begin{DoxyCompactList}\small\item\em create a new x\+UA server configured with given ip/port \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, int trans\+\_\+proto, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} proto, uint16\+\_\+t local\+\_\+port, const char $\ast$local\+\_\+host)
\begin{DoxyCompactList}\small\item\em create a new x\+UA server configured with given ip/port \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs)
\begin{DoxyCompactList}\small\item\em Set the x\+UA server to bind/listen to the currently configured ip/port. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$local\+\_\+host)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$$\ast$local\+\_\+hosts, size\+\_\+t local\+\_\+host\+\_\+cnt)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$local\+\_\+host)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$local\+\_\+host)
\item 
void \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs)
\item 
struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client} (void $\ast$ctx, const char $\ast$name, uint32\+\_\+t default\+\_\+pc, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, int default\+\_\+local\+\_\+port, const char $\ast$default\+\_\+local\+\_\+ip, int default\+\_\+remote\+\_\+port, const char $\ast$default\+\_\+remote\+\_\+ip)
\begin{DoxyCompactList}\small\item\em request an sccp client instance \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id} (void $\ast$ctx, uint32\+\_\+t ss7\+\_\+id, const char $\ast$name, uint32\+\_\+t default\+\_\+pc, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, int default\+\_\+local\+\_\+port, const char $\ast$default\+\_\+local\+\_\+ip, int default\+\_\+remote\+\_\+port, const char $\ast$default\+\_\+remote\+\_\+ip)
\begin{DoxyCompactList}\small\item\em request an sccp client instance \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server} (void $\ast$ctx, uint32\+\_\+t pc, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, int local\+\_\+port, const char $\ast$local\+\_\+ip)
\item 
struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id} (void $\ast$ctx, uint32\+\_\+t ss7\+\_\+id, uint32\+\_\+t pc, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, int local\+\_\+port, const char $\ast$local\+\_\+ip)
\item 
struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} prot, const char $\ast$name, uint32\+\_\+t pc, int local\+\_\+port, int remote\+\_\+port, const char $\ast$remote\+\_\+ip)
\item 
void \textbf{ osmo\+\_\+sccp\+\_\+set\+\_\+max\+\_\+optional\+\_\+data} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, int val)
\begin{DoxyCompactList}\small\item\em Adjust the upper bound for the optional data length (the payload) for CR, CC, CREF and RLSD messages. \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} \textbf{ osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua} (uint32\+\_\+t in)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua} (enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} tmod)
\item 
void \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp} (void $\ast$ctx)
\item 
void \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg} (void $\ast$ctx)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent} (struct vty $\ast$vty)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+is\+\_\+config\+\_\+node} (struct vty $\ast$vty, int node)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
struct llist\+\_\+head \textbf{ osmo\+\_\+ss7\+\_\+instances}
\item 
struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals} [$\,$]
\item 
struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals} [$\,$]
\item 
const struct value\+\_\+string \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names} [$\,$]
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{osmo__ss7_8h_af5807da1745319c92a7d5bba0a39f07c}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!\_LOGSS7@{\_LOGSS7}}
\index{\_LOGSS7@{\_LOGSS7}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{\_LOGSS7}
{\footnotesize\ttfamily \#define \+\_\+\+LOGSS7(\begin{DoxyParamCaption}\item[{}]{inst,  }\item[{}]{subsys,  }\item[{}]{level,  }\item[{}]{fmt,  }\item[{}]{args ... }\end{DoxyParamCaption})~        LOGP(subsys, level, \char`\"{}\%u\+: \char`\"{} fmt, inst ? (inst)-\/$>$cfg.\+id \+: 0, \#\# args)}

\mbox{\label{osmo__ss7_8h_aa4be2c672a6e465517106d91c681837c}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!LOGPAS@{LOGPAS}}
\index{LOGPAS@{LOGPAS}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{LOGPAS}
{\footnotesize\ttfamily \#define LOGPAS(\begin{DoxyParamCaption}\item[{}]{as,  }\item[{}]{subsys,  }\item[{}]{level,  }\item[{}]{fmt,  }\item[{}]{args ... }\end{DoxyParamCaption})~ \textbf{ \+\_\+\+LOGSS7}((as)-\/$>$inst, subsys, level, \char`\"{}as-\/\%s\+: \char`\"{} fmt, (as)-\/$>$cfg.\+name, \#\# args)}

\mbox{\label{osmo__ss7_8h_a730407c0c9a8ac0cc119aa0c56a87a24}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!LOGPASP@{LOGPASP}}
\index{LOGPASP@{LOGPASP}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{LOGPASP}
{\footnotesize\ttfamily \#define LOGPASP(\begin{DoxyParamCaption}\item[{}]{asp,  }\item[{}]{subsys,  }\item[{}]{level,  }\item[{}]{fmt,  }\item[{}]{args ... }\end{DoxyParamCaption})~ \textbf{ \+\_\+\+LOGSS7}((asp)-\/$>$inst, subsys, level, \char`\"{}asp-\/\%s\+: \char`\"{} fmt, (asp)-\/$>$cfg.\+name, \#\# args)}

\mbox{\label{osmo__ss7_8h_aec14b54ffb5b79dcfd0e4eb5931e0ff6}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!LOGSS7@{LOGSS7}}
\index{LOGSS7@{LOGSS7}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{LOGSS7}
{\footnotesize\ttfamily \#define LOGSS7(\begin{DoxyParamCaption}\item[{}]{inst,  }\item[{}]{level,  }\item[{}]{fmt,  }\item[{}]{args ... }\end{DoxyParamCaption})~\textbf{ \+\_\+\+LOGSS7}(inst, DLSS7, level, fmt, \#\# args)}

\mbox{\label{osmo__ss7_8h_afea7694c204285e517c2d8168628fdd6}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP@{OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP}}
\index{OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP@{OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{OSMO\_SS7\_ASP\_QUIRK\_DAUD\_IN\_ASP}
{\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+DAUD\+\_\+\+IN\+\_\+\+ASP~0x00000002}



Accept DAUD in ASP role (RFC states only permitted in ASP-\/$>$SG role) 

\mbox{\label{osmo__ss7_8h_ae3698c4ec4d6012ce0328f1ba9d8c167}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY@{OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY}}
\index{OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY@{OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{OSMO\_SS7\_ASP\_QUIRK\_NO\_NOTIFY}
{\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+NO\+\_\+\+NOTIFY~0x00000001}



Peer SG doesn\textquotesingle{}t send NTFY(AS-\/\+INACTIVE) after ASP-\/\+UP procedure. 

\mbox{\label{osmo__ss7_8h_a6e5deef8cf0cfcc3d7028a2c21a65678}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE@{OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE}}
\index{OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE@{OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{OSMO\_SS7\_ASP\_QUIRK\_SNM\_INACTIVE}
{\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+QUIRK\+\_\+\+SNM\+\_\+\+INACTIVE~0x00000004}



Accept SSNM even if ASP is in AS-\/\+INACTIVE state. 

\mbox{\label{osmo__ss7_8h_ad7ad7dbf55c60c5b66663e6e4dc5e69b}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_PC\_INVALID@{OSMO\_SS7\_PC\_INVALID}}
\index{OSMO\_SS7\_PC\_INVALID@{OSMO\_SS7\_PC\_INVALID}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{OSMO\_SS7\_PC\_INVALID}
{\footnotesize\ttfamily \#define OSMO\+\_\+\+SS7\+\_\+\+PC\+\_\+\+INVALID~0xffffffff}



\doxysubsection{Typedef Documentation}
\mbox{\label{osmo__ss7_8h_a5d23175228d5d795a55f47bbc5e24889}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_rx\_unknown\_cb@{osmo\_ss7\_asp\_rx\_unknown\_cb}}
\index{osmo\_ss7\_asp\_rx\_unknown\_cb@{osmo\_ss7\_asp\_rx\_unknown\_cb}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_rx\_unknown\_cb}
{\footnotesize\ttfamily typedef int osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb(struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$asp, int ppid\+\_\+mux, struct msgb $\ast$msg)}



Weak function to handle payload for unknown/unsupported PPID or IPA Stream\+ID. 

This function can be overridden by application code to implement whatever handling it wants for such additional payloads/streams. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & Application Server Process through which data was received \\
\hline
\mbox{\texttt{ in}}  & {\em ppid\+\_\+sid} & SCTP PPID (in sigtran case) or IPA Stream ID \\
\hline
\mbox{\texttt{ in}}  & {\em msg} & Message buffer containing received data. Continues to be owned by caller! \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative on error 
\end{DoxyReturn}


\doxysubsection{Enumeration Type Documentation}
\mbox{\label{osmo__ss7_8h_a0b2887d64dc990999c94b2b6cccdc977}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_patch\_sccp\_mode@{osmo\_ss7\_as\_patch\_sccp\_mode}}
\index{osmo\_ss7\_as\_patch\_sccp\_mode@{osmo\_ss7\_as\_patch\_sccp\_mode}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_patch\_sccp\_mode}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+patch\+\_\+sccp\+\_\+mode}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_PATCH\_NONE@{OSMO\_SS7\_PATCH\_NONE}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_PATCH\_NONE@{OSMO\_SS7\_PATCH\_NONE}}}\mbox{\label{osmo__ss7_8h_a0b2887d64dc990999c94b2b6cccdc977abd50362e0202087cc98258086f29e834}} 
OSMO\+\_\+\+SS7\+\_\+\+PATCH\+\_\+\+NONE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_PATCH\_BOTH@{OSMO\_SS7\_PATCH\_BOTH}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_PATCH\_BOTH@{OSMO\_SS7\_PATCH\_BOTH}}}\mbox{\label{osmo__ss7_8h_a0b2887d64dc990999c94b2b6cccdc977a3645ea045c8a9be707ec49bb63ec33ce}} 
OSMO\+\_\+\+SS7\+\_\+\+PATCH\+\_\+\+BOTH&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{osmo__ss7_8h_a7a464c21cf672fb5de142ca9ed13f09b}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_traffic\_mode@{osmo\_ss7\_as\_traffic\_mode}}
\index{osmo\_ss7\_as\_traffic\_mode@{osmo\_ss7\_as\_traffic\_mode}!osmo\_ss7.h@{osmo\_ss7.h}}
\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}
\mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9f}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_link\_adm\_state@{osmo\_ss7\_link\_adm\_state}}
\index{osmo\_ss7\_link\_adm\_state@{osmo\_ss7\_link\_adm\_state}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_link\_adm\_state}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+adm\+\_\+state}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_LS\_SHUTDOWN@{OSMO\_SS7\_LS\_SHUTDOWN}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_LS\_SHUTDOWN@{OSMO\_SS7\_LS\_SHUTDOWN}}}\mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9fad8d49e9b70173cbf51e36c01beda408e}} 
OSMO\+\_\+\+SS7\+\_\+\+LS\+\_\+\+SHUTDOWN&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_LS\_INHIBITED@{OSMO\_SS7\_LS\_INHIBITED}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_LS\_INHIBITED@{OSMO\_SS7\_LS\_INHIBITED}}}\mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9faa4955ef70c2720fb61de396d1c5ed39f}} 
OSMO\+\_\+\+SS7\+\_\+\+LS\+\_\+\+INHIBITED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SS7\_LS\_ENABLED@{OSMO\_SS7\_LS\_ENABLED}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!OSMO\_SS7\_LS\_ENABLED@{OSMO\_SS7\_LS\_ENABLED}}}\mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9fa6d22820a2eb8140fe1c9a97ad562f05b}} 
OSMO\+\_\+\+SS7\+\_\+\+LS\+\_\+\+ENABLED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{\_NUM\_OSMO\_SS7\_LS@{\_NUM\_OSMO\_SS7\_LS}!osmo\_ss7.h@{osmo\_ss7.h}}\index{osmo\_ss7.h@{osmo\_ss7.h}!\_NUM\_OSMO\_SS7\_LS@{\_NUM\_OSMO\_SS7\_LS}}}\mbox{\label{osmo__ss7_8h_a6c8b72b42f0a6ea4fd7c77a8b9bf7a9fadab3b2230e17c780d9b42b8fc3e9b23e}} 
\+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+SS7\+\_\+\+LS&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\label{osmo__ss7_8h_a0aea811fcc44f9212f24e857b0f8fff7}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_sccp\_set\_max\_optional\_data@{osmo\_sccp\_set\_max\_optional\_data}}
\index{osmo\_sccp\_set\_max\_optional\_data@{osmo\_sccp\_set\_max\_optional\_data}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_sccp\_set\_max\_optional\_data()}
{\footnotesize\ttfamily void osmo\+\_\+sccp\+\_\+set\+\_\+max\+\_\+optional\+\_\+data (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{int}]{val }\end{DoxyParamCaption})}



Adjust the upper bound for the optional data length (the payload) for CR, CC, CREF and RLSD messages. 

For any Optional Data part larger than this value in octets, send CR, CC, CREF and RLSD messages without any payload, and send the data payload in a separate Data Form 1 message. ITU-\/T Q.\+713 sections 4.\+2 thru 4.\+5 define a limit of 130 bytes for the \textquotesingle{}Data\textquotesingle{} parameter. This limit can be adjusted here. May be useful for interop with nonstandard SCCP peers. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em sccp} & SCCP instance to reconfigure. \\
\hline
\mbox{\texttt{ in}}  & {\em val} & Number of bytes to set as upper bound for the optional data length, or pass a negative value to set the standard value of SCCP\+\_\+\+MAX\+\_\+\+OPTIONAL\+\_\+\+DATA == 130, which conforms to ITU-\/T Q.\+713. \\
\hline
\end{DoxyParams}


References \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}.



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

\mbox{\label{osmo__ss7_8h_abdb0d3f6399b0f790fc2cb907845d504}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_sccp\_simple\_client@{osmo\_sccp\_simple\_client}}
\index{osmo\_sccp\_simple\_client@{osmo\_sccp\_simple\_client}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_sccp\_simple\_client()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+client (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{const char $\ast$}]{name,  }\item[{uint32\+\_\+t}]{default\+\_\+pc,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot,  }\item[{int}]{default\+\_\+local\+\_\+port,  }\item[{const char $\ast$}]{default\+\_\+local\+\_\+ip,  }\item[{int}]{default\+\_\+remote\+\_\+port,  }\item[{const char $\ast$}]{default\+\_\+remote\+\_\+ip }\end{DoxyParamCaption})}



request an sccp client instance 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ctx} & talloc context \\
\hline
\mbox{\texttt{ in}}  & {\em name} & human readable name \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+pc} & pointcode to be used on missing VTY setting \\
\hline
\mbox{\texttt{ in}}  & {\em prot} & protocol to be used (e.\+g OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA) \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+local\+\_\+port} & local port to be used on missing VTY setting \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+local\+\_\+ip} & local IP-\/address to be used on missing VTY setting \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+remote\+\_\+port} & remote port to be used on missing VTY setting \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+remote\+\_\+ip} & remote IP-\/address to be used on missing VTY setting \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
callee-\/allocated SCCP instance on success; NULL on error 
\end{DoxyReturn}
This is simplified version of \doxyref{osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}{p.}{sccp__user_8c_a3494cf9f81c1463a55572e44366d5573}. the only difference is that the ID of the CS7 instance will be set to 0 statically

References \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}.

\mbox{\label{osmo__ss7_8h_a3494cf9f81c1463a55572e44366d5573}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_sccp\_simple\_client\_on\_ss7\_id@{osmo\_sccp\_simple\_client\_on\_ss7\_id}}
\index{osmo\_sccp\_simple\_client\_on\_ss7\_id@{osmo\_sccp\_simple\_client\_on\_ss7\_id}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_sccp\_simple\_client\_on\_ss7\_id()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{uint32\+\_\+t}]{ss7\+\_\+id,  }\item[{const char $\ast$}]{name,  }\item[{uint32\+\_\+t}]{default\+\_\+pc,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot,  }\item[{int}]{default\+\_\+local\+\_\+port,  }\item[{const char $\ast$}]{default\+\_\+local\+\_\+ip,  }\item[{int}]{default\+\_\+remote\+\_\+port,  }\item[{const char $\ast$}]{default\+\_\+remote\+\_\+ip }\end{DoxyParamCaption})}



request an sccp client instance 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ctx} & talloc context \\
\hline
\mbox{\texttt{ in}}  & {\em ss7\+\_\+id} & of the SS7/\+CS7 instance \\
\hline
\mbox{\texttt{ in}}  & {\em name} & human readable name \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+pc} & pointcode to be used on missing VTY setting \\
\hline
\mbox{\texttt{ in}}  & {\em prot} & protocol to be used (e.\+g OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA) \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+local\+\_\+port} & local port to be used on missing VTY setting \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+local\+\_\+ip} & local IP-\/address to be used on missing VTY setting (NULL\+: use library own defaults) \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+remote\+\_\+port} & remote port to be used on missing VTY setting \\
\hline
\mbox{\texttt{ in}}  & {\em default\+\_\+remote\+\_\+ip} & remote IP-\/address to be used on missing VTY setting (NULL\+: use library own defaults) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
callee-\/allocated SCCP instance on success; NULL on error 
\end{DoxyReturn}
The function will examine the given CS7 instance and its sub components (as, asp, etc.). If necessary it will allocate the missing components. If no CS7 instance can be detected under the caller supplied ID, a new instance will be created beforehand.

References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+ASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm()}, \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role\+\_\+set\+\_\+by\+\_\+vty}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::simple\+\_\+client\+\_\+allocated}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::simple\+\_\+client\+\_\+allocated}, \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts()}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+role\+\_\+set\+\_\+by\+\_\+vty}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client()}.

\mbox{\label{osmo__ss7_8h_abd73600ded430275951687aa5d58d23b}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_sccp\_simple\_server@{osmo\_sccp\_simple\_server}}
\index{osmo\_sccp\_simple\_server@{osmo\_sccp\_simple\_server}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_sccp\_simple\_server()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+server (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{uint32\+\_\+t}]{pc,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot,  }\item[{int}]{local\+\_\+port,  }\item[{const char $\ast$}]{local\+\_\+ip }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}.

\mbox{\label{osmo__ss7_8h_a850d23232fe30f4162cb47a5c9b6965d}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_sccp\_simple\_server\_add\_clnt@{osmo\_sccp\_simple\_server\_add\_clnt}}
\index{osmo\_sccp\_simple\_server\_add\_clnt@{osmo\_sccp\_simple\_server\_add\_clnt}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_sccp\_simple\_server\_add\_clnt()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot,  }\item[{const char $\ast$}]{name,  }\item[{uint32\+\_\+t}]{pc,  }\item[{int}]{local\+\_\+port,  }\item[{int}]{remote\+\_\+port,  }\item[{const char $\ast$}]{remote\+\_\+ip }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2()}, \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\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}.

\mbox{\label{osmo__ss7_8h_a5c3a83227ac8684617fc3e08b65ebc1a}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_sccp\_simple\_server\_on\_ss7\_id@{osmo\_sccp\_simple\_server\_on\_ss7\_id}}
\index{osmo\_sccp\_simple\_server\_on\_ss7\_id@{osmo\_sccp\_simple\_server\_on\_ss7\_id}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_sccp\_simple\_server\_on\_ss7\_id()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{uint32\+\_\+t}]{ss7\+\_\+id,  }\item[{uint32\+\_\+t}]{pc,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot,  }\item[{int}]{local\+\_\+port,  }\item[{const char $\ast$}]{local\+\_\+ip }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port()}, \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server()}.

\mbox{\label{osmo__ss7_8h_a6eb76a8a7db795844115a5b6feb5e426}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_active@{osmo\_ss7\_as\_active}}
\index{osmo\_ss7\_as\_active@{osmo\_ss7\_as\_active}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_active()}
{\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+as\+\_\+active (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



Determine if given AS is in the active state. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em as} & Application Server. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true in case as is active; false otherwise. 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, and \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+ACTIVE}.



Referenced by \textbf{ DEFUN()}.

\mbox{\label{osmo__ss7_8h_a01392ccbfd2fd93d962dcd7bd8037526}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_add\_asp@{osmo\_ss7\_as\_add\_asp}}
\index{osmo\_ss7\_as\_add\_asp@{osmo\_ss7\_as\_add\_asp}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_add\_asp()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{const char $\ast$}]{asp\+\_\+name }\end{DoxyParamCaption})}



Add given ASP to given AS. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em as} & Application Server to which asp is added \\
\hline
\mbox{\texttt{ in}}  & {\em asp} & Application Server Process to be added to as \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative in case of error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ LOGPAS}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ XUA\+\_\+\+ASP\+\_\+\+E\+\_\+\+AS\+\_\+\+ASSIGNED}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}.

\mbox{\label{osmo__ss7_8h_aca9bfa652d15609a904653398e17c5e9}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_del\_asp@{osmo\_ss7\_as\_del\_asp}}
\index{osmo\_ss7\_as\_del\_asp@{osmo\_ss7\_as\_del\_asp}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_del\_asp()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{const char $\ast$}]{asp\+\_\+name }\end{DoxyParamCaption})}



Delete given ASP from given AS. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em as} & Application Server from which asp is deleted \\
\hline
\mbox{\texttt{ in}}  & {\em asp} & Application Server Process to delete from as \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative in case of error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ LOGPAS}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ handle\+\_\+rkey\+\_\+dereg()}.

\mbox{\label{osmo__ss7_8h_afe830a3d827c8c9ff36bf04e0428ad79}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_destroy@{osmo\_ss7\_as\_destroy}}
\index{osmo\_ss7\_as\_destroy@{osmo\_ss7\_as\_destroy}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_destroy()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+as\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



Destroy given Application Server. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em as} & Application Server to destroy \\
\hline
\end{DoxyParams}


References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ LOGPAS}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, and \textbf{ xua\+\_\+rkm\+\_\+cleanup\+\_\+dyn\+\_\+as\+\_\+for\+\_\+asp()}.

\mbox{\label{osmo__ss7_8h_a73e6d3f8129ec492e6c59b7bc4ac7fe3}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_down@{osmo\_ss7\_as\_down}}
\index{osmo\_ss7\_as\_down@{osmo\_ss7\_as\_down}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_down()}
{\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+as\+\_\+down (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



Determine if given AS is in the down state. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em as} & Application Server. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true in case as is down; false otherwise. 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::fi}, and \textbf{ XUA\+\_\+\+AS\+\_\+\+S\+\_\+\+DOWN}.



Referenced by \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}.

\mbox{\label{osmo__ss7_8h_a4425a62d1138a1face7ce0f4461c1811}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_find\_by\_l\_rk\_id@{osmo\_ss7\_as\_find\_by\_l\_rk\_id}}
\index{osmo\_ss7\_as\_find\_by\_l\_rk\_id@{osmo\_ss7\_as\_find\_by\_l\_rk\_id}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_find\_by\_l\_rk\_id()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{l\+\_\+rk\+\_\+id }\end{DoxyParamCaption})}



Find Application Server by given local routing key ID. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em l\+\_\+rk\+\_\+id} & Local Routing Key ID \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to Application Server on success; NULL otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::l\+\_\+rk\+\_\+id}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ handle\+\_\+reg\+\_\+conf()}, and \textbf{ ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id()}.

\mbox{\label{osmo__ss7_8h_a04274a80653a9a83afd823b31c55e6c6}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_find\_by\_name@{osmo\_ss7\_as\_find\_by\_name}}
\index{osmo\_ss7\_as\_find\_by\_name@{osmo\_ss7\_as\_find\_by\_name}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_find\_by\_name()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Find Application Server by given name. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Name of AS \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to Application Server on success; NULL otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, and \textbf{ ss7\+\_\+route\+\_\+set\+\_\+linkset()}.

\mbox{\label{osmo__ss7_8h_a36cd354a3665015410895188d3d2afaa}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_find\_by\_proto@{osmo\_ss7\_as\_find\_by\_proto}}
\index{osmo\_ss7\_as\_find\_by\_proto@{osmo\_ss7\_as\_find\_by\_proto}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_find\_by\_proto()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



Find Application Server (AS) by given protocol. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em proto} & Protocol identifier that must match \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to AS on success; NULL otherwise If an AS has an ASP also matching the given protocol, that AS is preferred. If there are multiple matches, return the first matching AS. 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}.

\mbox{\label{osmo__ss7_8h_a62014d2e42c76eb8e16ed079240a550a}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_find\_by\_rctx@{osmo\_ss7\_as\_find\_by\_rctx}}
\index{osmo\_ss7\_as\_find\_by\_rctx@{osmo\_ss7\_as\_find\_by\_rctx}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_find\_by\_rctx()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{rctx }\end{DoxyParamCaption})}



Find Application Server by given routing context. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em rctx} & Routing Context \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to Application Server on success; NULL otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+routing\+\_\+key\+::context}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::routing\+\_\+key}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}, and \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}.

\mbox{\label{osmo__ss7_8h_adeeee1a2cbcab7653a422473d4d59950}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_find\_or\_create@{osmo\_ss7\_as\_find\_or\_create}}
\index{osmo\_ss7\_as\_find\_or\_create@{osmo\_ss7\_as\_find\_or\_create}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_find\_or\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



Find or Create Application Server. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Name of Application Server \\
\hline
\mbox{\texttt{ in}}  & {\em proto} & Protocol of Application Server \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to Application Server on success; NULL otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ LOGPAS}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ ss7\+\_\+as\+\_\+alloc()}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}.

\mbox{\label{osmo__ss7_8h_abffb76cffe93aa6421b2e41dcce2fe7f}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_has\_asp@{osmo\_ss7\_as\_has\_asp}}
\index{osmo\_ss7\_as\_has\_asp@{osmo\_ss7\_as\_has\_asp}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_has\_asp()}
{\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Determine if given AS contains ASP. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em as} & Application Server in which to look for asp \\
\hline
\mbox{\texttt{ in}}  & {\em asp} & Application Server Process to look for in as \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true in case asp is part of as; false otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ as\+\_\+list\+\_\+for\+\_\+asp()}, \textbf{ determine\+\_\+traf\+\_\+mode()}, \textbf{ dispatch\+\_\+to\+\_\+all\+\_\+as()}, \textbf{ find\+\_\+single\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ get\+\_\+all\+\_\+rctx\+\_\+for\+\_\+asp()}, \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ ipa\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}, \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ xua\+\_\+msg\+\_\+add\+\_\+asp\+\_\+rctx()}, and \textbf{ xua\+\_\+rkm\+\_\+cleanup\+\_\+dyn\+\_\+as\+\_\+for\+\_\+asp()}.

\mbox{\label{osmo__ss7_8h_ae1ce394b6ad89efe1d723f0eda142333}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_tmode\_compatible\_xua@{osmo\_ss7\_as\_tmode\_compatible\_xua}}
\index{osmo\_ss7\_as\_tmode\_compatible\_xua@{osmo\_ss7\_as\_tmode\_compatible\_xua}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_tmode\_compatible\_xua()}
{\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{uint32\+\_\+t}]{m3ua\+\_\+tmt }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode\+\_\+set\+\_\+by\+\_\+peer}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::mode\+\_\+set\+\_\+by\+\_\+vty}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+ROUNDROBIN}.



Referenced by \textbf{ handle\+\_\+rkey\+\_\+reg()}, and \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}.

\mbox{\label{osmo__ss7_8h_adae5ed407cc7b454d5a7a53baf420fcc}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_traffic\_mode\_name@{osmo\_ss7\_as\_traffic\_mode\_name}}
\index{osmo\_ss7\_as\_traffic\_mode\_name@{osmo\_ss7\_as\_traffic\_mode\_name}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_traffic\_mode\_name()}
{\footnotesize\ttfamily static const char $\ast$ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode}}]{mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals}.



Referenced by \textbf{ DEFUN()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ write\+\_\+one\+\_\+as()}, and \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}.

\mbox{\label{osmo__ss7_8h_a85b5b2514d86c48bf6c994b08e362c55}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_active@{osmo\_ss7\_asp\_active}}
\index{osmo\_ss7\_asp\_active@{osmo\_ss7\_asp\_active}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_active()}
{\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+asp\+\_\+active (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, and \textbf{ XUA\+\_\+\+ASP\+\_\+\+S\+\_\+\+ACTIVE}.



Referenced by \textbf{ notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive()}, \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available()}, \textbf{ xua\+\_\+as\+\_\+select\+\_\+asp\+\_\+override()}, \textbf{ xua\+\_\+as\+\_\+select\+\_\+asp\+\_\+roundrobin()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast()}, \textbf{ xua\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ xua\+\_\+snm\+\_\+scon()}, and \textbf{ xua\+\_\+snm\+\_\+upu()}.

\mbox{\label{osmo__ss7_8h_a6fce9d43401870a21aafb2b62936b321}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_destroy@{osmo\_ss7\_asp\_destroy}}
\index{osmo\_ss7\_asp\_destroy@{osmo\_ss7\_asp\_destroy}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_destroy()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ LOGPASP}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::siblings}, \textbf{ ss7\+\_\+initialized}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::xua\+\_\+server}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy()}, and \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb()}.

\mbox{\label{osmo__ss7_8h_af24d6e5d1494620c9a340ff2bb68416c}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_disconnect@{osmo\_ss7\_asp\_disconnect}}
\index{osmo\_ss7\_asp\_disconnect@{osmo\_ss7\_asp\_disconnect}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_disconnect()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+disconnect (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, and \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}.



Referenced by \textbf{ DEFUN()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+timer\+\_\+cb()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+resp()}, and \textbf{ ipa\+\_\+pong\+\_\+timer\+\_\+cb()}.

\mbox{\label{osmo__ss7_8h_ae39d606680421e661f4b27079fa6f143}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_find@{osmo\_ss7\_asp\_find}}
\index{osmo\_ss7\_asp\_find@{osmo\_ss7\_asp\_find}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_find()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name,  }\item[{uint16\+\_\+t}]{remote\+\_\+port,  }\item[{uint16\+\_\+t}]{local\+\_\+port,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}.

\mbox{\label{osmo__ss7_8h_a6d441982a917c3e081e48333cd5b5cb0}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_find2@{osmo\_ss7\_asp\_find2}}
\index{osmo\_ss7\_asp\_find2@{osmo\_ss7\_asp\_find2}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_find2()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name,  }\item[{uint16\+\_\+t}]{remote\+\_\+port,  }\item[{uint16\+\_\+t}]{local\+\_\+port,  }\item[{int}]{trans\+\_\+proto,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+initialized}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find()}.

\mbox{\label{osmo__ss7_8h_a3c7622dd0920b73b1de4bacb1466a31d}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_find\_by\_name@{osmo\_ss7\_asp\_find\_by\_name}}
\index{osmo\_ss7\_asp\_find\_by\_name@{osmo\_ss7\_asp\_find\_by\_name}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_find\_by\_name()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ show\+\_\+asp()}, \textbf{ show\+\_\+asp\+\_\+assoc\+\_\+status()}, and \textbf{ show\+\_\+asp\+\_\+remaddr()}.

\mbox{\label{osmo__ss7_8h_acff40fa25f195d4b065214ede9d5a200}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_find\_by\_proto@{osmo\_ss7\_asp\_find\_by\_proto}}
\index{osmo\_ss7\_asp\_find\_by\_proto@{osmo\_ss7\_asp\_find\_by\_proto}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_find\_by\_proto()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+proto (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



Find an ASP that matches the given ASP protocol (x\+UA variant). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em as} & Application Server in which to look for asp \\
\hline
\mbox{\texttt{ in}}  & {\em proto} & ASP protocol (x\+UA variant) to match \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
SS7 ASP in case a matching one is found; NULL otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto()}.

\mbox{\label{osmo__ss7_8h_a81d94bf43eba61595295725eb87674b7}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_find\_or\_create@{osmo\_ss7\_asp\_find\_or\_create}}
\index{osmo\_ss7\_asp\_find\_or\_create@{osmo\_ss7\_asp\_find\_or\_create}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_find\_or\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name,  }\item[{uint16\+\_\+t}]{remote\+\_\+port,  }\item[{uint16\+\_\+t}]{local\+\_\+port,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}.

\mbox{\label{osmo__ss7_8h_abcef629eaf44fa0a9580dbaf79614b10}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_find\_or\_create2@{osmo\_ss7\_asp\_find\_or\_create2}}
\index{osmo\_ss7\_asp\_find\_or\_create2@{osmo\_ss7\_asp\_find\_or\_create2}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_find\_or\_create2()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name,  }\item[{uint16\+\_\+t}]{remote\+\_\+port,  }\item[{uint16\+\_\+t}]{local\+\_\+port,  }\item[{int}]{trans\+\_\+proto,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ ss7\+\_\+asp\+\_\+alloc()}, \textbf{ ss7\+\_\+initialized}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{osmo__ss7_8h_aecc0022dbb85c45d452d624c7a74587f}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_get\_log\_subsys@{osmo\_ss7\_asp\_get\_log\_subsys}}
\index{osmo\_ss7\_asp\_get\_log\_subsys@{osmo\_ss7\_asp\_get\_log\_subsys}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_get\_log\_subsys()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+log\+\_\+subsys (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the logging subsystem for a given ASP. 

Used by generic code. 

References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}.



Referenced by \textbf{ xua\+\_\+find\+\_\+as\+\_\+for\+\_\+asp()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dava()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+duna()}, \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+scon()}.

\mbox{\label{osmo__ss7_8h_adaf906c479a08d0f6ed6664c3fdd95c7}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_get\_name@{osmo\_ss7\_asp\_get\_name}}
\index{osmo\_ss7\_asp\_get\_name@{osmo\_ss7\_asp\_get\_name}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_get\_name()}
{\footnotesize\ttfamily const char $\ast$ osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+name (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the name of a given ASP. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & The ASP for which the name is requested \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The name of the ASP, or NULL if not set 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}.

\mbox{\label{osmo__ss7_8h_a44b7671799d1beacce83817e2061f72f}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_get\_proto@{osmo\_ss7\_asp\_get\_proto}}
\index{osmo\_ss7\_asp\_get\_proto@{osmo\_ss7\_asp\_get\_proto}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_get\_proto()}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol} osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+proto (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the proto of a given ASP. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & The ASP for which the proto is requested \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The proto of the ASP 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}.

\mbox{\label{osmo__ss7_8h_a1b9ecb408d77a295723c34235b796e1e}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_get\_trans\_proto@{osmo\_ss7\_asp\_get\_trans\_proto}}
\index{osmo\_ss7\_asp\_get\_trans\_proto@{osmo\_ss7\_asp\_get\_trans\_proto}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_get\_trans\_proto()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+get\+\_\+trans\+\_\+proto (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



Get the transport proto of a given ASP. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & The ASP for which the transport proto is requested \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The transport proto of the ASP (one of IPPROTO\+\_\+$\ast$) 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}.

\mbox{\label{osmo__ss7_8h_a6c91baa9261a1bcc0a6f2fae5e84b972}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_peer\_add\_host@{osmo\_ss7\_asp\_peer\_add\_host}}
\index{osmo\_ss7\_asp\_peer\_add\_host@{osmo\_ss7\_asp\_peer\_add\_host}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_peer\_add\_host()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer,  }\item[{void $\ast$}]{talloc\+\_\+ctx,  }\item[{const char $\ast$}]{host }\end{DoxyParamCaption})}



Append (copy) address to a given ASP peer. 

Previous addresses are kept. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em peer} & Application Server Process peer the address is appended to. \\
\hline
\mbox{\texttt{ in}}  & {\em talloc\+\_\+ctx} & talloc context used to allocate new address. \\
\hline
\mbox{\texttt{ in}}  & {\em host} & string containing an IP address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2()}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host()}, and \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts()}.

\mbox{\label{osmo__ss7_8h_a1ef86819b8f03d91f909da6e4db7287a}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_peer\_add\_host2@{osmo\_ss7\_asp\_peer\_add\_host2}}
\index{osmo\_ss7\_asp\_peer\_add\_host2@{osmo\_ss7\_asp\_peer\_add\_host2}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_peer\_add\_host2()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer,  }\item[{void $\ast$}]{talloc\+\_\+ctx,  }\item[{const char $\ast$}]{host,  }\item[{bool}]{is\+\_\+primary\+\_\+addr }\end{DoxyParamCaption})}



Append (copy) address to a given ASP peer. 

Previous addresses are kept. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em peer} & Application Server Process peer the address is appended to. \\
\hline
\mbox{\texttt{ in}}  & {\em talloc\+\_\+ctx} & talloc context used to allocate new address. \\
\hline
\mbox{\texttt{ in}}  & {\em host} & string containing an IP address. \\
\hline
\mbox{\texttt{ in}}  & {\em is\+\_\+primary\+\_\+addr} & whether this IP address is to be added as SCTP Primary Address \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ host\+\_\+is\+\_\+ip\+\_\+anyaddr()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host()}.

\mbox{\label{osmo__ss7_8h_a4bd800113cd229e0dd5ebfd32fb6c1cb}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_peer\_del\_host@{osmo\_ss7\_asp\_peer\_del\_host}}
\index{osmo\_ss7\_asp\_peer\_del\_host@{osmo\_ss7\_asp\_peer\_del\_host}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_peer\_del\_host()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer,  }\item[{const char $\ast$}]{host }\end{DoxyParamCaption})}



Remove address from a given ASP peer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em peer} & Application Server Process peer the address is removed from. \\
\hline
\mbox{\texttt{ in}}  & {\em host} & string containing an IP address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host()}.

\mbox{\label{osmo__ss7_8h_aed428cfcb66cb8b106de45150506ef3e}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_peer\_init@{osmo\_ss7\_asp\_peer\_init}}
\index{osmo\_ss7\_asp\_peer\_init@{osmo\_ss7\_asp\_peer\_init}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_peer\_init()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+init (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary}.



Referenced by \textbf{ ss7\+\_\+asp\+\_\+alloc()}.

\mbox{\label{osmo__ss7_8h_aff39a38183c940601c2a937603a3c741}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_peer\_set\_hosts@{osmo\_ss7\_asp\_peer\_set\_hosts}}
\index{osmo\_ss7\_asp\_peer\_set\_hosts@{osmo\_ss7\_asp\_peer\_set\_hosts}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_peer\_set\_hosts()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer,  }\item[{void $\ast$}]{talloc\+\_\+ctx,  }\item[{const char $\ast$const $\ast$}]{hosts,  }\item[{size\+\_\+t}]{host\+\_\+cnt }\end{DoxyParamCaption})}



Set (copy) addresses for a given ASP peer. 

Previous addresses are freed. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em peer} & Application Server Process peer whose addresses are to be set. \\
\hline
\mbox{\texttt{ in}}  & {\em talloc\+\_\+ctx} & talloc context used to allocate new addresses. \\
\hline
\mbox{\texttt{ in}}  & {\em hosts} & Array of strings containing IP addresses. \\
\hline
\mbox{\texttt{ in}}  & {\em host\+\_\+cnt} & Number of strings in hosts \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2()}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{osmo__ss7_8h_aace928f5efcaeedc6675dba51294aa64}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_peer\_set\_hosts2@{osmo\_ss7\_asp\_peer\_set\_hosts2}}
\index{osmo\_ss7\_asp\_peer\_set\_hosts2@{osmo\_ss7\_asp\_peer\_set\_hosts2}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_peer\_set\_hosts2()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer,  }\item[{void $\ast$}]{talloc\+\_\+ctx,  }\item[{const char $\ast$const $\ast$}]{hosts,  }\item[{size\+\_\+t}]{host\+\_\+cnt,  }\item[{int}]{idx\+\_\+primary }\end{DoxyParamCaption})}



Set (copy) addresses for a given ASP peer. 

Previous addresses are freed. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em peer} & Application Server Process peer whose addresses are to be set. \\
\hline
\mbox{\texttt{ in}}  & {\em talloc\+\_\+ctx} & talloc context used to allocate new addresses. \\
\hline
\mbox{\texttt{ in}}  & {\em hosts} & Array of strings containing IP addresses. \\
\hline
\mbox{\texttt{ in}}  & {\em host\+\_\+cnt} & Number of strings in hosts \\
\hline
\mbox{\texttt{ in}}  & {\em idx\+\_\+primary} & Index in \char`\"{}hosts\char`\"{} array marking the SCTP Primary Address, -\/1 if no explicit Primary Address set \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative otherwise 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()}.

\mbox{\label{osmo__ss7_8h_a5f7cd03bf480ca74d5ad2c9a6a0d8f46}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_peer\_snprintf@{osmo\_ss7\_asp\_peer\_snprintf}}
\index{osmo\_ss7\_asp\_peer\_snprintf@{osmo\_ss7\_asp\_peer\_snprintf}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_peer\_snprintf()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf,  }\item[{size\+\_\+t}]{buf\+\_\+len,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer} $\ast$}]{peer }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::idx\+\_\+primary}, \textbf{ len}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind()}, \textbf{ show\+\_\+one\+\_\+asp()}, and \textbf{ vty\+\_\+dump\+\_\+xua\+\_\+server()}.

\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{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ ss7\+\_\+asp\+\_\+alloc()}, \textbf{ write\+\_\+one\+\_\+as()}, and \textbf{ write\+\_\+one\+\_\+asp()}.

\mbox{\label{osmo__ss7_8h_a6d09b26e33e8838594e0374976769f6e}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_protocol\_port@{osmo\_ss7\_asp\_protocol\_port}}
\index{osmo\_ss7\_asp\_protocol\_port@{osmo\_ss7\_asp\_protocol\_port}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_protocol\_port()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+port (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{prot }\end{DoxyParamCaption})}



References \textbf{ prot2port}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}.

\mbox{\label{osmo__ss7_8h_a8d3670d7e36042c95611f9bfa0a3b597}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_restart@{osmo\_ss7\_asp\_restart}}
\index{osmo\_ss7\_asp\_restart@{osmo\_ss7\_asp\_restart}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_restart()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+restart (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ ipa\+\_\+cli\+\_\+read\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ LOGPASP}, \textbf{ m3ua\+\_\+tcp\+\_\+cli\+\_\+read\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+attempts\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+attempts\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+init\+\_\+timeo\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+init\+\_\+timeo\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+instreams\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::max\+\_\+instreams\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::num\+\_\+ostreams\+\_\+present}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::num\+\_\+ostreams\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sctp\+\_\+init}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ ss7\+\_\+initialized}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+start()}, \textbf{ xua\+\_\+cli\+\_\+close\+\_\+and\+\_\+reconnect()}, \textbf{ xua\+\_\+cli\+\_\+connect\+\_\+cb()}, \textbf{ xua\+\_\+cli\+\_\+read\+\_\+cb()}, and \textbf{ xua\+\_\+tcp\+\_\+segmentation\+\_\+cb()}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent()}, \textbf{ restart\+\_\+asp()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{osmo__ss7_8h_a4bbbb5047fd067deb34846c6dab99c1f}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_send@{osmo\_ss7\_asp\_send}}
\index{osmo\_ss7\_asp\_send@{osmo\_ss7\_asp\_send}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_send()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+send (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{struct msgb $\ast$}]{msg }\end{DoxyParamCaption})}



send a fully encoded msgb via a given ASP 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em asp} & Application Server Process through which to send \\
\hline
\mbox{\texttt{ in}}  & {\em msg} & message buffer to transmit. Ownership transferred. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative in case of error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::client}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::ctrg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+PPID}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ SS7\+\_\+\+ASP\+\_\+\+CTR\+\_\+\+PKT\+\_\+\+TX\+\_\+\+TOTAL}, \textbf{ ss7\+\_\+initialized}, and \textbf{ SUA\+\_\+\+PPID}.



Referenced by \textbf{ as\+\_\+notify\+\_\+all\+\_\+asp()}, \textbf{ ipa\+\_\+asp\+\_\+fsm\+\_\+wait\+\_\+id\+\_\+get()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+dereg\+\_\+req()}, \textbf{ m3ua\+\_\+rx\+\_\+rkm\+\_\+reg\+\_\+req()}, \textbf{ m3ua\+\_\+tx\+\_\+xua\+\_\+asp()}, \textbf{ notify\+\_\+any\+\_\+other\+\_\+active\+\_\+asp\+\_\+as\+\_\+inactive()}, \textbf{ peer\+\_\+send()}, \textbf{ peer\+\_\+send\+\_\+error()}, \textbf{ sua\+\_\+tx\+\_\+xua\+\_\+asp()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg()}, \textbf{ xua\+\_\+as\+\_\+transmit\+\_\+msg\+\_\+broadcast()}, \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+dereg\+\_\+req()}, and \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req()}.

\mbox{\label{osmo__ss7_8h_af4039d65a094d2cd510a3ed991e05deb}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_use\_default\_lm@{osmo\_ss7\_asp\_use\_default\_lm}}
\index{osmo\_ss7\_asp\_use\_default\_lm@{osmo\_ss7\_asp\_use\_default\_lm}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_use\_default\_lm()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+asp\+\_\+use\+\_\+default\+\_\+lm (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+asp} $\ast$}]{asp,  }\item[{int}]{log\+\_\+level }\end{DoxyParamCaption})}



References \textbf{ lm\+\_\+fsm\+\_\+priv\+::asp}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ default\+\_\+layer\+\_\+manager}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::lm}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::lm\+\_\+priv}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, and \textbf{ xua\+\_\+default\+\_\+lm\+\_\+fsm}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ restart\+\_\+asp()}.

\mbox{\label{osmo__ss7_8h_a72373e61bde57eeafd151102aae20b28}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_ensure\_sccp@{osmo\_ss7\_ensure\_sccp}}
\index{osmo\_ss7\_ensure\_sccp@{osmo\_ss7\_ensure\_sccp}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_ensure\_sccp()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})}



Allocate an SCCP instance, if not present yet. 

\begin{DoxyReturn}{Returns}
inst-\/$>$sccp. 
\end{DoxyReturn}


References \textbf{ LOGSS7}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+create()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()}, and \textbf{ ss7\+\_\+asp\+\_\+alloc()}.

\mbox{\label{osmo__ss7_8h_ad995eb65a7ba20e8d134033669126231}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_find\_free\_rctx@{osmo\_ss7\_find\_free\_rctx}}
\index{osmo\_ss7\_find\_free\_rctx@{osmo\_ss7\_find\_free\_rctx}!osmo\_ss7.h@{osmo\_ss7.h}}
\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_aa0eea948b1e7bbb0764ecc89e5b2a124}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_init@{osmo\_ss7\_init}}
\index{osmo\_ss7\_init@{osmo\_ss7\_init}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_init()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



References \textbf{ ipa\+\_\+asp\+\_\+fsm}, \textbf{ sccp\+\_\+scoc\+\_\+fsm}, \textbf{ ss7\+\_\+initialized}, \textbf{ xua\+\_\+as\+\_\+fsm}, \textbf{ xua\+\_\+asp\+\_\+fsm}, and \textbf{ xua\+\_\+default\+\_\+lm\+\_\+fsm}.

\mbox{\label{osmo__ss7_8h_a55d7a596847108913e0e9e03dbf1a933}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instance\_destroy@{osmo\_ss7\_instance\_destroy}}
\index{osmo\_ss7\_instance\_destroy@{osmo\_ss7\_instance\_destroy}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_instance\_destroy()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+instance\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})}



Destroy a SS7 Instance. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance to be destroyed \\
\hline
\end{DoxyParams}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::linksets}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::list}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy()}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}.

\mbox{\label{osmo__ss7_8h_ac60e71c943c7bff06a27813c2b5ca6c0}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instance\_find@{osmo\_ss7\_instance\_find}}
\index{osmo\_ss7\_instance\_find@{osmo\_ss7\_instance\_find}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_instance\_find()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ osmo\+\_\+ss7\+\_\+instance\+\_\+find (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})}



Find a SS7 Instance with given ID. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em id} & ID for which to search \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxyref{osmo\+\_\+ss7\+\_\+instance}{p.}{structosmo__ss7__instance} on success; NULL on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+instances}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ show\+\_\+asp()}, \textbf{ show\+\_\+asp\+\_\+assoc\+\_\+status()}, and \textbf{ show\+\_\+asp\+\_\+remaddr()}.

\mbox{\label{osmo__ss7_8h_a950f22310d21bb0e18e65b6405b1c135}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instance\_find\_or\_create@{osmo\_ss7\_instance\_find\_or\_create}}
\index{osmo\_ss7\_instance\_find\_or\_create@{osmo\_ss7\_instance\_find\_or\_create}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_instance\_find\_or\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})}



Find or create a SS7 Instance. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ctx} & talloc allocation context to use for allocations \\
\hline
\mbox{\texttt{ in}}  & {\em id} & ID of SS7 Instance \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxyref{osmo\+\_\+ss7\+\_\+instance}{p.}{structosmo__ss7__instance} on success; NULL on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::as\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::delimiter}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::linksets}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::list}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+instances}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PC\+\_\+\+INVALID}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp\+\_\+address\+\_\+book}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::secondary\+\_\+pc}, \textbf{ ss7\+\_\+initialized}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::xua\+\_\+servers}.



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_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_ac343e7f4ac0757285d3ed4f842f52d6e}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_is\_config\_node@{osmo\_ss7\_is\_config\_node}}
\index{osmo\_ss7\_is\_config\_node@{osmo\_ss7\_is\_config\_node}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_is\_config\_node()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+is\+\_\+config\+\_\+node (\begin{DoxyParamCaption}\item[{struct vty $\ast$}]{vty,  }\item[{int}]{node }\end{DoxyParamCaption})}

\mbox{\label{osmo__ss7_8h_a876684805361a41edbf929ffff212f53}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_link\_destroy@{osmo\_ss7\_link\_destroy}}
\index{osmo\_ss7\_link\_destroy@{osmo\_ss7\_link\_destroy}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_link\_destroy()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+link\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+link} $\ast$}]{link }\end{DoxyParamCaption})}



Destroy SS7 Link. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em link} & SS7 Link to be destroyed \\
\hline
\end{DoxyParams}


References \textbf{ osmo\+\_\+ss7\+\_\+link\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+link\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::links}, \textbf{ osmo\+\_\+ss7\+\_\+link\+::linkset}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy()}.

\mbox{\label{osmo__ss7_8h_adcbf669dbaa0b0fa4bb5a64951abc1f1}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_link\_find\_or\_create@{osmo\_ss7\_link\_find\_or\_create}}
\index{osmo\_ss7\_link\_find\_or\_create@{osmo\_ss7\_link\_find\_or\_create}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_link\_find\_or\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+link} $\ast$ osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$}]{lset,  }\item[{uint32\+\_\+t}]{id }\end{DoxyParamCaption})}



Find or create SS7 Link with given ID in given Linkset. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em lset} & SS7 Linkset on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em id} & Link number within Linkset \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to SS7 Link on success; NULL on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+link\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+link\+::id}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::links}, \textbf{ osmo\+\_\+ss7\+\_\+link\+::linkset}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, and \textbf{ ss7\+\_\+initialized}.

\mbox{\label{osmo__ss7_8h_abf73f9c25c19c4b7e7ff671a0ffffca6}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_linkset\_destroy@{osmo\_ss7\_linkset\_destroy}}
\index{osmo\_ss7\_linkset\_destroy@{osmo\_ss7\_linkset\_destroy}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_linkset\_destroy()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$}]{lset }\end{DoxyParamCaption})}



Destroy a SS7 Linkset. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em lset} & Linkset to be destroyed \\
\hline
\end{DoxyParams}


References \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::links}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, and \textbf{ ss7\+\_\+initialized}.



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

\mbox{\label{osmo__ss7_8h_ae45e9dcf6d5f75e9e9b4b0dec44075e7}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_linkset\_find\_by\_name@{osmo\_ss7\_linkset\_find\_by\_name}}
\index{osmo\_ss7\_linkset\_find\_by\_name@{osmo\_ss7\_linkset\_find\_by\_name}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_linkset\_find\_by\_name()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Find SS7 Linkset by given name. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance in which to look \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Name of SS7 Linkset \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to linkset on success; NULL on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::linksets}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create()}, and \textbf{ ss7\+\_\+route\+\_\+set\+\_\+linkset()}.

\mbox{\label{osmo__ss7_8h_ae1677bbefe015c08684fa2bdf003596e}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_linkset\_find\_or\_create@{osmo\_ss7\_linkset\_find\_or\_create}}
\index{osmo\_ss7\_linkset\_find\_or\_create@{osmo\_ss7\_linkset\_find\_or\_create}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_linkset\_find\_or\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name,  }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})}



Find or allocate SS7 Linkset. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance in which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Name of SS7 Linkset \\
\hline
\mbox{\texttt{ in}}  & {\em pc} & Adjacent Pointcode \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to Linkset on success; NULL on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::adjacent\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::linksets}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::list}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name()}, and \textbf{ ss7\+\_\+initialized}.

\mbox{\label{osmo__ss7_8h_a4f143ec50e7ae5bfdf6ff1cf5ada7b75}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_mtp\_to\_user@{osmo\_ss7\_mtp\_to\_user}}
\index{osmo\_ss7\_mtp\_to\_user@{osmo\_ss7\_mtp\_to\_user}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_mtp\_to\_user()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+mtp\+\_\+to\+\_\+user (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$}]{omp }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+user\+::inst}, \textbf{ MTP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ osmo\+\_\+ss7\+\_\+user\+::name}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+MTP\+\_\+\+PRIM\+\_\+\+TRANSFER}, \textbf{ osmo\+\_\+ss7\+\_\+user\+::prim\+\_\+cb}, \textbf{ osmo\+\_\+ss7\+\_\+user\+::priv}, \textbf{ osmo\+\_\+mtp\+\_\+transfer\+\_\+param\+::sio}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::transfer}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::u}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::user}.

\mbox{\label{osmo__ss7_8h_ae5e0610394ffcbdbd4be7006ab04205e}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_pc\_is\_local@{osmo\_ss7\_pc\_is\_local}}
\index{osmo\_ss7\_pc\_is\_local@{osmo\_ss7\_pc\_is\_local}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_pc\_is\_local()}
{\footnotesize\ttfamily bool osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::secondary\+\_\+pc}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2()}, \textbf{ sccp\+\_\+sclc\+\_\+rx\+\_\+scrc\+\_\+rout\+\_\+fail()}, \textbf{ scrc\+\_\+local\+\_\+out\+\_\+common()}, and \textbf{ scrc\+\_\+translate\+\_\+node\+\_\+9()}.

\mbox{\label{osmo__ss7_8h_a26d0122847290712aa22ebf3a37468fd}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_pc\_is\_valid@{osmo\_ss7\_pc\_is\_valid}}
\index{osmo\_ss7\_pc\_is\_valid@{osmo\_ss7\_pc\_is\_valid}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_pc\_is\_valid()}
{\footnotesize\ttfamily static bool osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}, \textbf{ sccp\+\_\+user\+\_\+find()}, \textbf{ show\+\_\+user()}, \textbf{ sua2sccp\+\_\+tx\+\_\+m3ua()}, \textbf{ vty\+\_\+show\+\_\+connection()}, and \textbf{ write\+\_\+one\+\_\+cs7()}.

\mbox{\label{osmo__ss7_8h_a63840039b641779d68a0010bc7f24fd5}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_pc\_normalize@{osmo\_ss7\_pc\_normalize}}
\index{osmo\_ss7\_pc\_normalize@{osmo\_ss7\_pc\_normalize}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_pc\_normalize()}
{\footnotesize\ttfamily uint32\+\_\+t osmo\+\_\+ss7\+\_\+pc\+\_\+normalize (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt,  }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask()}, and \textbf{ ss7\+\_\+route\+\_\+alloc()}.

\mbox{\label{osmo__ss7_8h_a9cc83a7969a30ca6748f27cf0b442e5e}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_pc\_width@{osmo\_ss7\_pc\_width}}
\index{osmo\_ss7\_pc\_width@{osmo\_ss7\_pc\_width}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_pc\_width()}
{\footnotesize\ttfamily uint8\+\_\+t osmo\+\_\+ss7\+\_\+pc\+\_\+width (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}.



Referenced by \textbf{ get\+\_\+pc\+\_\+comp\+\_\+shift()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}.

\mbox{\label{osmo__ss7_8h_a5c8b8efb97b4c3651223fffb5ad07e42}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_pointcode\_parse@{osmo\_ss7\_pointcode\_parse}}
\index{osmo\_ss7\_pointcode\_parse@{osmo\_ss7\_pointcode\_parse}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_pointcode\_parse()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}, \textbf{ default\+\_\+pc\+\_\+fmt}, \textbf{ gen\+\_\+pc\+\_\+fmtstr()}, \textbf{ get\+\_\+pc\+\_\+comp\+\_\+shift()}, \textbf{ LOGSS7}, \textbf{ num\+\_\+pc\+\_\+comp\+\_\+exp()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}.



Referenced by \textbf{ \+\_\+rout\+\_\+key()}, \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len()}.

\mbox{\label{osmo__ss7_8h_a20d09e0dbfb82c1b496fa63c11c1ee28}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_pointcode\_parse\_mask\_or\_len@{osmo\_ss7\_pointcode\_parse\_mask\_or\_len}}
\index{osmo\_ss7\_pointcode\_parse\_mask\_or\_len@{osmo\_ss7\_pointcode\_parse\_mask\_or\_len}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_pointcode\_parse\_mask\_or\_len()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{in }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ default\+\_\+pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}.



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

\mbox{\label{osmo__ss7_8h_accae8bcfd3577b2fcae21c55d97be313}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_pointcode\_print@{osmo\_ss7\_pointcode\_print}}
\index{osmo\_ss7\_pointcode\_print@{osmo\_ss7\_pointcode\_print}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_pointcode\_print()}
{\footnotesize\ttfamily const char $\ast$ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})}



References \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}.



Referenced by \textbf{ DEFUN()}, \textbf{ format\+\_\+affected\+\_\+pcs\+\_\+c()}, \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}, \textbf{ ipa\+\_\+del\+\_\+route()}, \textbf{ m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2()}, \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+unbind()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}, \textbf{ sccp\+\_\+addr\+\_\+to\+\_\+str\+\_\+buf()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc()}, \textbf{ sccp\+\_\+user\+\_\+bind\+\_\+pc()}, \textbf{ scrc\+\_\+node\+\_\+6()}, \textbf{ show\+\_\+user()}, \textbf{ ss7\+\_\+route\+\_\+insert()}, \textbf{ ss7\+\_\+route\+\_\+set\+\_\+linkset()}, \textbf{ vty\+\_\+show\+\_\+connection()}, \textbf{ write\+\_\+one\+\_\+as()}, \textbf{ write\+\_\+one\+\_\+cs7()}, \textbf{ write\+\_\+one\+\_\+rtable()}, \textbf{ write\+\_\+sccp\+\_\+addressbook()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+dupu()}.

\mbox{\label{osmo__ss7_8h_a9c9283afabd1e1566f511e66698ea44d}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_pointcode\_print2@{osmo\_ss7\_pointcode\_print2}}
\index{osmo\_ss7\_pointcode\_print2@{osmo\_ss7\_pointcode\_print2}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_pointcode\_print2()}
{\footnotesize\ttfamily const char $\ast$ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2 (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})}



References \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}.



Referenced by \textbf{ m3ua\+\_\+rx\+\_\+xfer()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}, \textbf{ sccp\+\_\+scoc\+\_\+rx\+\_\+inval\+\_\+opc()}, and \textbf{ write\+\_\+one\+\_\+rtable()}.

\mbox{\label{osmo__ss7_8h_a9e0728851ea1553fe1e6e1075a836175}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_pointcode\_print\_buf@{osmo\_ss7\_pointcode\_print\_buf}}
\index{osmo\_ss7\_pointcode\_print\_buf@{osmo\_ss7\_pointcode\_print\_buf}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_pointcode\_print\_buf()}
{\footnotesize\ttfamily const char $\ast$ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf,  }\item[{size\+\_\+t}]{buf\+\_\+len,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ default\+\_\+pc\+\_\+fmt}, \textbf{ gen\+\_\+pc\+\_\+fmtstr()}, \textbf{ len}, \textbf{ num\+\_\+pc\+\_\+comp\+\_\+exp()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+valid()}, \textbf{ pc\+\_\+comp\+\_\+shift\+\_\+and\+\_\+mask()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}.

\mbox{\label{osmo__ss7_8h_aa24cea8083d06097c1655a38a36e0a17}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_register\_rx\_unknown\_cb@{osmo\_ss7\_register\_rx\_unknown\_cb}}
\index{osmo\_ss7\_register\_rx\_unknown\_cb@{osmo\_ss7\_register\_rx\_unknown\_cb}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_register\_rx\_unknown\_cb()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+register\+\_\+rx\+\_\+unknown\+\_\+cb (\begin{DoxyParamCaption}\item[{\textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb} $\ast$}]{cb }\end{DoxyParamCaption})}



Register a call-\/back function for unknown SCTP PPID / IPA Stream ID. 



References \textbf{ g\+\_\+osmo\+\_\+ss7\+\_\+asp\+\_\+rx\+\_\+unknown\+\_\+cb}.

\mbox{\label{osmo__ss7_8h_afd27f97ad739566a54e0689ef0fdf014}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_create@{osmo\_ss7\_route\_create}}
\index{osmo\_ss7\_route\_create@{osmo\_ss7\_route\_create}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{pc,  }\item[{uint32\+\_\+t}]{mask,  }\item[{const char $\ast$}]{linkset\+\_\+name }\end{DoxyParamCaption})}



Create a new route in the given routing table. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em rtbl} & Routing Table in which the route is to be created \\
\hline
\mbox{\texttt{ in}}  & {\em pc} & Point Code of the destination of the route \\
\hline
\mbox{\texttt{ in}}  & {\em mask} & Mask of the destination Point Code pc \\
\hline
\mbox{\texttt{ in}}  & {\em linkset\+\_\+name} & string name of the linkset to be used \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
callee-\/allocated + initialized route, NULL on error
\end{DoxyReturn}
The route allocated and returned by this API is already inserted into the routing table, with priority and qos-\/class set to 0. If you plan to use different values for priority and qos-\/class, avoid using this API and use \doxyref{ss7\+\_\+route\+\_\+alloc()}{p.}{osmo__ss7_8c_ae40a7c0d3c3310101a0cc8c0d51770d2} + \doxyref{ss7\+\_\+route\+\_\+set\+\_\+linkset()}{p.}{osmo__ss7_8c_a46ccd2320c3e917d0e9bef6b90e78601} + \doxyref{ss7\+\_\+route\+\_\+insert()}{p.}{osmo__ss7_8c_acf75f3605c463d7c4cef4e73257194ab} instead. 

References \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset\+\_\+name}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ ss7\+\_\+route\+\_\+alloc()}, \textbf{ ss7\+\_\+route\+\_\+insert()}, and \textbf{ ss7\+\_\+route\+\_\+set\+\_\+linkset()}.



Referenced by \textbf{ \+\_\+rout\+\_\+key()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ ipa\+\_\+add\+\_\+route()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}.

\mbox{\label{osmo__ss7_8h_a2e5f54771a9bb3a14a5aea6b19d99922}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_destroy@{osmo\_ss7\_route\_destroy}}
\index{osmo\_ss7\_route\_destroy@{osmo\_ss7\_route\_destroy}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_destroy()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+route\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})}



Destroy a given SS7 route. 



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset\+\_\+name}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, \textbf{ ss7\+\_\+initialized}, and \textbf{ ss7\+\_\+route\+\_\+inserted()}.



Referenced by \textbf{ \+\_\+rout\+\_\+key()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ handle\+\_\+rkey\+\_\+reg()}, \textbf{ ipa\+\_\+del\+\_\+route()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, and \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy()}.

\mbox{\label{osmo__ss7_8h_a12f230e8e251817dc7427f808b0fc085}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_find\_dpc@{osmo\_ss7\_route\_find\_dpc}}
\index{osmo\_ss7\_route\_find\_dpc@{osmo\_ss7\_route\_find\_dpc}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_find\_dpc()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})}



Find a SS7 route for given destination point code in given table. 



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ handle\+\_\+rkey\+\_\+dereg()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup()}.

\mbox{\label{osmo__ss7_8h_ae436343c9cba67ee9e6b98993d061067}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_find\_dpc\_mask@{osmo\_ss7\_route\_find\_dpc\_mask}}
\index{osmo\_ss7\_route\_find\_dpc\_mask@{osmo\_ss7\_route\_find\_dpc\_mask}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_find\_dpc\_mask()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint32\+\_\+t}]{mask }\end{DoxyParamCaption})}



Find a SS7 route for given destination point code + mask in given table. 



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ \+\_\+rout\+\_\+key()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ ipa\+\_\+add\+\_\+route()}, \textbf{ ipa\+\_\+del\+\_\+route()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}, and \textbf{ ss7\+\_\+route\+\_\+insert()}.

\mbox{\label{osmo__ss7_8h_a75a8cf8f7186081400da51a00106e8da}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_lookup@{osmo\_ss7\_route\_lookup}}
\index{osmo\_ss7\_route\_lookup@{osmo\_ss7\_route\_lookup}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_lookup()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+lookup (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})}



Find a SS7 route for given destination point code in given SS7. 



References \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+system}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua()}, \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}.

\mbox{\label{osmo__ss7_8h_a286e2d2dfc24375cf83db56c67fe0ea2}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_name@{osmo\_ss7\_route\_name}}
\index{osmo\_ss7\_route\_name@{osmo\_ss7\_route\_name}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_name()}
{\footnotesize\ttfamily const char $\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt,  }\item[{bool}]{list\+\_\+asps }\end{DoxyParamCaption})}



Return human readable representation of the route, in a static buffer. 

This uses both \doxyref{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}{p.}{osmo__ss7_8h_accae8bcfd3577b2fcae21c55d97be313} and \doxyref{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}{p.}{osmo__ss7_8h_a9c9283afabd1e1566f511e66698ea44d}, so pairing \doxyref{osmo\+\_\+ss7\+\_\+route\+\_\+name()}{p.}{osmo__ss7__hmrt_8c_a286e2d2dfc24375cf83db56c67fe0ea2} with \doxyref{osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}{p.}{osmo__ss7_8h_accae8bcfd3577b2fcae21c55d97be313} in the same printf statement is likely to conflict. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em rt} & The route information to print, or NULL. \\
\hline
\mbox{\texttt{ in}}  & {\em list\+\_\+asps} & If true, append info for all ASPs for the route\textquotesingle{}s AS. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string constant or static buffer. 
\end{DoxyReturn}


References \textbf{ APPEND}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::asps}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sock\+\_\+name}.



Referenced by \textbf{ hmrt\+\_\+message\+\_\+for\+\_\+routing()}.

\mbox{\label{osmo__ss7_8h_a57312ff6631501f256d1108b89ebf71a}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_print@{osmo\_ss7\_route\_print}}
\index{osmo\_ss7\_route\_print@{osmo\_ss7\_route\_print}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_print()}
{\footnotesize\ttfamily const char $\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+print (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print2()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, and \textbf{ u32\+\_\+masklen()}.



Referenced by \textbf{ vty\+\_\+dump\+\_\+rtable()}.

\mbox{\label{osmo__ss7_8h_aa75722ad470c3d8981b765df9a3f5e97}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_table\_destroy@{osmo\_ss7\_route\_table\_destroy}}
\index{osmo\_ss7\_route\_table\_destroy@{osmo\_ss7\_route\_table\_destroy}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_table\_destroy()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::list}.

\mbox{\label{osmo__ss7_8h_af84d1e1ef504099f47818c411c89f62b}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_table\_find@{osmo\_ss7\_route\_table\_find}}
\index{osmo\_ss7\_route\_table\_find@{osmo\_ss7\_route\_table\_find}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_table\_find()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()}.

\mbox{\label{osmo__ss7_8h_abcb3f11c47161e51cfb6bdf639f75da8}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_route\_table\_find\_or\_create@{osmo\_ss7\_route\_table\_find\_or\_create}}
\index{osmo\_ss7\_route\_table\_find\_or\_create@{osmo\_ss7\_route\_table\_find\_or\_create}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_route\_table\_find\_or\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::list}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}.

\mbox{\label{osmo__ss7_8h_af325ee0eb2ff3e3df09cc7e49b6bb6b9}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_tmode\_from\_xua@{osmo\_ss7\_tmode\_from\_xua}}
\index{osmo\_ss7\_tmode\_from\_xua@{osmo\_ss7\_tmode\_from\_xua}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_tmode\_from\_xua()}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{in }\end{DoxyParamCaption})}



References \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}.



Referenced by \textbf{ handle\+\_\+rkey\+\_\+reg()}, and \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+inactive()}.

\mbox{\label{osmo__ss7_8h_a41c5d0c1bcae4257834073d3c109f12c}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_tmode\_to\_xua@{osmo\_ss7\_tmode\_to\_xua}}
\index{osmo\_ss7\_tmode\_to\_xua@{osmo\_ss7\_tmode\_to\_xua}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_tmode\_to\_xua()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode}}]{tmod }\end{DoxyParamCaption})}



References \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+LOADSHARE}, \textbf{ M3\+UA\+\_\+\+TMOD\+\_\+\+OVERRIDE}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+BCAST}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+LOADSHARE}, and \textbf{ OSMO\+\_\+\+SS7\+\_\+\+AS\+\_\+\+TMOD\+\_\+\+OVERRIDE}.



Referenced by \textbf{ peer\+\_\+send()}, and \textbf{ xua\+\_\+rkm\+\_\+send\+\_\+reg\+\_\+req()}.

\mbox{\label{osmo__ss7_8h_a6e0fa32ebbd3aeba25b800146a76bbc7}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_mtp\_xfer\_req@{osmo\_ss7\_user\_mtp\_xfer\_req}}
\index{osmo\_ss7\_user\_mtp\_xfer\_req@{osmo\_ss7\_user\_mtp\_xfer\_req}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_user\_mtp\_xfer\_req()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+user\+\_\+mtp\+\_\+xfer\+\_\+req (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{struct \textbf{ osmo\+\_\+mtp\+\_\+prim} $\ast$}]{omp }\end{DoxyParamCaption})}



References \textbf{ m3ua\+\_\+hmdc\+\_\+rx\+\_\+from\+\_\+l2()}, \textbf{ xua\+\_\+msg\+::mtp}, \textbf{ mtp\+\_\+prim\+\_\+to\+\_\+m3ua()}, \textbf{ MTP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+MTP\+\_\+\+PRIM\+\_\+\+TRANSFER}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::transfer}, \textbf{ osmo\+\_\+mtp\+\_\+prim\+::u}, and \textbf{ xua\+\_\+msg\+\_\+free()}.



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

\mbox{\label{osmo__ss7_8h_a22d4d3245ada246e0d50da10c9281d28}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_register@{osmo\_ss7\_user\_register}}
\index{osmo\_ss7\_user\_register@{osmo\_ss7\_user\_register}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_user\_register()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+user\+\_\+register (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint8\+\_\+t}]{service\+\_\+ind,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user }\end{DoxyParamCaption})}



Register a MTP user for a given service indicator. 


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


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



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

\mbox{\label{osmo__ss7_8h_a47b75b30c8c07818f2c67a28a3dc74c9}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_user\_unregister@{osmo\_ss7\_user\_unregister}}
\index{osmo\_ss7\_user\_unregister@{osmo\_ss7\_user\_unregister}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_user\_unregister()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+user\+\_\+unregister (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{uint8\+\_\+t}]{service\+\_\+ind,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+user} $\ast$}]{user }\end{DoxyParamCaption})}



Unregister a MTP user for a given service indicator. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 instance for which we register the user \\
\hline
\mbox{\texttt{ in}}  & {\em service\+\_\+ind} & Service (ISUP, SCCP, ...) \\
\hline
\mbox{\texttt{ in}}  & {\em user} & (optional) SS7 user. If present, we will not unregister other users \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success; negative on error 
\end{DoxyReturn}


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



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

\mbox{\label{osmo__ss7_8h_abdfadd0c1cd0b7d847f9f01e4a4c9134}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_vty\_go\_parent@{osmo\_ss7\_vty\_go\_parent}}
\index{osmo\_ss7\_vty\_go\_parent@{osmo\_ss7\_vty\_go\_parent}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_vty\_go\_parent()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent (\begin{DoxyParamCaption}\item[{struct vty $\ast$}]{vty }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::inst}, \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind()}, \textbf{ ss7\+\_\+asp\+\_\+set\+\_\+default\+\_\+peer\+\_\+hosts()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts()}.

\mbox{\label{osmo__ss7_8h_af4d60a28bd339b50f8b0077b2479b2d4}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_vty\_init\_asp@{osmo\_ss7\_vty\_init\_asp}}
\index{osmo\_ss7\_vty\_init\_asp@{osmo\_ss7\_vty\_init\_asp}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_vty\_init\_asp()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+asp (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})}



References \textbf{ cs7\+\_\+role}, \textbf{ CS7\+\_\+\+ROLE\+\_\+\+ASP}, and \textbf{ vty\+\_\+init\+\_\+shared()}.

\mbox{\label{osmo__ss7_8h_a1c0ba46e8ee2cfa470db9be9b620ce9a}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_vty\_init\_sg@{osmo\_ss7\_vty\_init\_sg}}
\index{osmo\_ss7\_vty\_init\_sg@{osmo\_ss7\_vty\_init\_sg}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_vty\_init\_sg()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+vty\+\_\+init\+\_\+sg (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})}



References \textbf{ cs7\+\_\+role}, \textbf{ CS7\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ rtable\+\_\+node}, \textbf{ vty\+\_\+init\+\_\+shared()}, and \textbf{ xua\+\_\+node}.

\mbox{\label{osmo__ss7_8h_a318b39d0f350e34da5bd5b4d9a4a38fd}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_add\_local\_host@{osmo\_ss7\_xua\_server\_add\_local\_host}}
\index{osmo\_ss7\_xua\_server\_add\_local\_host@{osmo\_ss7\_xua\_server\_add\_local\_host}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_add\_local\_host()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs,  }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host()}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::server}.



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

\mbox{\label{osmo__ss7_8h_abf0d6146779911d066a27685e262133f}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_bind@{osmo\_ss7\_xua\_server\_bind}}
\index{osmo\_ss7\_xua\_server\_bind@{osmo\_ss7\_xua\_server\_bind}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_bind()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs }\end{DoxyParamCaption})}



Set the x\+UA server to bind/listen to the currently configured ip/port. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em xs} & x\+UA server to operate \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, negative value on error. 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ osmo\+\_\+xua\+\_\+server\+::max\+\_\+instreams\+\_\+present}, \textbf{ osmo\+\_\+xua\+\_\+server\+::max\+\_\+instreams\+\_\+value}, \textbf{ osmo\+\_\+xua\+\_\+server\+::num\+\_\+ostreams\+\_\+present}, \textbf{ osmo\+\_\+xua\+\_\+server\+::num\+\_\+ostreams\+\_\+value}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+snprintf()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals}, \textbf{ osmo\+\_\+xua\+\_\+server\+::proto}, \textbf{ osmo\+\_\+xua\+\_\+server\+::sctp\+\_\+init}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::server}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+ss7\+\_\+vty\+\_\+go\+\_\+parent()}.

\mbox{\label{osmo__ss7_8h_a0af3ad5912e43a7369f2ba883ffcbb42}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_create@{osmo\_ss7\_xua\_server\_create}}
\index{osmo\_ss7\_xua\_server\_create@{osmo\_ss7\_xua\_server\_create}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto,  }\item[{uint16\+\_\+t}]{local\+\_\+port,  }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})}



create a new x\+UA server configured with given ip/port 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ctx} & talloc allocation context \\
\hline
\mbox{\texttt{ in}}  & {\em proto} & protocol (x\+UA variant) to use \\
\hline
\mbox{\texttt{ in}}  & {\em local\+\_\+port} & local SCTP port to bind/listen to \\
\hline
\mbox{\texttt{ in}}  & {\em local\+\_\+host} & local IP address to bind/listen to (optional) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
callee-\/allocated \doxyref{osmo\+\_\+xua\+\_\+server}{p.}{structosmo__xua__server} in case of success 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ osmo\+\_\+xua\+\_\+server\+::proto}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}.

\mbox{\label{osmo__ss7_8h_a4263d99d71c327e16853c4a857a2abc9}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_create2@{osmo\_ss7\_xua\_server\_create2}}
\index{osmo\_ss7\_xua\_server\_create2@{osmo\_ss7\_xua\_server\_create2}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_create2()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{int}]{trans\+\_\+proto,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto,  }\item[{uint16\+\_\+t}]{local\+\_\+port,  }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})}



create a new x\+UA server configured with given ip/port 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em trans\+\_\+proto} & transport protocol to use (one of IPPROTO\+\_\+$\ast$) \\
\hline
\mbox{\texttt{ in}}  & {\em proto} & protocol (x\+UA variant) to use \\
\hline
\mbox{\texttt{ in}}  & {\em local\+\_\+port} & local SCTP port to bind/listen to \\
\hline
\mbox{\texttt{ in}}  & {\em local\+\_\+host} & local IP address to bind/listen to (optional) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
callee-\/allocated \doxyref{osmo\+\_\+xua\+\_\+server}{p.}{structosmo__xua__server} in case of success 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+xua\+\_\+server\+::asp\+\_\+list}, \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}, \textbf{ osmo\+\_\+xua\+\_\+server\+::list}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+SUA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals}, \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+xua\+\_\+server\+::proto}, \textbf{ osmo\+\_\+xua\+\_\+server\+::server}, \textbf{ ss7\+\_\+asp\+\_\+protocol\+\_\+check\+\_\+trans\+\_\+proto()}, \textbf{ ss7\+\_\+initialized}, \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}, \textbf{ xua\+\_\+accept\+\_\+cb()}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::xua\+\_\+servers}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create()}.

\mbox{\label{osmo__ss7_8h_a9ecc8a3d9ff669d07fedd11dccc67782}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_del\_local\_host@{osmo\_ss7\_xua\_server\_del\_local\_host}}
\index{osmo\_ss7\_xua\_server\_del\_local\_host@{osmo\_ss7\_xua\_server\_del\_local\_host}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_del\_local\_host()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs,  }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host()}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::server}.



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

\mbox{\label{osmo__ss7_8h_a27173446ba8d82c930840a6e3a8202d4}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_destroy@{osmo\_ss7\_xua\_server\_destroy}}
\index{osmo\_ss7\_xua\_server\_destroy@{osmo\_ss7\_xua\_server\_destroy}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_destroy()}
{\footnotesize\ttfamily void osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+xua\+\_\+server\+::asp\+\_\+list}, \textbf{ osmo\+\_\+xua\+\_\+server\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+xua\+\_\+server\+::server}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::siblings}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}.

\mbox{\label{osmo__ss7_8h_a2e024874caa91c9952beaa26bc0fa2d7}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_find@{osmo\_ss7\_xua\_server\_find}}
\index{osmo\_ss7\_xua\_server\_find@{osmo\_ss7\_xua\_server\_find}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_find()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto,  }\item[{uint16\+\_\+t}]{local\+\_\+port }\end{DoxyParamCaption})}



find an x\+UA server with the given parameters 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em proto} & protocol (x\+UA variant) in use \\
\hline
\mbox{\texttt{ in}}  & {\em local\+\_\+port} & local port of the server \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxyref{osmo\+\_\+xua\+\_\+server}{p.}{structosmo__xua__server} or NULL (not found) 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2()}, \textbf{ osmo\+\_\+xua\+\_\+server\+::proto}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}.

\mbox{\label{osmo__ss7_8h_a53c6e2047b36e6ec0b6894562edbe11f}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_find2@{osmo\_ss7\_xua\_server\_find2}}
\index{osmo\_ss7\_xua\_server\_find2@{osmo\_ss7\_xua\_server\_find2}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_find2()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2 (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{int}]{trans\+\_\+proto,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol}}]{proto,  }\item[{uint16\+\_\+t}]{local\+\_\+port }\end{DoxyParamCaption})}



find an x\+UA server with the given parameters 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em inst} & SS7 Instance on which we operate \\
\hline
\mbox{\texttt{ in}}  & {\em trans\+\_\+proto} & transport protocol in use (one of IPPROTO\+\_\+$\ast$) \\
\hline
\mbox{\texttt{ in}}  & {\em proto} & protocol (x\+UA variant) in use \\
\hline
\mbox{\texttt{ in}}  & {\em local\+\_\+port} & local port of the server \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxyref{osmo\+\_\+xua\+\_\+server}{p.}{structosmo__xua__server} or NULL (not found) 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}, \textbf{ osmo\+\_\+xua\+\_\+server\+::list}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+xua\+\_\+server\+::proto}, \textbf{ ss7\+\_\+initialized}, \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::xua\+\_\+servers}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+add\+\_\+clnt()}, and \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find()}.

\mbox{\label{osmo__ss7_8h_ae97d2ba8d01c1819acad4f085c846bf8}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_set\_local\_host@{osmo\_ss7\_xua\_server\_set\_local\_host}}
\index{osmo\_ss7\_xua\_server\_set\_local\_host@{osmo\_ss7\_xua\_server\_set\_local\_host}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_set\_local\_host()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs,  }\item[{const char $\ast$}]{local\+\_\+host }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()}, and \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts()}.

\mbox{\label{osmo__ss7_8h_a6baf9122fc63dcf51ee9de5cc8fd7663}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_xua\_server\_set\_local\_hosts@{osmo\_ss7\_xua\_server\_set\_local\_hosts}}
\index{osmo\_ss7\_xua\_server\_set\_local\_hosts@{osmo\_ss7\_xua\_server\_set\_local\_hosts}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_xua\_server\_set\_local\_hosts()}
{\footnotesize\ttfamily int osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs,  }\item[{const char $\ast$$\ast$}]{local\+\_\+hosts,  }\item[{size\+\_\+t}]{local\+\_\+host\+\_\+cnt }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()}, \textbf{ osmo\+\_\+xua\+\_\+server\+::server}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host()}.



\doxysubsection{Variable Documentation}
\mbox{\label{osmo__ss7_8h_a41be4c98feb2b819cbc41e9f378ef8e2}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_as\_traffic\_mode\_vals@{osmo\_ss7\_as\_traffic\_mode\_vals}}
\index{osmo\_ss7\_as\_traffic\_mode\_vals@{osmo\_ss7\_as\_traffic\_mode\_vals}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_as\_traffic\_mode\_vals}
{\footnotesize\ttfamily struct value\+\_\+string osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+vals[$\,$]\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ DEFUN\+\_\+\+USRATTR()}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode\+\_\+name()}.

\mbox{\label{osmo__ss7_8h_a41380c47cdda3f98c55d1a93e6071a6b}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_protocol\_vals@{osmo\_ss7\_asp\_protocol\_vals}}
\index{osmo\_ss7\_asp\_protocol\_vals@{osmo\_ss7\_asp\_protocol\_vals}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_protocol\_vals}
{\footnotesize\ttfamily struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals[$\,$]\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+bind()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ parse\+\_\+asp\+\_\+proto()}, \textbf{ show\+\_\+one\+\_\+asp()}, \textbf{ vty\+\_\+dump\+\_\+xua\+\_\+server()}, \textbf{ write\+\_\+one\+\_\+xua()}, and \textbf{ xua\+\_\+accept\+\_\+cb()}.

\mbox{\label{osmo__ss7_8h_a617cc4818ccf1e2d74ff0e012975ce30}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_asp\_role\_names@{osmo\_ss7\_asp\_role\_names}}
\index{osmo\_ss7\_asp\_role\_names@{osmo\_ss7\_asp\_role\_names}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_asp\_role\_names}
{\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+ss7\+\_\+asp\+\_\+role\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ show\+\_\+one\+\_\+asp()}, and \textbf{ write\+\_\+one\+\_\+asp()}.

\mbox{\label{osmo__ss7_8h_a8bde19e6cde8f784d4bb249da25e8eeb}} 
\index{osmo\_ss7.h@{osmo\_ss7.h}!osmo\_ss7\_instances@{osmo\_ss7\_instances}}
\index{osmo\_ss7\_instances@{osmo\_ss7\_instances}!osmo\_ss7.h@{osmo\_ss7.h}}
\doxysubsubsection{osmo\_ss7\_instances}
{\footnotesize\ttfamily struct llist\+\_\+head osmo\+\_\+ss7\+\_\+instances\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ \+\_\+show\+\_\+cs7\+\_\+xua()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr()}, and \textbf{ write\+\_\+all\+\_\+cs7()}.

