\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\_layer\_manager \{}
\DoxyCodeLine{19         osmo\_prim\_cb prim\_cb;}
\DoxyCodeLine{20 \};}
\DoxyCodeLine{21 }
\DoxyCodeLine{22 \textcolor{keyword}{struct }osmo\_xua\_server \{}
\DoxyCodeLine{23         \textcolor{keyword}{struct }llist\_head list;}
\DoxyCodeLine{24         \textcolor{keyword}{struct }osmo\_ss7\_instance *inst;}
\DoxyCodeLine{25 }
\DoxyCodeLine{26         \textcolor{comment}{/* list of ASPs established via this server */}}
\DoxyCodeLine{27         \textcolor{keyword}{struct }llist\_head asp\_list;}
\DoxyCodeLine{28 }
\DoxyCodeLine{29         \textcolor{keyword}{struct }osmo\_stream\_srv\_link *server;}
\DoxyCodeLine{30 }
\DoxyCodeLine{31         \textcolor{keyword}{struct }\{}
\DoxyCodeLine{32                 \textcolor{keywordtype}{bool} accept\_dyn\_reg;}
\DoxyCodeLine{33                 \textcolor{keyword}{struct }osmo\_ss7\_asp\_peer local;}
\DoxyCodeLine{34                 \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto;}
\DoxyCodeLine{35                 \textcolor{keyword}{struct }\{}
\DoxyCodeLine{36                         \textcolor{keywordtype}{bool} num\_ostreams\_present;}
\DoxyCodeLine{37                         \textcolor{keywordtype}{bool} max\_instreams\_present;}
\DoxyCodeLine{38                         uint16\_t num\_ostreams\_value;}
\DoxyCodeLine{39                         uint16\_t max\_instreams\_value;}
\DoxyCodeLine{40                 \} sctp\_init;}
\DoxyCodeLine{41 }
\DoxyCodeLine{43                 \textcolor{keywordtype}{int} trans\_proto;}
\DoxyCodeLine{44         \} cfg;}
\DoxyCodeLine{45 \};}
\DoxyCodeLine{46 }
\DoxyCodeLine{47 \textcolor{keyword}{struct }osmo\_xua\_server *}
\DoxyCodeLine{48 ss7\_xua\_server\_find(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst,}
\DoxyCodeLine{49                          \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto,}
\DoxyCodeLine{50                          uint16\_t local\_port)}
\DoxyCodeLine{51         OSMO\_DEPRECATED(\textcolor{stringliteral}{"{}Use ss7\_xua\_server\_find2() instead"{}});}
\DoxyCodeLine{52 \textcolor{keyword}{struct }osmo\_xua\_server *}
\DoxyCodeLine{53 ss7\_xua\_server\_find2(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst,}
\DoxyCodeLine{54                           \textcolor{keywordtype}{int} trans\_proto,}
\DoxyCodeLine{55                           \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto,}
\DoxyCodeLine{56                           uint16\_t local\_port);}
\DoxyCodeLine{57 }
\DoxyCodeLine{58 \textcolor{keyword}{struct }osmo\_xua\_server *}
\DoxyCodeLine{59 ss7\_xua\_server\_create(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst,}
\DoxyCodeLine{60                            \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto,}
\DoxyCodeLine{61                            uint16\_t local\_port, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *local\_host)}
\DoxyCodeLine{62         OSMO\_DEPRECATED(\textcolor{stringliteral}{"{}Use ss7\_xua\_server\_create2() instead"{}});}
\DoxyCodeLine{63 \textcolor{keyword}{struct }osmo\_xua\_server *}
\DoxyCodeLine{64 ss7\_xua\_server\_create2(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst,}
\DoxyCodeLine{65                             \textcolor{keywordtype}{int} trans\_proto, \textcolor{keyword}{enum} osmo\_ss7\_asp\_protocol proto,}
\DoxyCodeLine{66                             uint16\_t local\_port, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *local\_host);}
\DoxyCodeLine{67 }
\DoxyCodeLine{68 \textcolor{keywordtype}{int}}
\DoxyCodeLine{69 ss7\_xua\_server\_bind(\textcolor{keyword}{struct} osmo\_xua\_server *xs);}
\DoxyCodeLine{70 }
\DoxyCodeLine{71 \textcolor{keywordtype}{int}}
\DoxyCodeLine{72 ss7\_xua\_server\_set\_local\_host(\textcolor{keyword}{struct} osmo\_xua\_server *xs, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *local\_host);}
\DoxyCodeLine{73 \textcolor{keywordtype}{int}}
\DoxyCodeLine{74 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{75 \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{76 \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{77 \textcolor{keywordtype}{void} ss7\_xua\_server\_destroy(\textcolor{keyword}{struct} osmo\_xua\_server *xs);}
\DoxyCodeLine{78 }
\DoxyCodeLine{79 \textcolor{keywordtype}{bool} ss7\_xua\_server\_set\_default\_local\_hosts(\textcolor{keyword}{struct} osmo\_xua\_server *oxs);}

\end{DoxyCode}
