\doxysection{src/osmo\+\_\+ss7.c File Reference}
\label{osmo__ss7_8c}\index{src/osmo\_ss7.c@{src/osmo\_ss7.c}}
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$unistd.\+h$>$}\newline
{\ttfamily \#include $<$inttypes.\+h$>$}\newline
{\ttfamily \#include $<$netdb.\+h$>$}\newline
{\ttfamily \#include $<$netinet/in.\+h$>$}\newline
{\ttfamily \#include $<$netinet/sctp.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/mtp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/mtp.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/m3ua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/select.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/talloc.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/socket.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/sockaddr\+\_\+str.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/netif/stream.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/netif/ipa.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/netif/sctp.\+h$>$}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+asp\+\_\+fsm.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+as\+\_\+fsm.\+h\char`\"{}}\newline
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}~32
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ LLIST\+\_\+\+HEAD} (\textbf{ osmo\+\_\+ss7\+\_\+instances})
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst)
\item 
uint32\+\_\+t \textbf{ ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst)
\item 
static int \textbf{ strnappendchar} (char $\ast$str, char c, size\+\_\+t n)
\item 
static const char $\ast$ \textbf{ gen\+\_\+pc\+\_\+fmtstr} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt, unsigned int $\ast$num\+\_\+comp\+\_\+exp)
\item 
static unsigned int \textbf{ num\+\_\+pc\+\_\+comp\+\_\+exp} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt)
\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 
static unsigned int \textbf{ get\+\_\+pc\+\_\+comp\+\_\+shift} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt, unsigned int comp\+\_\+num)
\item 
static uint32\+\_\+t \textbf{ pc\+\_\+comp\+\_\+shift\+\_\+and\+\_\+mask} (const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$pc\+\_\+fmt, unsigned int comp\+\_\+num, uint32\+\_\+t pc)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$str)
\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf} (char $\ast$buf, size\+\_\+t \textbf{ 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 
int \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$in)
\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 
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 
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 
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 
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\+\_\+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 
static void \textbf{ route\+\_\+insert\+\_\+sorted} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$cmp)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t pc, 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 
static unsigned int \textbf{ count\+\_\+leading\+\_\+one\+\_\+bits} (uint32\+\_\+t inp, unsigned int nbits)
\item 
static int \textbf{ u32\+\_\+masklen} (uint32\+\_\+t mask, unsigned int nbits)
\item 
const char $\ast$ \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt)
\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 
bool \textbf{ ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported} (const char $\ast$host, bool bind)
\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\+\_\+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} (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)
\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 
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)
\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\+\_\+find} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, 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 
bool \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, uint32\+\_\+t pc)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+init} (void)
\item 
int \textbf{ osmo\+\_\+ss7\+\_\+tmode\+\_\+to\+\_\+xua} (enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} tmod)
\item 
enum \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+traffic\+\_\+mode} \textbf{ osmo\+\_\+ss7\+\_\+tmode\+\_\+from\+\_\+xua} (uint32\+\_\+t in)
\item 
bool \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+tmode\+\_\+compatible\+\_\+xua} (struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, uint32\+\_\+t m3ua\+\_\+tmt)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
bool \textbf{ ss7\+\_\+initialized} = false
\item 
static int32\+\_\+t \textbf{ next\+\_\+rctx} = 1
\item 
static int32\+\_\+t \textbf{ next\+\_\+l\+\_\+rk\+\_\+id} = 1
\item 
const struct value\+\_\+string \textbf{ mtp\+\_\+unavail\+\_\+cause\+\_\+vals} [$\,$]
\item 
static const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} \textbf{ default\+\_\+pc\+\_\+fmt}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{osmo__ss7_8c_aa23a2021f836728938fefac9cca3aec5}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!MAX\_PC\_STR\_LEN@{MAX\_PC\_STR\_LEN}}
\index{MAX\_PC\_STR\_LEN@{MAX\_PC\_STR\_LEN}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{MAX\_PC\_STR\_LEN}
{\footnotesize\ttfamily \#define MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN~32}



\doxysubsection{Function Documentation}
\mbox{\label{osmo__ss7_8c_a6f2fdcae0d3e5278f51ab44f674ab0eb}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!count\_leading\_one\_bits@{count\_leading\_one\_bits}}
\index{count\_leading\_one\_bits@{count\_leading\_one\_bits}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{count\_leading\_one\_bits()}
{\footnotesize\ttfamily static unsigned int count\+\_\+leading\+\_\+one\+\_\+bits (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{inp,  }\item[{unsigned int}]{nbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ u32\+\_\+masklen()}.

\mbox{\label{osmo__ss7_8c_aabb5ff7e5820e268a941510bd387fce2}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!gen\_pc\_fmtstr@{gen\_pc\_fmtstr}}
\index{gen\_pc\_fmtstr@{gen\_pc\_fmtstr}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{gen\_pc\_fmtstr()}
{\footnotesize\ttfamily static const char $\ast$ gen\+\_\+pc\+\_\+fmtstr (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt,  }\item[{unsigned int $\ast$}]{num\+\_\+comp\+\_\+exp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::delimiter}, \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, and \textbf{ strnappendchar()}.



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

\mbox{\label{osmo__ss7_8c_ae2dc16490ad0d3a263aa80160bc36828}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!get\_pc\_comp\_shift@{get\_pc\_comp\_shift}}
\index{get\_pc\_comp\_shift@{get\_pc\_comp\_shift}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{get\_pc\_comp\_shift()}
{\footnotesize\ttfamily static unsigned int get\+\_\+pc\+\_\+comp\+\_\+shift (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt,  }\item[{unsigned int}]{comp\+\_\+num }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}, and \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+width()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse()}, and \textbf{ pc\+\_\+comp\+\_\+shift\+\_\+and\+\_\+mask()}.

\mbox{\label{osmo__ss7_8c_a9f0ebdc6d2b270403d8616275fa12314}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!LLIST\_HEAD@{LLIST\_HEAD}}
\index{LLIST\_HEAD@{LLIST\_HEAD}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{LLIST\_HEAD()}
{\footnotesize\ttfamily LLIST\+\_\+\+HEAD (\begin{DoxyParamCaption}\item[{\textbf{ osmo\+\_\+ss7\+\_\+instances}}]{ }\end{DoxyParamCaption})}

\mbox{\label{osmo__ss7_8c_abf3c0ef5eb29ad67de6ea862d7e2cfed}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!num\_pc\_comp\_exp@{num\_pc\_comp\_exp}}
\index{num\_pc\_comp\_exp@{num\_pc\_comp\_exp}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{num\_pc\_comp\_exp()}
{\footnotesize\ttfamily static unsigned int num\+\_\+pc\+\_\+comp\+\_\+exp (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



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

\mbox{\label{osmo__ss7_8c_a4425a62d1138a1face7ce0f4461c1811}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_a04274a80653a9a83afd823b31c55e6c6}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}.

\mbox{\label{osmo__ss7_8c_a36cd354a3665015410895188d3d2afaa}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_a62014d2e42c76eb8e16ed079240a550a}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_adeeee1a2cbcab7653a422473d4d59950}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_ae1ce394b6ad89efe1d723f0eda142333}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_a237f11eac97e4d4fd1464c9e6217cb63}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_asp\_find@{osmo\_ss7\_asp\_find}}
\index{osmo\_ss7\_asp\_find@{osmo\_ss7\_asp\_find}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a6d441982a917c3e081e48333cd5b5cb0}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_asp\_find2@{osmo\_ss7\_asp\_find2}}
\index{osmo\_ss7\_asp\_find2@{osmo\_ss7\_asp\_find2}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a3c7622dd0920b73b1de4bacb1466a31d}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_acff40fa25f195d4b065214ede9d5a200}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_a4f361e41e148a1235e41e989a6a3e5ef}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_abcef629eaf44fa0a9580dbaf79614b10}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_a72373e61bde57eeafd151102aae20b28}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_ensure\_sccp@{osmo\_ss7\_ensure\_sccp}}
\index{osmo\_ss7\_ensure\_sccp@{osmo\_ss7\_ensure\_sccp}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_ad995eb65a7ba20e8d134033669126231}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_find\_free\_rctx@{osmo\_ss7\_find\_free\_rctx}}
\index{osmo\_ss7\_find\_free\_rctx@{osmo\_ss7\_find\_free\_rctx}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_aa0eea948b1e7bbb0764ecc89e5b2a124}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_init@{osmo\_ss7\_init}}
\index{osmo\_ss7\_init@{osmo\_ss7\_init}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a55d7a596847108913e0e9e03dbf1a933}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_instance\_destroy@{osmo\_ss7\_instance\_destroy}}
\index{osmo\_ss7\_instance\_destroy@{osmo\_ss7\_instance\_destroy}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_ac60e71c943c7bff06a27813c2b5ca6c0}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_instance\_find@{osmo\_ss7\_instance\_find}}
\index{osmo\_ss7\_instance\_find@{osmo\_ss7\_instance\_find}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a950f22310d21bb0e18e65b6405b1c135}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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{ 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_8c_adc19747b6de70d033959ee3cf5d26bdf}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_a876684805361a41edbf929ffff212f53}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_link\_destroy@{osmo\_ss7\_link\_destroy}}
\index{osmo\_ss7\_link\_destroy@{osmo\_ss7\_link\_destroy}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_adcbf669dbaa0b0fa4bb5a64951abc1f1}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_abf73f9c25c19c4b7e7ff671a0ffffca6}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_linkset\_destroy@{osmo\_ss7\_linkset\_destroy}}
\index{osmo\_ss7\_linkset\_destroy@{osmo\_ss7\_linkset\_destroy}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_ae45e9dcf6d5f75e9e9b4b0dec44075e7}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}.

\mbox{\label{osmo__ss7_8c_ae1677bbefe015c08684fa2bdf003596e}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_a4f143ec50e7ae5bfdf6ff1cf5ada7b75}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_mtp\_to\_user@{osmo\_ss7\_mtp\_to\_user}}
\index{osmo\_ss7\_mtp\_to\_user@{osmo\_ss7\_mtp\_to\_user}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_ae5e0610394ffcbdbd4be7006ab04205e}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_pc\_is\_local@{osmo\_ss7\_pc\_is\_local}}
\index{osmo\_ss7\_pc\_is\_local@{osmo\_ss7\_pc\_is\_local}!osmo\_ss7.c@{osmo\_ss7.c}}
\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}, 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_8c_a63840039b641779d68a0010bc7f24fd5}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_pc\_normalize@{osmo\_ss7\_pc\_normalize}}
\index{osmo\_ss7\_pc\_normalize@{osmo\_ss7\_pc\_normalize}!osmo\_ss7.c@{osmo\_ss7.c}}
\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\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask()}.

\mbox{\label{osmo__ss7_8c_a9cc83a7969a30ca6748f27cf0b442e5e}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_pc\_width@{osmo\_ss7\_pc\_width}}
\index{osmo\_ss7\_pc\_width@{osmo\_ss7\_pc\_width}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a5c8b8efb97b4c3651223fffb5ad07e42}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_pointcode\_parse@{osmo\_ss7\_pointcode\_parse}}
\index{osmo\_ss7\_pointcode\_parse@{osmo\_ss7\_pointcode\_parse}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a20d09e0dbfb82c1b496fa63c11c1ee28}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_accae8bcfd3577b2fcae21c55d97be313}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_pointcode\_print@{osmo\_ss7\_pointcode\_print}}
\index{osmo\_ss7\_pointcode\_print@{osmo\_ss7\_pointcode\_print}!osmo\_ss7.c@{osmo\_ss7.c}}
\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\+\_\+create()}, \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{ 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_8c_a9c9283afabd1e1566f511e66698ea44d}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_pointcode\_print2@{osmo\_ss7\_pointcode\_print2}}
\index{osmo\_ss7\_pointcode\_print2@{osmo\_ss7\_pointcode\_print2}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_ae328ce407109fdd25911be8750f56694}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_pointcode\_print\_buf@{osmo\_ss7\_pointcode\_print\_buf}}
\index{osmo\_ss7\_pointcode\_print\_buf@{osmo\_ss7\_pointcode\_print\_buf}!osmo\_ss7.c@{osmo\_ss7.c}}
\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}]{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_8c_aada16dfeab4c8652137590117af5972f}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_route\_create@{osmo\_ss7\_route\_create}}
\index{osmo\_ss7\_route\_create@{osmo\_ss7\_route\_create}!osmo\_ss7.c@{osmo\_ss7.c}}
\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}
caller-\/allocated + initialized route, NULL on error 
\end{DoxyReturn}


References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset\+\_\+name}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ route\+\_\+insert\+\_\+sorted()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::rtable}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ \+\_\+rout\+\_\+key()}, \textbf{ DEFUN\+\_\+\+ATTR()}, \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_8c_a2e5f54771a9bb3a14a5aea6b19d99922}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_route\_destroy@{osmo\_ss7\_route\_destroy}}
\index{osmo\_ss7\_route\_destroy@{osmo\_ss7\_route\_destroy}!osmo\_ss7.c@{osmo\_ss7.c}}
\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}, and \textbf{ ss7\+\_\+initialized}.



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_8c_a12f230e8e251817dc7427f808b0fc085}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_route\_find\_dpc@{osmo\_ss7\_route\_find\_dpc}}
\index{osmo\_ss7\_route\_find\_dpc@{osmo\_ss7\_route\_find\_dpc}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_ae436343c9cba67ee9e6b98993d061067}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}.

\mbox{\label{osmo__ss7_8c_a75a8cf8f7186081400da51a00106e8da}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_route\_lookup@{osmo\_ss7\_route\_lookup}}
\index{osmo\_ss7\_route\_lookup@{osmo\_ss7\_route\_lookup}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a57312ff6631501f256d1108b89ebf71a}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_route\_print@{osmo\_ss7\_route\_print}}
\index{osmo\_ss7\_route\_print@{osmo\_ss7\_route\_print}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_aa75722ad470c3d8981b765df9a3f5e97}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_route\_table\_destroy@{osmo\_ss7\_route\_table\_destroy}}
\index{osmo\_ss7\_route\_table\_destroy@{osmo\_ss7\_route\_table\_destroy}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_af84d1e1ef504099f47818c411c89f62b}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_route\_table\_find@{osmo\_ss7\_route\_table\_find}}
\index{osmo\_ss7\_route\_table\_find@{osmo\_ss7\_route\_table\_find}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_abcb3f11c47161e51cfb6bdf639f75da8}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!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.c@{osmo\_ss7.c}}
\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_8c_af325ee0eb2ff3e3df09cc7e49b6bb6b9}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_tmode\_from\_xua@{osmo\_ss7\_tmode\_from\_xua}}
\index{osmo\_ss7\_tmode\_from\_xua@{osmo\_ss7\_tmode\_from\_xua}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a41c5d0c1bcae4257834073d3c109f12c}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_tmode\_to\_xua@{osmo\_ss7\_tmode\_to\_xua}}
\index{osmo\_ss7\_tmode\_to\_xua@{osmo\_ss7\_tmode\_to\_xua}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a22d4d3245ada246e0d50da10c9281d28}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_user\_register@{osmo\_ss7\_user\_register}}
\index{osmo\_ss7\_user\_register@{osmo\_ss7\_user\_register}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a47b75b30c8c07818f2c67a28a3dc74c9}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_user\_unregister@{osmo\_ss7\_user\_unregister}}
\index{osmo\_ss7\_user\_unregister@{osmo\_ss7\_user\_unregister}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a92e0479c011b099972c3d0461ca00dc7}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_xua\_server\_find@{osmo\_ss7\_xua\_server\_find}}
\index{osmo\_ss7\_xua\_server\_find@{osmo\_ss7\_xua\_server\_find}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a53c6e2047b36e6ec0b6894562edbe11f}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!osmo\_ss7\_xua\_server\_find2@{osmo\_ss7\_xua\_server\_find2}}
\index{osmo\_ss7\_xua\_server\_find2@{osmo\_ss7\_xua\_server\_find2}!osmo\_ss7.c@{osmo\_ss7.c}}
\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_8c_a505d8cbb59e414f24d56a83a29799a42}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!pc\_comp\_shift\_and\_mask@{pc\_comp\_shift\_and\_mask}}
\index{pc\_comp\_shift\_and\_mask@{pc\_comp\_shift\_and\_mask}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{pc\_comp\_shift\_and\_mask()}
{\footnotesize\ttfamily static uint32\+\_\+t pc\+\_\+comp\+\_\+shift\+\_\+and\+\_\+mask (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} $\ast$}]{pc\+\_\+fmt,  }\item[{unsigned int}]{comp\+\_\+num,  }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt\+::component\+\_\+len}, and \textbf{ get\+\_\+pc\+\_\+comp\+\_\+shift()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}.

\mbox{\label{osmo__ss7_8c_ad0a6fd14ffd12426244051823c5af2d2}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!route\_insert\_sorted@{route\_insert\_sorted}}
\index{route\_insert\_sorted@{route\_insert\_sorted}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{route\_insert\_sorted()}
{\footnotesize\ttfamily static void route\+\_\+insert\+\_\+sorted (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{cmp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::routes}.



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

\mbox{\label{osmo__ss7_8c_a6ecdf4b66511e0d65caedeab81f3f4d3}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!ss7\_find\_free\_l\_rk\_id@{ss7\_find\_free\_l\_rk\_id}}
\index{ss7\_find\_free\_l\_rk\_id@{ss7\_find\_free\_l\_rk\_id}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{ss7\_find\_free\_l\_rk\_id()}
{\footnotesize\ttfamily uint32\+\_\+t ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})}



References \textbf{ next\+\_\+l\+\_\+rk\+\_\+id}, and \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id()}.



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

\mbox{\label{osmo__ss7_8c_a477fa52a1c6b284e17f273c52dbb594c}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!ss7\_ipv6\_sctp\_supported@{ss7\_ipv6\_sctp\_supported}}
\index{ss7\_ipv6\_sctp\_supported@{ss7\_ipv6\_sctp\_supported}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{ss7\_ipv6\_sctp\_supported()}
{\footnotesize\ttfamily bool ss7\+\_\+ipv6\+\_\+sctp\+\_\+supported (\begin{DoxyParamCaption}\item[{const char $\ast$}]{host,  }\item[{bool}]{bind }\end{DoxyParamCaption})}



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

\mbox{\label{osmo__ss7_8c_afadad76c76c0630eed4b7a10b68f2b7c}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!strnappendchar@{strnappendchar}}
\index{strnappendchar@{strnappendchar}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{strnappendchar()}
{\footnotesize\ttfamily static int strnappendchar (\begin{DoxyParamCaption}\item[{char $\ast$}]{str,  }\item[{char}]{c,  }\item[{size\+\_\+t}]{n }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ gen\+\_\+pc\+\_\+fmtstr()}.

\mbox{\label{osmo__ss7_8c_a70c376cdc3ffe5d124ae90fd86f9c491}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!u32\_masklen@{u32\_masklen}}
\index{u32\_masklen@{u32\_masklen}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{u32\_masklen()}
{\footnotesize\ttfamily static int u32\+\_\+masklen (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{mask,  }\item[{unsigned int}]{nbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ count\+\_\+leading\+\_\+one\+\_\+bits()}.



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+print()}.



\doxysubsection{Variable Documentation}
\mbox{\label{osmo__ss7_8c_a7e710ac37bf4c2d56a17e65086ec9684}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!default\_pc\_fmt@{default\_pc\_fmt}}
\index{default\_pc\_fmt@{default\_pc\_fmt}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{default\_pc\_fmt}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+fmt} default\+\_\+pc\+\_\+fmt\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .delimiter = \textcolor{charliteral}{'.'},}
\DoxyCodeLine{        .component\_len = \{ 3, 8, 3\},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse()}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+parse\+\_\+mask\+\_\+or\+\_\+len()}, and \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}.

\mbox{\label{osmo__ss7_8c_aa7ef388acf6473b86619b4eea1ce9654}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!mtp\_unavail\_cause\_vals@{mtp\_unavail\_cause\_vals}}
\index{mtp\_unavail\_cause\_vals@{mtp\_unavail\_cause\_vals}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{mtp\_unavail\_cause\_vals}
{\footnotesize\ttfamily const struct value\+\_\+string mtp\+\_\+unavail\+\_\+cause\+\_\+vals[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ MTP\_UNAVAIL\_C\_UNKNOWN,           \textcolor{stringliteral}{"{}unknown"{}} \},}
\DoxyCodeLine{        \{ MTP\_UNAVAIL\_C\_UNEQUIP\_REM\_USER, \textcolor{stringliteral}{"{}unequipped-\/remote-\/user"{}} \},}
\DoxyCodeLine{        \{ MTP\_UNAVAIL\_C\_INACC\_REM\_USER,             \textcolor{stringliteral}{"{}inaccessible-\/remote-\/user"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ mtp\+\_\+unavail\+\_\+cause\+\_\+str()}.

\mbox{\label{osmo__ss7_8c_a82b1fae92faad2df658d676f19203112}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!next\_l\_rk\_id@{next\_l\_rk\_id}}
\index{next\_l\_rk\_id@{next\_l\_rk\_id}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{next\_l\_rk\_id}
{\footnotesize\ttfamily int32\+\_\+t next\+\_\+l\+\_\+rk\+\_\+id = 1\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ ss7\+\_\+find\+\_\+free\+\_\+l\+\_\+rk\+\_\+id()}.

\mbox{\label{osmo__ss7_8c_ac371d9ef3ce4d17cd66e9f4446879ffc}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!next\_rctx@{next\_rctx}}
\index{next\_rctx@{next\_rctx}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{next\_rctx}
{\footnotesize\ttfamily int32\+\_\+t next\+\_\+rctx = 1\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+find\+\_\+free\+\_\+rctx()}.

\mbox{\label{osmo__ss7_8c_a78806f653f55e3d87d93650a55b5f70a}} 
\index{osmo\_ss7.c@{osmo\_ss7.c}!ss7\_initialized@{ss7\_initialized}}
\index{ss7\_initialized@{ss7\_initialized}!osmo\_ss7.c@{osmo\_ss7.c}}
\doxysubsubsection{ss7\_initialized}
{\footnotesize\ttfamily bool ss7\+\_\+initialized = false}



Referenced by \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+add\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+del\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+l\+\_\+rk\+\_\+id()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+proto()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+by\+\_\+rctx()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+as\+\_\+has\+\_\+asp()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+restart()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+send()}, \textbf{ osmo\+\_\+ss7\+\_\+init()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+link\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+by\+\_\+name()}, \textbf{ osmo\+\_\+ss7\+\_\+linkset\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+is\+\_\+local()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+find\+\_\+dpc\+\_\+mask()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+lookup()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+create2()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+find2()}, \textbf{ osmo\+\_\+ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts()}, and \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr()}.

