\doxysection{ss7\+\_\+xua\+\_\+srv.\+h}
\label{ss7__xua__srv_8h_source}\index{src/ss7\_xua\_srv.h@{src/ss7\_xua\_srv.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00002\ }
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ <stdint.h>}}
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ <unistd.h>}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <osmocom/core/defs.h>}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ <osmocom/core/linuxlist.h>}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ <osmocom/core/prim.h>}}
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ <osmocom/netif/stream.h>}}
\DoxyCodeLine{00009\ }
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ <osmocom/sigtran/osmo\_ss7.h>}}
\DoxyCodeLine{00011\ }
\DoxyCodeLine{00012\ \textcolor{comment}{/***********************************************************************}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ *\ xUA\ Servers}}
\DoxyCodeLine{00014\ \textcolor{comment}{\ ***********************************************************************/}}
\DoxyCodeLine{00015\ }
\DoxyCodeLine{00016\ \textcolor{keyword}{struct\ }osmo\_ss7\_instance;}
\DoxyCodeLine{00017\ }
\DoxyCodeLine{00018\ \textcolor{keyword}{struct\ }osmo\_xua\_layer\_manager\ \{}
\DoxyCodeLine{00019\ \ \ \ \ \ \ \ \ osmo\_prim\_cb\ prim\_cb;}
\DoxyCodeLine{00020\ \};}
\DoxyCodeLine{00021\ }
\DoxyCodeLine{00022\ \textcolor{keyword}{struct\ }osmo\_xua\_server\ \{}
\DoxyCodeLine{00023\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }llist\_head\ list;}
\DoxyCodeLine{00024\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_ss7\_instance\ *inst;}
\DoxyCodeLine{00025\ }
\DoxyCodeLine{00026\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ list\ of\ ASPs\ established\ via\ this\ server\ */}}
\DoxyCodeLine{00027\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }llist\_head\ asp\_list;}
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00029\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_stream\_srv\_link\ *server;}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00031\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{00032\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ accept\_dyn\_reg;}
\DoxyCodeLine{00033\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_ss7\_asp\_peer\ local;}
\DoxyCodeLine{00034\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum}\ osmo\_ss7\_asp\_protocol\ proto;}
\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{00036\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ num\_ostreams\_present;}
\DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ max\_instreams\_present;}
\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ num\_ostreams\_value;}
\DoxyCodeLine{00039\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ max\_instreams\_value;}
\DoxyCodeLine{00040\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ sctp\_init;}
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ trans\_proto;}
\DoxyCodeLine{00044\ \ \ \ \ \ \ \ \ \}\ cfg;}
\DoxyCodeLine{00045\ \};}
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00047\ \textcolor{keyword}{struct\ }osmo\_xua\_server\ *}
\DoxyCodeLine{00048\ ss7\_xua\_server\_find(\textcolor{keyword}{struct}\ osmo\_ss7\_instance\ *inst,}
\DoxyCodeLine{00049\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum}\ osmo\_ss7\_asp\_protocol\ proto,}
\DoxyCodeLine{00050\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ local\_port)}
\DoxyCodeLine{00051\ \ \ \ \ \ \ \ \ OSMO\_DEPRECATED(\textcolor{stringliteral}{"{}Use\ ss7\_xua\_server\_find2()\ instead"{}});}
\DoxyCodeLine{00052\ \textcolor{keyword}{struct\ }osmo\_xua\_server\ *}
\DoxyCodeLine{00053\ ss7\_xua\_server\_find2(\textcolor{keyword}{struct}\ osmo\_ss7\_instance\ *inst,}
\DoxyCodeLine{00054\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ trans\_proto,}
\DoxyCodeLine{00055\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum}\ osmo\_ss7\_asp\_protocol\ proto,}
\DoxyCodeLine{00056\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ local\_port);}
\DoxyCodeLine{00057\ }
\DoxyCodeLine{00058\ \textcolor{keyword}{struct\ }osmo\_xua\_server\ *}
\DoxyCodeLine{00059\ ss7\_xua\_server\_create(\textcolor{keyword}{struct}\ osmo\_ss7\_instance\ *inst,}
\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum}\ osmo\_ss7\_asp\_protocol\ proto,}
\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ local\_port,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *local\_host)}
\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ OSMO\_DEPRECATED(\textcolor{stringliteral}{"{}Use\ ss7\_xua\_server\_create2()\ instead"{}});}
\DoxyCodeLine{00063\ \textcolor{keyword}{struct\ }osmo\_xua\_server\ *}
\DoxyCodeLine{00064\ ss7\_xua\_server\_create2(\textcolor{keyword}{struct}\ osmo\_ss7\_instance\ *inst,}
\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ trans\_proto,\ \textcolor{keyword}{enum}\ osmo\_ss7\_asp\_protocol\ proto,}
\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ local\_port,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *local\_host);}
\DoxyCodeLine{00067\ }
\DoxyCodeLine{00068\ \textcolor{keywordtype}{int}}
\DoxyCodeLine{00069\ ss7\_xua\_server\_bind(\textcolor{keyword}{struct}\ osmo\_xua\_server\ *xs);}
\DoxyCodeLine{00070\ }
\DoxyCodeLine{00071\ \textcolor{keywordtype}{int}}
\DoxyCodeLine{00072\ ss7\_xua\_server\_set\_local\_host(\textcolor{keyword}{struct}\ osmo\_xua\_server\ *xs,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *local\_host);}
\DoxyCodeLine{00073\ \textcolor{keywordtype}{int}}
\DoxyCodeLine{00074\ ss7\_xua\_server\_set\_local\_hosts(\textcolor{keyword}{struct}\ osmo\_xua\_server\ *xs,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ **local\_hosts,\ \textcolor{keywordtype}{size\_t}\ local\_host\_cnt);}
\DoxyCodeLine{00075\ \textcolor{keywordtype}{int}\ ss7\_xua\_server\_add\_local\_host(\textcolor{keyword}{struct}\ osmo\_xua\_server\ *xs,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *local\_host);}
\DoxyCodeLine{00076\ \textcolor{keywordtype}{int}\ ss7\_xua\_server\_del\_local\_host(\textcolor{keyword}{struct}\ osmo\_xua\_server\ *xs,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *local\_host);}
\DoxyCodeLine{00077\ \textcolor{keywordtype}{void}\ ss7\_xua\_server\_destroy(\textcolor{keyword}{struct}\ osmo\_xua\_server\ *xs);}
\DoxyCodeLine{00078\ }
\DoxyCodeLine{00079\ \textcolor{keywordtype}{bool}\ ss7\_xua\_server\_set\_default\_local\_hosts(\textcolor{keyword}{struct}\ osmo\_xua\_server\ *oxs);}

\end{DoxyCode}
