\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{1 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{2 }
\DoxyCodeLine{3 \textcolor{preprocessor}{\#include <stdint.h>}}
\DoxyCodeLine{4 \textcolor{preprocessor}{\#include <unistd.h>}}
\DoxyCodeLine{5 \textcolor{preprocessor}{\#include <osmocom/core/defs.h>}}
\DoxyCodeLine{6 \textcolor{preprocessor}{\#include <osmocom/core/linuxlist.h>}}
\DoxyCodeLine{7 \textcolor{preprocessor}{\#include <osmocom/core/prim.h>}}
\DoxyCodeLine{8 \textcolor{preprocessor}{\#include <osmocom/netif/stream.h>}}
\DoxyCodeLine{9 }
\DoxyCodeLine{10 \textcolor{preprocessor}{\#include <osmocom/sigtran/osmo\_ss7.h>}}
\DoxyCodeLine{11 }
\DoxyCodeLine{12 \textcolor{comment}{/***********************************************************************}}
\DoxyCodeLine{13 \textcolor{comment}{ * xUA Servers}}
\DoxyCodeLine{14 \textcolor{comment}{ ***********************************************************************/}}
\DoxyCodeLine{15 }
\DoxyCodeLine{16 \textcolor{keyword}{struct }osmo\_ss7\_instance;}
\DoxyCodeLine{17 }
\DoxyCodeLine{18 \textcolor{keyword}{struct }osmo\_xua\_server \{}
\DoxyCodeLine{19         \textcolor{keyword}{struct }llist\_head list;}
\DoxyCodeLine{20         \textcolor{keyword}{struct }osmo\_ss7\_instance *inst;}
\DoxyCodeLine{21 }
\DoxyCodeLine{22         \textcolor{comment}{/* list of ASPs established via this server */}}
\DoxyCodeLine{23         \textcolor{keyword}{struct }llist\_head asp\_list;}
\DoxyCodeLine{24 }
\DoxyCodeLine{25         \textcolor{keyword}{struct }osmo\_stream\_srv\_link *server;}
\DoxyCodeLine{26 }
\DoxyCodeLine{27         \textcolor{keyword}{struct }\{}
\DoxyCodeLine{28                 \textcolor{keywordtype}{bool} accept\_dyn\_reg;}
\DoxyCodeLine{29                 \textcolor{keyword}{struct }osmo\_ss7\_asp\_peer local;}
\DoxyCodeLine{30                 \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto;}
\DoxyCodeLine{31                 \textcolor{keyword}{struct }\{}
\DoxyCodeLine{32                         \textcolor{keywordtype}{bool} num\_ostreams\_present;}
\DoxyCodeLine{33                         \textcolor{keywordtype}{bool} max\_instreams\_present;}
\DoxyCodeLine{34                         uint16\_t num\_ostreams\_value;}
\DoxyCodeLine{35                         uint16\_t max\_instreams\_value;}
\DoxyCodeLine{36                 \} sctp\_init;}
\DoxyCodeLine{37 }
\DoxyCodeLine{39                 \textcolor{keywordtype}{int} trans\_proto;}
\DoxyCodeLine{40         \} cfg;}
\DoxyCodeLine{41 \};}
\DoxyCodeLine{42 }
\DoxyCodeLine{43 \textcolor{keyword}{struct }osmo\_xua\_server *}
\DoxyCodeLine{44 ss7\_xua\_server\_find(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst,}
\DoxyCodeLine{45                          \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto,}
\DoxyCodeLine{46                          uint16\_t local\_port)}
\DoxyCodeLine{47         OSMO\_DEPRECATED(\textcolor{stringliteral}{"{}Use ss7\_xua\_server\_find2() instead"{}});}
\DoxyCodeLine{48 \textcolor{keyword}{struct }osmo\_xua\_server *}
\DoxyCodeLine{49 ss7\_xua\_server\_find2(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst,}
\DoxyCodeLine{50                           \textcolor{keywordtype}{int} trans\_proto,}
\DoxyCodeLine{51                           \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto,}
\DoxyCodeLine{52                           uint16\_t local\_port);}
\DoxyCodeLine{53 }
\DoxyCodeLine{54 \textcolor{keyword}{struct }osmo\_xua\_server *}
\DoxyCodeLine{55 ss7\_xua\_server\_create(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst,}
\DoxyCodeLine{56                            \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto,}
\DoxyCodeLine{57                            uint16\_t local\_port, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *local\_host)}
\DoxyCodeLine{58         OSMO\_DEPRECATED(\textcolor{stringliteral}{"{}Use ss7\_xua\_server\_create2() instead"{}});}
\DoxyCodeLine{59 \textcolor{keyword}{struct }osmo\_xua\_server *}
\DoxyCodeLine{60 ss7\_xua\_server\_create2(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst,}
\DoxyCodeLine{61                             \textcolor{keywordtype}{int} trans\_proto, \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto,}
\DoxyCodeLine{62                             uint16\_t local\_port, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *local\_host);}
\DoxyCodeLine{63 }
\DoxyCodeLine{64 \textcolor{keywordtype}{int}}
\DoxyCodeLine{65 ss7\_xua\_server\_bind(\textcolor{keyword}{struct} osmo\_xua\_server *xs);}
\DoxyCodeLine{66 }
\DoxyCodeLine{67 \textcolor{keywordtype}{int}}
\DoxyCodeLine{68 ss7\_xua\_server\_set\_local\_host(\textcolor{keyword}{struct} osmo\_xua\_server *xs, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *local\_host);}
\DoxyCodeLine{69 \textcolor{keywordtype}{int}}
\DoxyCodeLine{70 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{71 \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{72 \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{73 \textcolor{keywordtype}{void} ss7\_xua\_server\_destroy(\textcolor{keyword}{struct} osmo\_xua\_server *xs);}
\DoxyCodeLine{74 }
\DoxyCodeLine{75 \textcolor{keywordtype}{bool} ss7\_xua\_server\_set\_default\_local\_hosts(\textcolor{keyword}{struct} osmo\_xua\_server *oxs);}

\end{DoxyCode}
