\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{ osmo\+\_\+ss7\+\_\+asp\+\_\+destroy()}, \textbf{ osmo\+\_\+xua\+\_\+server\+::server}, and \textbf{ osmo\+\_\+ss7\+\_\+asp\+::siblings}. Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, and \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+server\+\_\+on\+\_\+ss7\+\_\+id()}. \mbox{\label{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\+\_\+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()}.