\doxysection{src/ss7\+\_\+xua\+\_\+srv.c File Reference}
\label{ss7__xua__srv_8c}\index{src/ss7\_xua\_srv.c@{src/ss7\_xua\_srv.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/core/osmo\+\_\+io.\+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\+\_\+asp.\+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
{\ttfamily \#include \char`\"{}ss7\+\_\+xua\+\_\+srv.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static int \textbf{ xua\+\_\+accept\+\_\+cb} (struct osmo\+\_\+stream\+\_\+srv\+\_\+link $\ast$link, int fd)
\item 
struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ 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 
struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ 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)
\begin{DoxyCompactList}\small\item\em create a new x\+UA server configured with given ip/port \end{DoxyCompactList}\item 
static int \textbf{ ss7\+\_\+xua\+\_\+srv\+\_\+apply\+\_\+sctp\+\_\+init\+\_\+pars} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs)
\item 
int \textbf{ 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{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$local\+\_\+host)
\item 
int \textbf{ 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{ ss7\+\_\+xua\+\_\+server\+\_\+add\+\_\+local\+\_\+host} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$local\+\_\+host)
\item 
int \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+del\+\_\+local\+\_\+host} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs, const char $\ast$local\+\_\+host)
\item 
bool \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$oxs)
\item 
void \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+destroy} (struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$xs)
\item 
struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ \textbf{ 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{ 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}\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\label{ss7__xua__srv_8c_a093b3495000b16e53b6cdc5c6db140b1}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_add\_local\_host@{ss7\_xua\_server\_add\_local\_host}}
\index{ss7\_xua\_server\_add\_local\_host@{ss7\_xua\_server\_add\_local\_host}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_add\_local\_host()}
{\footnotesize\ttfamily int 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\+\_\+xua\+\_\+server\+::server}, and \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+add\+\_\+host()}.



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

\mbox{\label{ss7__xua__srv_8c_a3e6e716ce0141559c49128e5ffed191e}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_bind@{ss7\_xua\_server\_bind}}
\index{ss7\_xua\_server\_bind@{ss7\_xua\_server\_bind}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_bind()}
{\footnotesize\ttfamily int 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\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals}, \textbf{ osmo\+\_\+xua\+\_\+server\+::proto}, \textbf{ osmo\+\_\+xua\+\_\+server\+::server}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+snprintf()}, \textbf{ ss7\+\_\+xua\+\_\+srv\+\_\+apply\+\_\+sctp\+\_\+init\+\_\+pars()}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}.



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

\mbox{\label{ss7__xua__srv_8c_a02c6a3e62759d733bc4e3ef9926ba7bf}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_create@{ss7\_xua\_server\_create}}
\index{ss7\_xua\_server\_create@{ss7\_xua\_server\_create}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ 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\+\_\+xua\+\_\+server\+::proto}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}.

\mbox{\label{ss7__xua__srv_8c_a2dce885ff13aac6806be17b2cb924b73}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_create2@{ss7\_xua\_server\_create2}}
\index{ss7\_xua\_server\_create2@{ss7\_xua\_server\_create2}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_create2()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ 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{ NULL}, \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\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+xua\+\_\+server\+::proto}, \textbf{ osmo\+\_\+xua\+\_\+server\+::server}, \textbf{ ss7\+\_\+asp\+\_\+protocol\+\_\+check\+\_\+trans\+\_\+proto()}, \textbf{ ss7\+\_\+initialized}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+host()}, \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{ ss7\+\_\+xua\+\_\+server\+\_\+create()}.

\mbox{\label{ss7__xua__srv_8c_a9445002bcf4adfa8783d4159ed04b5b7}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_del\_local\_host@{ss7\_xua\_server\_del\_local\_host}}
\index{ss7\_xua\_server\_del\_local\_host@{ss7\_xua\_server\_del\_local\_host}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_del\_local\_host()}
{\footnotesize\ttfamily int 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\+\_\+xua\+\_\+server\+::server}, and \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+del\+\_\+host()}.



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

\mbox{\label{ss7__xua__srv_8c_ad607ae450b068204e1eef8f71bf52998}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_destroy@{ss7\_xua\_server\_destroy}}
\index{ss7\_xua\_server\_destroy@{ss7\_xua\_server\_destroy}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_destroy()}
{\footnotesize\ttfamily void 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{ NULL}, \textbf{ osmo\+\_\+xua\+\_\+server\+::server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::siblings}, and \textbf{ ss7\+\_\+asp\+\_\+disconnect\+\_\+stream()}.



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

\mbox{\label{ss7__xua__srv_8c_a77aed5bad1459cbc813c23c561114b37}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_find@{ss7\_xua\_server\_find}}
\index{ss7\_xua\_server\_find@{ss7\_xua\_server\_find}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_find()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ 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\+\_\+xua\+\_\+server\+::proto}, \textbf{ ss7\+\_\+default\+\_\+trans\+\_\+proto\+\_\+for\+\_\+asp\+\_\+proto()}, \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+find2()}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}.

\mbox{\label{ss7__xua__srv_8c_aef0646dac717666f52e32f2fa2697df5}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_find2@{ss7\_xua\_server\_find2}}
\index{ss7\_xua\_server\_find2@{ss7\_xua\_server\_find2}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_find2()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$ 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{ NULL}, \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{ ss7\+\_\+xua\+\_\+server\+\_\+find()}.

\mbox{\label{ss7__xua__srv_8c_a9bffae77f1a675fbe61bd792d646c474}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_set\_default\_local\_hosts@{ss7\_xua\_server\_set\_default\_local\_hosts}}
\index{ss7\_xua\_server\_set\_default\_local\_hosts@{ss7\_xua\_server\_set\_default\_local\_hosts}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_set\_default\_local\_hosts()}
{\footnotesize\ttfamily bool ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+default\+\_\+local\+\_\+hosts (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{oxs }\end{DoxyParamCaption})}



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



Referenced by \textbf{ ss7\+\_\+vty\+\_\+node\+\_\+oxs\+\_\+go\+\_\+parent()}.

\mbox{\label{ss7__xua__srv_8c_adb0dee178fa027c4796490f26e148a27}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_set\_local\_host@{ss7\_xua\_server\_set\_local\_host}}
\index{ss7\_xua\_server\_set\_local\_host@{ss7\_xua\_server\_set\_local\_host}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_set\_local\_host()}
{\footnotesize\ttfamily int 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{ ss7\+\_\+xua\+\_\+server\+\_\+set\+\_\+local\+\_\+hosts()}.



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

\mbox{\label{ss7__xua__srv_8c_a21620846a4a2265e17a27da68ac72275}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_server\_set\_local\_hosts@{ss7\_xua\_server\_set\_local\_hosts}}
\index{ss7\_xua\_server\_set\_local\_hosts@{ss7\_xua\_server\_set\_local\_hosts}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_server\_set\_local\_hosts()}
{\footnotesize\ttfamily int 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\+\_\+xua\+\_\+server\+::server}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()}, and \textbf{ ss7\+\_\+initialized}.



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

\mbox{\label{ss7__xua__srv_8c_aae3f99ee355720142d24b8b1341b08fe}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!ss7\_xua\_srv\_apply\_sctp\_init\_pars@{ss7\_xua\_srv\_apply\_sctp\_init\_pars}}
\index{ss7\_xua\_srv\_apply\_sctp\_init\_pars@{ss7\_xua\_srv\_apply\_sctp\_init\_pars}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{ss7\_xua\_srv\_apply\_sctp\_init\_pars()}
{\footnotesize\ttfamily static int ss7\+\_\+xua\+\_\+srv\+\_\+apply\+\_\+sctp\+\_\+init\+\_\+pars (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+xua\+\_\+server} $\ast$}]{xs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \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\+\_\+xua\+\_\+server\+::sctp\+\_\+init}, and \textbf{ osmo\+\_\+xua\+\_\+server\+::server}.



Referenced by \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+bind()}.

\mbox{\label{ss7__xua__srv_8c_ac53c7d59ea8e1bb4b855ac893ff7e407}} 
\index{ss7\_xua\_srv.c@{ss7\_xua\_srv.c}!xua\_accept\_cb@{xua\_accept\_cb}}
\index{xua\_accept\_cb@{xua\_accept\_cb}!ss7\_xua\_srv.c@{ss7\_xua\_srv.c}}
\doxysubsubsection{xua\_accept\_cb()}
{\footnotesize\ttfamily static int xua\+\_\+accept\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+stream\+\_\+srv\+\_\+link $\ast$}]{link,  }\item[{int}]{fd }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+xua\+\_\+server\+::accept\+\_\+dyn\+\_\+reg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::adm\+\_\+state}, \textbf{ osmo\+\_\+xua\+\_\+server\+::asp\+\_\+list}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::cfg}, \textbf{ osmo\+\_\+xua\+\_\+server\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::dyn\+\_\+allocated}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::fi}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::host\+\_\+cnt}, \textbf{ osmo\+\_\+xua\+\_\+server\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::is\+\_\+server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::local}, \textbf{ osmo\+\_\+xua\+\_\+server\+::local}, \textbf{ LOGPASP}, \textbf{ M3\+UA\+\_\+\+MSG\+\_\+\+HEADROOM}, \textbf{ M3\+UA\+\_\+\+MSG\+\_\+\+SIZE}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::name}, \textbf{ NULL}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ADM\+\_\+\+S\+\_\+\+SHUTDOWN}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+admin\+\_\+state\+\_\+names}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+find\+\_\+or\+\_\+create2()}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+IPA}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+PROT\+\_\+\+M3\+UA}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+protocol\+\_\+vals}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+ASP\+\_\+\+ROLE\+\_\+\+SG}, \textbf{ OSMO\+\_\+\+XLM\+\_\+\+PRIM\+\_\+\+M\+\_\+\+SCTP\+\_\+\+ESTABLISH}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+\_\+peer\+::port}, \textbf{ osmo\+\_\+xua\+\_\+server\+::proto}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::remote}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::role}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::server}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::siblings}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::sock\+\_\+name}, \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+peer\+\_\+primary\+\_\+address()}, \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+primary\+\_\+address()}, \textbf{ ss7\+\_\+asp\+\_\+apply\+\_\+tcp\+\_\+pars()}, \textbf{ ss7\+\_\+asp\+\_\+disconnect\+\_\+stream()}, \textbf{ ss7\+\_\+asp\+\_\+find\+\_\+by\+\_\+socket\+\_\+addr()}, \textbf{ ss7\+\_\+asp\+\_\+ipa\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, \textbf{ ss7\+\_\+asp\+\_\+m3ua\+\_\+tcp\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, \textbf{ ss7\+\_\+asp\+\_\+peer\+\_\+set\+\_\+hosts()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+closed\+\_\+cb()}, \textbf{ ss7\+\_\+asp\+\_\+xua\+\_\+srv\+\_\+conn\+\_\+rx\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::trans\+\_\+proto}, \textbf{ osmo\+\_\+xua\+\_\+server\+::trans\+\_\+proto}, \textbf{ XUA\+\_\+\+ASP\+\_\+\+E\+\_\+\+SCTP\+\_\+\+EST\+\_\+\+IND}, \textbf{ xua\+\_\+asp\+\_\+fsm\+\_\+start()}, \textbf{ xua\+\_\+asp\+\_\+send\+\_\+xlm\+\_\+prim\+\_\+simple()}, \textbf{ osmo\+\_\+ss7\+\_\+asp\+::xua\+\_\+server}, and \textbf{ xua\+\_\+tcp\+\_\+segmentation\+\_\+cb()}.



Referenced by \textbf{ ss7\+\_\+xua\+\_\+server\+\_\+create2()}.

