\doxysection{sccp\+\_\+sap.\+h}
\label{sccp__sap_8h_source}\index{include/osmocom/sigtran/sccp\_sap.h@{include/osmocom/sigtran/sccp\_sap.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00002\ }
\DoxyCodeLine{00003\ \textcolor{comment}{/*\ SCCP\ User\ SAP\ description\ */}}
\DoxyCodeLine{00004\ }
\DoxyCodeLine{00005\ \textcolor{comment}{/*\ (C)\ 2015-\/2017\ by\ Harald\ Welte\ <laforge@gnumonks.org>}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ All\ Rights\ Reserved}}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ This\ program\ is\ free\ software;\ you\ can\ redistribute\ it\ and/or\ modify}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *\ it\ under\ the\ terms\ of\ the\ GNU\ General\ Public\ License\ as\ published\ by}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *\ the\ Free\ Software\ Foundation;\ either\ version\ 2\ of\ the\ License,\ or}}
\DoxyCodeLine{00011\ \textcolor{comment}{\ *\ (at\ your\ option)\ any\ later\ version.}}
\DoxyCodeLine{00012\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ *\ This\ program\ is\ distributed\ in\ the\ hope\ that\ it\ will\ be\ useful,}}
\DoxyCodeLine{00014\ \textcolor{comment}{\ *\ but\ WITHOUT\ ANY\ WARRANTY;\ without\ even\ the\ implied\ warranty\ of}}
\DoxyCodeLine{00015\ \textcolor{comment}{\ *\ MERCHANTABILITY\ or\ FITNESS\ FOR\ A\ PARTICULAR\ PURPOSE.\ \ See\ the}}
\DoxyCodeLine{00016\ \textcolor{comment}{\ *\ GNU\ General\ Public\ License\ for\ more\ details.}}
\DoxyCodeLine{00017\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00018\ \textcolor{comment}{\ *\ You\ should\ have\ received\ a\ copy\ of\ the\ GNU\ General\ Public\ License}}
\DoxyCodeLine{00019\ \textcolor{comment}{\ *\ along\ with\ this\ program.\ \ If\ not,\ see\ <http://www.gnu.org/licenses/>.}}
\DoxyCodeLine{00020\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00021\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00022\ }
\DoxyCodeLine{00023\ \textcolor{preprocessor}{\#include\ <stdint.h>}}
\DoxyCodeLine{00024\ \textcolor{preprocessor}{\#include\ <osmocom/core/prim.h>}}
\DoxyCodeLine{00025\ \textcolor{preprocessor}{\#include\ <osmocom/sigtran/sigtran\_sap.h>}}
\DoxyCodeLine{00026\ }
\DoxyCodeLine{00027\ \textcolor{preprocessor}{\#include\ <netinet/in.h>}}
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00029\ \textcolor{comment}{/*\ detailed\ coding\ of\ primitives\ at\ the\ SAP\_SCCP\_USER\ */}}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00032\ \textcolor{keyword}{enum}\ osmo\_scu\_prim\_type\ \{}
\DoxyCodeLine{00033\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ connection\ oriented,\ 6.1.1\ */}}
\DoxyCodeLine{00034\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_CONNECT,}
\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_DATA,}
\DoxyCodeLine{00036\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_EXPEDITED\_DATA,}
\DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_DISCONNECT,}
\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_RESET,}
\DoxyCodeLine{00039\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_INFORM,}
\DoxyCodeLine{00040\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ connectionless,\ 6.2.2\ */}}
\DoxyCodeLine{00041\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_UNITDATA,}
\DoxyCodeLine{00042\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_NOTICE,}
\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ management\ */}}
\DoxyCodeLine{00044\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_COORD,}
\DoxyCodeLine{00045\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_STATE,}
\DoxyCodeLine{00046\ \ \ \ \ \ \ \ \ OSMO\_SCU\_PRIM\_N\_PCSTATE,}
\DoxyCodeLine{00047\ \};}
\DoxyCodeLine{00048\ }
\DoxyCodeLine{00049\ \textcolor{preprocessor}{\#define\ OSMO\_SCCP\_ADDR\_T\_GT\ \ \ \ \ 0x0001\ }\textcolor{comment}{/*\ global\ title\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00050\ \textcolor{preprocessor}{\#define\ OSMO\_SCCP\_ADDR\_T\_PC\ \ \ \ \ 0x0002\ }\textcolor{comment}{/*\ signalling\ point\ code\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00051\ \textcolor{preprocessor}{\#define\ OSMO\_SCCP\_ADDR\_T\_SSN\ \ \ \ 0x0004\ }\textcolor{comment}{/*\ subsystem\ number\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00052\ \textcolor{preprocessor}{\#define\ OSMO\_SCCP\_ADDR\_T\_IPv4\ \ \ 0x0008}}
\DoxyCodeLine{00053\ \textcolor{preprocessor}{\#define\ OSMO\_SCCP\_ADDR\_T\_IPv6\ \ \ 0x0010}}
\DoxyCodeLine{00054\ \textcolor{preprocessor}{\#define\ OSMO\_SCCP\_ADDR\_T\_MASK\ \ \ 0x001f}}
\DoxyCodeLine{00055\ }
\DoxyCodeLine{00056\ \textcolor{comment}{/*\ Q.713\ 3.4.1\ +\ RFC\ 3868\ 3.10.2.3\ */}}
\DoxyCodeLine{00057\ \textcolor{keyword}{enum}\ osmo\_sccp\_routing\_ind\ \{}
\DoxyCodeLine{00058\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_RI\_NONE,}
\DoxyCodeLine{00059\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_RI\_GT,}
\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_RI\_SSN\_PC,}
\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_RI\_SSN\_IP,}
\DoxyCodeLine{00062\ \};}
\DoxyCodeLine{00063\ }
\DoxyCodeLine{00064\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sccp\_routing\_ind\_names[];}
\DoxyCodeLine{00065\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sccp\_routing\_ind\_name(\textcolor{keyword}{enum}\ osmo\_sccp\_routing\_ind\ val)}
\DoxyCodeLine{00066\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sccp\_routing\_ind\_names,\ val);\ \}}
\DoxyCodeLine{00067\ }
\DoxyCodeLine{00068\ }
\DoxyCodeLine{00069\ \textcolor{comment}{/*\ Q.713\ 3.4.1\ +\ RFC\ 3868\ 3.10.2.3\ */}}
\DoxyCodeLine{00070\ \textcolor{keyword}{enum}\ osmo\_sccp\_gti\ \{}
\DoxyCodeLine{00071\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_GTI\_NO\_GT,}
\DoxyCodeLine{00072\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_GTI\_NAI\_ONLY,}
\DoxyCodeLine{00073\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_GTI\_TT\_ONLY,}
\DoxyCodeLine{00074\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_GTI\_TT\_NPL\_ENC,}
\DoxyCodeLine{00075\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_GTI\_TT\_NPL\_ENC\_NAI,}
\DoxyCodeLine{00076\ \};}
\DoxyCodeLine{00077\ }
\DoxyCodeLine{00078\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sccp\_gti\_names[];}
\DoxyCodeLine{00079\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sccp\_gti\_name(\textcolor{keyword}{enum}\ osmo\_sccp\_gti\ val)}
\DoxyCodeLine{00080\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sccp\_gti\_names,\ val);\ \}}
\DoxyCodeLine{00081\ }
\DoxyCodeLine{00082\ \textcolor{comment}{/*\ RFC\ 3868\ 3.10.2.3\ */}}
\DoxyCodeLine{00083\ \textcolor{keyword}{enum}\ osmo\_sccp\_npi\ \{}
\DoxyCodeLine{00084\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NPI\_UNKNOWN\ =\ 0,}
\DoxyCodeLine{00085\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NPI\_E164\_ISDN\ \ \ \ \ \ \ \ \ \ =\ 1,}
\DoxyCodeLine{00086\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NPI\_GEERIC\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 2,}
\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NPI\_X121\_DATA\ \ \ \ \ \ \ \ \ \ =\ 3,}
\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NPI\_F69\_TELEX\ \ \ \ \ \ \ \ \ \ =\ 4,}
\DoxyCodeLine{00089\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NPI\_E210\_MARITIME\ \ =\ 5,}
\DoxyCodeLine{00090\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NPI\_E212\_LAND\ \ \ \ \ \ \ \ \ \ =\ 6,}
\DoxyCodeLine{00091\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NPI\_E214\_ISDN\_MOBILE\ \ \ \ =\ 7,}
\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NPI\_PRIVATE\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 14,}
\DoxyCodeLine{00093\ \};}
\DoxyCodeLine{00094\ }
\DoxyCodeLine{00095\ \textcolor{comment}{/*\ Q.713\ 3.4.2.3.1\ +\ RFC\ 3868\ 3.10.2.3\ */}}
\DoxyCodeLine{00096\ \textcolor{keyword}{enum}\ osmo\_sccp\_nai\ \{}
\DoxyCodeLine{00097\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NAI\_UNKNOWN\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 0,}
\DoxyCodeLine{00098\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NAI\_SUBSCR\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 1,}
\DoxyCodeLine{00099\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NAI\_RES\_NAT\_USE\ \ \ \ \ \ =\ 2,}
\DoxyCodeLine{00100\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NAI\_NATL\ \ \ \ \ \ \ \ \ \ \ \ =\ 3,}
\DoxyCodeLine{00101\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_NAI\_INTL\ \ \ \ \ \ \ \ \ \ \ \ =\ 4,}
\DoxyCodeLine{00102\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ 5..\ 255:\ Spare\ */}}
\DoxyCodeLine{00103\ \};}
\DoxyCodeLine{00104\ }
\DoxyCodeLine{00105\ \textcolor{comment}{/*\ Q.713\ 3.4.2.2\ */}}
\DoxyCodeLine{00106\ \textcolor{keyword}{enum}\ osmo\_sccp\_ssn\ \{}
\DoxyCodeLine{00107\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ globally\ standardised\ for\ GSM/UMTS:\ 1-\/31\ */}}
\DoxyCodeLine{00108\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_MGMT\ \ \ \ \ \ \ \ \ \ \ \ =\ 1,}
\DoxyCodeLine{00109\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_ISUP\ \ \ \ \ \ \ \ \ \ \ \ =\ 3,}
\DoxyCodeLine{00110\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_OMAP\ \ \ \ \ \ \ \ \ \ \ \ =\ 4,}
\DoxyCodeLine{00111\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_MAP\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 5,}
\DoxyCodeLine{00112\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_HLR\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 6,}
\DoxyCodeLine{00113\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_VLR\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 7,}
\DoxyCodeLine{00114\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_MSC\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 8,}
\DoxyCodeLine{00115\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_EIR\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 9,}
\DoxyCodeLine{00116\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_AUC\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 0x0a,}
\DoxyCodeLine{00117\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ Q.713\ */}}
\DoxyCodeLine{00118\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_ISDN\_SS\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 0x0b,}
\DoxyCodeLine{00119\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_RES\_INTL\ \ \ \ \ \ \ \ \ \ \ \ =\ 0x0c,}
\DoxyCodeLine{00120\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_BISDN\ \ \ \ \ \ \ \ \ \ =\ 0x0d,}
\DoxyCodeLine{00121\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_TC\_TEST\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 0x0e,}
\DoxyCodeLine{00122\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ national\ network\ SSN\ for\ wihin\ and\ between\ GSM/UMTS:\ 129-\/150\ */}}
\DoxyCodeLine{00123\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_RANAP\ \ \ \ \ \ \ \ \ \ =\ 142,}
\DoxyCodeLine{00124\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_RNSAP\ \ \ \ \ \ \ \ \ \ =\ 143,}
\DoxyCodeLine{00125\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_GMLC\_MAP\ \ \ \ \ \ \ \ \ \ \ \ =\ 145,}
\DoxyCodeLine{00126\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_CAP\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 146,}
\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_gsmSCF\_MAP\ \ \ \ \ \ \ \ =\ 147,}
\DoxyCodeLine{00128\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_SIWF\_MAP\ \ \ \ \ \ \ \ \ \ \ \ =\ 148,}
\DoxyCodeLine{00129\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_SGSN\_MAP\ \ \ \ \ \ \ \ \ \ \ \ =\ 149,}
\DoxyCodeLine{00130\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_GGSN\_MAP\ \ \ \ \ \ \ \ \ \ \ \ =\ 150,}
\DoxyCodeLine{00131\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ national\ network\ SSN\ within\ GSM/UMTS:\ 32-\/128\ +\ 151-\/254\ */}}
\DoxyCodeLine{00132\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_PCAP\ \ \ \ \ \ \ \ \ \ \ \ =\ 249,}
\DoxyCodeLine{00133\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_BSC\_BSSAP\_LE\ \ \ \ =\ 250,}
\DoxyCodeLine{00134\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_MSC\_BSSAP\_LE\ \ \ \ =\ 251,}
\DoxyCodeLine{00135\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_SMLC\_BSSAP\_LE\ \ =\ 252,}
\DoxyCodeLine{00136\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_BSS\_OAM\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 253,}
\DoxyCodeLine{00137\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SSN\_BSSAP\ \ \ \ \ \ \ \ \ \ =\ 254,}
\DoxyCodeLine{00138\ \};}
\DoxyCodeLine{00139\ }
\DoxyCodeLine{00140\ \textcolor{comment}{/*\ Q.711\ 6.3.2.2.5\ Signalling\ point\ status\ */}}
\DoxyCodeLine{00141\ \textcolor{keyword}{enum}\ osmo\_sccp\_sp\_status\ \{}
\DoxyCodeLine{00142\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SP\_S\_INACCESSIBLE\ \ =\ 1,}
\DoxyCodeLine{00143\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SP\_S\_CONGESTED\ \ \ \ \ \ \ \ =\ 2,}
\DoxyCodeLine{00144\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_SP\_S\_ACCESSIBLE\ \ \ \ \ \ =\ 3,}
\DoxyCodeLine{00145\ \};}
\DoxyCodeLine{00146\ }
\DoxyCodeLine{00147\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sccp\_sp\_status\_names[];}
\DoxyCodeLine{00148\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sccp\_sp\_status\_name(\textcolor{keyword}{enum}\ osmo\_sccp\_sp\_status\ val)}
\DoxyCodeLine{00149\ \{}
\DoxyCodeLine{00150\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sccp\_sp\_status\_names,\ val);}
\DoxyCodeLine{00151\ \}}
\DoxyCodeLine{00152\ }
\DoxyCodeLine{00153\ \textcolor{comment}{/*\ Q.711\ 6.3.2.2.6\ Remote\ SCCP\ status\ */}}
\DoxyCodeLine{00154\ \textcolor{keyword}{enum}\ osmo\_sccp\_rem\_sccp\_status\ \{}
\DoxyCodeLine{00155\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_REM\_SCCP\_S\_AVAILABLE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 1,}
\DoxyCodeLine{00156\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_REM\_SCCP\_S\_UNAVAILABLE\_UNKNOWN\ \ \ \ \ \ \ \ =\ 2,}
\DoxyCodeLine{00157\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_REM\_SCCP\_S\_UNEQUIPPED\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 3,}
\DoxyCodeLine{00158\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_REM\_SCCP\_S\_INACCESSIBLE\ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 4,}
\DoxyCodeLine{00159\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_REM\_SCCP\_S\_CONGESTED\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ 5,}
\DoxyCodeLine{00160\ \};}
\DoxyCodeLine{00161\ }
\DoxyCodeLine{00162\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sccp\_rem\_sccp\_status\_names[];}
\DoxyCodeLine{00163\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sccp\_rem\_sccp\_status\_name(\textcolor{keyword}{enum}\ osmo\_sccp\_rem\_sccp\_status\ val)}
\DoxyCodeLine{00164\ \{}
\DoxyCodeLine{00165\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sccp\_rem\_sccp\_status\_names,\ val);}
\DoxyCodeLine{00166\ \}}
\DoxyCodeLine{00167\ }
\DoxyCodeLine{00168\ \textcolor{comment}{/*\ legacy\ shim\ for\ name\ change\ */}}
\DoxyCodeLine{00169\ \textcolor{preprocessor}{\#define\ OSMO\_SCCP\_SSN\_SMLC\_BSSAP\ OSMO\_SCCP\_SSN\_SMLC\_BSSAP\_LE}}
\DoxyCodeLine{00170\ }
\DoxyCodeLine{00171\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_sccp\_ssn\_names[];}
\DoxyCodeLine{00172\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sccp\_ssn\_name(\textcolor{keyword}{enum}\ osmo\_sccp\_ssn\ val)}
\DoxyCodeLine{00173\ \{\ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_sccp\_ssn\_names,\ val);\ \}}
\DoxyCodeLine{00174\ }
\DoxyCodeLine{00175\ \textcolor{keyword}{struct\ }osmo\_sccp\_gt\ \{}
\DoxyCodeLine{00176\ \ \ \ \ \ \ \ \ uint8\_t\ gti;}
\DoxyCodeLine{00177\ \ \ \ \ \ \ \ \ uint8\_t\ tt;}
\DoxyCodeLine{00178\ \ \ \ \ \ \ \ \ uint32\_t\ npi;}
\DoxyCodeLine{00179\ \ \ \ \ \ \ \ \ uint32\_t\ nai;}
\DoxyCodeLine{00180\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ digits[32];}
\DoxyCodeLine{00181\ \};}
\DoxyCodeLine{00182\ }
\DoxyCodeLine{00183\ \textcolor{keyword}{struct\ }osmo\_sccp\_addr\ \{}
\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ uint32\_t\ presence;}
\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum}\ osmo\_sccp\_routing\_ind\ ri;}
\DoxyCodeLine{00186\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_sccp\_gt\ gt;}
\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ uint32\_t\ pc;}
\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ uint32\_t\ ssn;}
\DoxyCodeLine{00189\ \ \ \ \ \ \ \ \ \textcolor{keyword}{union\ }\{}
\DoxyCodeLine{00190\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }in\_addr\ v4;}
\DoxyCodeLine{00191\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }in6\_addr\ v6;}
\DoxyCodeLine{00192\ \ \ \ \ \ \ \ \ \}\ ip;}
\DoxyCodeLine{00193\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ we\ don't\ do\ hostnames\ */}}
\DoxyCodeLine{00194\ \};}
\DoxyCodeLine{00195\ }
\DoxyCodeLine{00196\ \textcolor{comment}{/*\ OSMO\_SCU\_PRIM\_N\_CONNECT\ */}}
\DoxyCodeLine{00197\ \textcolor{keyword}{struct\ }osmo\_scu\_connect\_param\ \{}
\DoxyCodeLine{00198\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_sccp\_addr\ called\_addr;}
\DoxyCodeLine{00199\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_sccp\_addr\ calling\_addr;}
\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_sccp\_addr\ responding\_addr;}
\DoxyCodeLine{00201\ \ \ \ \ \ \ \ \ \textcolor{comment}{//struct\ osmo\_sccp\_qos\_pars\ qos\_pars;}}
\DoxyCodeLine{00202\ \ \ \ \ \ \ \ \ uint32\_t\ sccp\_class;}
\DoxyCodeLine{00203\ \ \ \ \ \ \ \ \ uint32\_t\ importance;}
\DoxyCodeLine{00204\ \ \ \ \ \ \ \ \ uint32\_t\ conn\_id;}
\DoxyCodeLine{00205\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ user\ data\ */}}
\DoxyCodeLine{00206\ \};}
\DoxyCodeLine{00207\ }
\DoxyCodeLine{00208\ \textcolor{comment}{/*\ OSMO\_SCU\_PRIM\_N\_DATA\ /\ OSMO\_SCU\_PRIM\_N\_EXPEDITED\_DATA\ */}}
\DoxyCodeLine{00209\ \textcolor{keyword}{struct\ }osmo\_scu\_data\_param\ \{}
\DoxyCodeLine{00210\ \ \ \ \ \ \ \ \ uint32\_t\ conn\_id;}
\DoxyCodeLine{00211\ \ \ \ \ \ \ \ \ uint32\_t\ importance;}
\DoxyCodeLine{00212\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ user\ data\ */}}
\DoxyCodeLine{00213\ \};}
\DoxyCodeLine{00214\ }
\DoxyCodeLine{00215\ \textcolor{keyword}{enum}\ osmo\_sccp\_originator\ \{}
\DoxyCodeLine{00216\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_ORIG\_NS\_PROVIDER,}
\DoxyCodeLine{00217\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_ORIG\_NS\_USER,}
\DoxyCodeLine{00218\ \ \ \ \ \ \ \ \ OSMO\_SCCP\_ORIG\_UNDEFINED,}
\DoxyCodeLine{00219\ \};}
\DoxyCodeLine{00220\ }
\DoxyCodeLine{00221\ \textcolor{comment}{/*\ OSMO\_SCU\_PRIM\_N\_DISCONNECT\ */}}
\DoxyCodeLine{00222\ \textcolor{keyword}{struct\ }osmo\_scu\_disconn\_param\ \{}
\DoxyCodeLine{00223\ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum}\ osmo\_sccp\_originator\ originator;}
\DoxyCodeLine{00224\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_sccp\_addr\ responding\_addr;}
\DoxyCodeLine{00225\ \ \ \ \ \ \ \ \ uint32\_t\ cause;}
\DoxyCodeLine{00226\ \ \ \ \ \ \ \ \ uint32\_t\ conn\_id;}
\DoxyCodeLine{00227\ \ \ \ \ \ \ \ \ uint32\_t\ importance;}
\DoxyCodeLine{00228\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ user\ data\ */}}
\DoxyCodeLine{00229\ \};}
\DoxyCodeLine{00230\ }
\DoxyCodeLine{00231\ \textcolor{comment}{/*\ OSMO\_SCU\_PRIM\_N\_RESET\ */}}
\DoxyCodeLine{00232\ \textcolor{keyword}{struct\ }osmo\_scu\_reset\_param\ \{}
\DoxyCodeLine{00233\ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum}\ osmo\_sccp\_originator\ originator;}
\DoxyCodeLine{00234\ \ \ \ \ \ \ \ \ uint32\_t\ cause;}
\DoxyCodeLine{00235\ \ \ \ \ \ \ \ \ uint32\_t\ conn\_id;}
\DoxyCodeLine{00236\ \};}
\DoxyCodeLine{00237\ }
\DoxyCodeLine{00238\ \textcolor{comment}{/*\ OSMO\_SCU\_PRIM\_N\_UNITDATA\ */}}
\DoxyCodeLine{00239\ \textcolor{comment}{/*\ NOTE:\ Ideally\ there\ should\ have\ been\ a\ "{}bool\ in\_sequence\_control\_present"{},}}
\DoxyCodeLine{00240\ \textcolor{comment}{\ *\ but\ that\ was\ found\ too\ late,\ so\ instead\ set:}}
\DoxyCodeLine{00241\ \textcolor{comment}{\ *\ "{}in\_sequence\_control\ =\ OSMO\_SCU\_UNITDATA\_PARAM\_SEQUENCE\_CONTROL\_NOT\_PRESENT"{}}}
\DoxyCodeLine{00242\ \textcolor{comment}{\ *\ to\ mark\ the\ field\ not\ present\ (aka\ select\ Protocol\ Class\ 0).}}
\DoxyCodeLine{00243\ \textcolor{comment}{\ *\ See\ ITU-\/T\ Q.711\ 6.2.1\ for\ more\ information.}}
\DoxyCodeLine{00244\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00245\ \textcolor{preprocessor}{\#define\ OSMO\_SCU\_UNITDATA\_REQ\_P\_SEQUENCE\_CONTROL\_NOT\_PRESENT\ 0xffffffff}}
\DoxyCodeLine{00246\ \textcolor{keyword}{struct\ }osmo\_scu\_unitdata\_param\ \{}
\DoxyCodeLine{00247\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_sccp\_addr\ called\_addr;}
\DoxyCodeLine{00248\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_sccp\_addr\ calling\_addr;}
\DoxyCodeLine{00249\ \ \ \ \ \ \ \ \ uint32\_t\ in\_sequence\_control;}
\DoxyCodeLine{00250\ \ \ \ \ \ \ \ \ uint32\_t\ return\_option;}
\DoxyCodeLine{00251\ \ \ \ \ \ \ \ \ uint32\_t\ importance;}
\DoxyCodeLine{00252\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ user\ data\ */}}
\DoxyCodeLine{00253\ \};}
\DoxyCodeLine{00254\ }
\DoxyCodeLine{00255\ \textcolor{comment}{/*\ OSMO\_SCU\_PRIM\_N\_NOTICE\ */}}
\DoxyCodeLine{00256\ \textcolor{keyword}{struct\ }osmo\_scu\_notice\_param\ \{}
\DoxyCodeLine{00257\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_sccp\_addr\ called\_addr;}
\DoxyCodeLine{00258\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_sccp\_addr\ calling\_addr;}
\DoxyCodeLine{00259\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ ITU\ Q.711\ 6.2.2.2.4\ "{}Reason\ for\ return"{}:}}
\DoxyCodeLine{00260\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ *\ enum\ sccp\_return\_cause\ (ITU\ Q.713\ 3.12),\ as\ per\ ITU\ Q.713\ A.5.\ */}}
\DoxyCodeLine{00261\ \ \ \ \ \ \ \ \ uint32\_t\ cause;}
\DoxyCodeLine{00262\ \ \ \ \ \ \ \ \ uint32\_t\ importance;\ \textcolor{comment}{/*\ ITU\ Q.711\ 6.2.2.2.6,\ Q.713\ 3.19\ */}}
\DoxyCodeLine{00263\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ user\ data\ */}}
\DoxyCodeLine{00264\ \};}
\DoxyCodeLine{00265\ }
\DoxyCodeLine{00266\ \textcolor{comment}{/*\ OSMO\_SCU\_PRIM\_N\_STATE\ */}}
\DoxyCodeLine{00267\ \textcolor{keyword}{struct\ }osmo\_scu\_state\_param\ \{}
\DoxyCodeLine{00268\ \ \ \ \ \ \ \ \ uint32\_t\ affected\_pc;}
\DoxyCodeLine{00269\ \ \ \ \ \ \ \ \ uint32\_t\ affected\_ssn;}
\DoxyCodeLine{00270\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ user\_in\_service;\ \textcolor{comment}{/*\ true:\ UIS;\ false:\ UOS\ */}}
\DoxyCodeLine{00271\ \ \ \ \ \ \ \ \ uint32\_t\ ssn\_multiplicity\_ind;}
\DoxyCodeLine{00272\ \};}
\DoxyCodeLine{00273\ }
\DoxyCodeLine{00274\ \textcolor{comment}{/*\ OSMO\_SCU\_PRIM\_N\_PCSTATE\ */}}
\DoxyCodeLine{00275\ \textcolor{keyword}{struct\ }osmo\_scu\_pcstate\_param\ \{}
\DoxyCodeLine{00276\ \ \ \ \ \ \ \ \ uint32\_t\ affected\_pc;}
\DoxyCodeLine{00277\ \ \ \ \ \ \ \ \ uint32\_t\ restricted\_importance\_level;}
\DoxyCodeLine{00278\ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum}\ osmo\_sccp\_sp\_status\ sp\_status;}
\DoxyCodeLine{00279\ \ \ \ \ \ \ \ \ \textcolor{keyword}{enum}\ osmo\_sccp\_rem\_sccp\_status\ remote\_sccp\_status;}
\DoxyCodeLine{00280\ \};}
\DoxyCodeLine{00281\ }
\DoxyCodeLine{00282\ \textcolor{keyword}{struct\ }osmo\_scu\_prim\ \{}
\DoxyCodeLine{00283\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_prim\_hdr\ oph;}
\DoxyCodeLine{00284\ \ \ \ \ \ \ \ \ \textcolor{keyword}{union\ }\{}
\DoxyCodeLine{00285\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_scu\_connect\_param\ connect;}
\DoxyCodeLine{00286\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_scu\_data\_param\ data;}
\DoxyCodeLine{00287\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_scu\_disconn\_param\ disconnect;}
\DoxyCodeLine{00288\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_scu\_reset\_param\ reset;}
\DoxyCodeLine{00289\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_scu\_unitdata\_param\ unitdata;}
\DoxyCodeLine{00290\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_scu\_notice\_param\ notice;}
\DoxyCodeLine{00291\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_scu\_state\_param\ state;}
\DoxyCodeLine{00292\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }osmo\_scu\_pcstate\_param\ pcstate;}
\DoxyCodeLine{00293\ \ \ \ \ \ \ \ \ \}\ u;}
\DoxyCodeLine{00294\ \};}
\DoxyCodeLine{00295\ }
\DoxyCodeLine{00296\ \textcolor{preprocessor}{\#define\ msgb\_scu\_prim(msg)\ ((struct\ osmo\_scu\_prim\ *)(msg)-\/>l1h)}}
\DoxyCodeLine{00297\ }
\DoxyCodeLine{00298\ \textcolor{keyword}{extern}\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }value\_string\ osmo\_scu\_prim\_type\_names[];}
\DoxyCodeLine{00299\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_scu\_prim\_type\_name(\textcolor{keyword}{enum}\ osmo\_scu\_prim\_type\ val)}
\DoxyCodeLine{00300\ \{}
\DoxyCodeLine{00301\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ get\_value\_string(osmo\_scu\_prim\_type\_names,\ val);}
\DoxyCodeLine{00302\ \}}
\DoxyCodeLine{00303\ }
\DoxyCodeLine{00304\ \textcolor{keywordtype}{int}\ osmo\_scu\_prim\_hdr\_name\_buf(\textcolor{keywordtype}{char}\ *buf,\ \textcolor{keywordtype}{size\_t}\ buflen,\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_prim\_hdr\ *oph);}
\DoxyCodeLine{00305\ \textcolor{keywordtype}{char}\ *osmo\_scu\_prim\_hdr\_name\_c(\textcolor{keywordtype}{void}\ *ctx,\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_prim\_hdr\ *oph);}
\DoxyCodeLine{00306\ \textcolor{keywordtype}{char}\ *osmo\_scu\_prim\_name(\textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_prim\_hdr\ *oph);}
\DoxyCodeLine{00307\ }
\DoxyCodeLine{00308\ \textcolor{keyword}{struct\ }osmo\_ss7\_instance;}
\DoxyCodeLine{00309\ \textcolor{keyword}{struct\ }osmo\_sccp\_instance;}
\DoxyCodeLine{00310\ \textcolor{keyword}{struct\ }osmo\_sccp\_user;}
\DoxyCodeLine{00311\ }
\DoxyCodeLine{00312\ \textcolor{keywordtype}{void}\ osmo\_sccp\_vty\_init(\textcolor{keywordtype}{void});}
\DoxyCodeLine{00313\ }
\DoxyCodeLine{00314\ \textcolor{keyword}{struct\ }osmo\_sccp\_instance\ *osmo\_sccp\_instance\_create(\textcolor{keyword}{struct}\ osmo\_ss7\_instance\ *ss7,\ \textcolor{keywordtype}{void}\ *priv);}
\DoxyCodeLine{00315\ \textcolor{keywordtype}{void}\ osmo\_sccp\_instance\_destroy(\textcolor{keyword}{struct}\ osmo\_sccp\_instance\ *inst);}
\DoxyCodeLine{00316\ \textcolor{keyword}{struct\ }osmo\_ss7\_instance\ *osmo\_sccp\_get\_ss7(\textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_instance\ *sccp);}
\DoxyCodeLine{00317\ \textcolor{keyword}{struct\ }osmo\_sccp\_instance\ *osmo\_sccp\_get\_sccp(\textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_user\ *scu);}
\DoxyCodeLine{00318\ \textcolor{keywordtype}{void}\ osmo\_sccp\_set\_priv(\textcolor{keyword}{struct}\ osmo\_sccp\_instance\ *sccp,\ \textcolor{keywordtype}{void}\ *priv);}
\DoxyCodeLine{00319\ \textcolor{keywordtype}{void}\ *osmo\_sccp\_get\_priv(\textcolor{keyword}{struct}\ osmo\_sccp\_instance\ *sccp);}
\DoxyCodeLine{00320\ }
\DoxyCodeLine{00321\ \textcolor{keywordtype}{void}\ osmo\_sccp\_user\_unbind(\textcolor{keyword}{struct}\ osmo\_sccp\_user\ *scu);}
\DoxyCodeLine{00322\ \textcolor{keywordtype}{void}\ osmo\_sccp\_user\_set\_priv(\textcolor{keyword}{struct}\ osmo\_sccp\_user\ *scu,\ \textcolor{keywordtype}{void}\ *priv);}
\DoxyCodeLine{00323\ \textcolor{keywordtype}{void}\ *osmo\_sccp\_user\_get\_priv(\textcolor{keyword}{struct}\ osmo\_sccp\_user\ *scu);}
\DoxyCodeLine{00324\ }
\DoxyCodeLine{00325\ \textcolor{keyword}{struct\ }osmo\_sccp\_user\ *osmo\_sccp\_user\_bind\_pc(\textcolor{keyword}{struct}\ osmo\_sccp\_instance\ *inst,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,}
\DoxyCodeLine{00326\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ osmo\_prim\_cb\ prim\_cb,\ uint16\_t\ ssn,\ uint32\_t\ pc);}
\DoxyCodeLine{00327\ }
\DoxyCodeLine{00328\ \textcolor{keyword}{struct\ }osmo\_sccp\_user\ *osmo\_sccp\_user\_bind(\textcolor{keyword}{struct}\ osmo\_sccp\_instance\ *inst,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,}
\DoxyCodeLine{00329\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ osmo\_prim\_cb\ prim\_cb,\ uint16\_t\ ssn);}
\DoxyCodeLine{00330\ \textcolor{keyword}{struct\ }osmo\_sccp\_user\ *osmo\_sccp\_user\_find(\textcolor{keyword}{struct}\ osmo\_sccp\_instance\ *inst,\ uint16\_t\ ssn,\ uint32\_t\ pc);}
\DoxyCodeLine{00331\ }
\DoxyCodeLine{00332\ \textcolor{keywordtype}{int}\ osmo\_sccp\_user\_sap\_down(\textcolor{keyword}{struct}\ osmo\_sccp\_user\ *scu,\ \textcolor{keyword}{struct}\ osmo\_prim\_hdr\ *oph);}
\DoxyCodeLine{00333\ \textcolor{keywordtype}{int}\ osmo\_sccp\_user\_sap\_down\_nofree(\textcolor{keyword}{struct}\ osmo\_sccp\_user\ *scu,\ \textcolor{keyword}{struct}\ osmo\_prim\_hdr\ *oph);}
\DoxyCodeLine{00334\ }
\DoxyCodeLine{00335\ \textcolor{keywordtype}{int}\ osmo\_sccp\_addr\_create(\textcolor{keyword}{struct}\ osmo\_ss7\_instance\ *inst,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *dest\_addr);}
\DoxyCodeLine{00336\ \textcolor{keywordtype}{int}\ osmo\_sccp\_addr\_update(\textcolor{keyword}{struct}\ osmo\_ss7\_instance\ *inst,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *dest\_addr);}
\DoxyCodeLine{00337\ \textcolor{keyword}{struct\ }osmo\_ss7\_instance\ *osmo\_sccp\_addr\_by\_name(\textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *dest\_addr,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name);}
\DoxyCodeLine{00338\ \textcolor{keywordtype}{int}\ osmo\_sccp\_addr\_by\_name\_local(\textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *dest\_addr,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,}
\DoxyCodeLine{00339\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_ss7\_instance\ *inst);}
\DoxyCodeLine{00340\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sccp\_name\_by\_addr(\textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *addr);}
\DoxyCodeLine{00341\ \textcolor{keywordtype}{void}\ osmo\_sccp\_local\_addr\_by\_instance(\textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *dest\_addr,}
\DoxyCodeLine{00342\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_instance\ *inst,}
\DoxyCodeLine{00343\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint32\_t\ ssn);}
\DoxyCodeLine{00344\ }
\DoxyCodeLine{00345\ \textcolor{keywordtype}{bool}\ osmo\_sccp\_check\_addr(\textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *addr,\ uint32\_t\ presence);}
\DoxyCodeLine{00346\ \textcolor{keywordtype}{int}\ osmo\_sccp\_addr\_cmp(\textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *a,\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *b,\ uint32\_t\ presence\_criteria);}
\DoxyCodeLine{00347\ \textcolor{keywordtype}{int}\ osmo\_sccp\_addr\_ri\_cmp(\textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *a,\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_addr\ *b);}
\DoxyCodeLine{00348\ \textcolor{keywordtype}{int}\ osmo\_sccp\_gt\_cmp(\textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_gt\ *a,\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct}\ osmo\_sccp\_gt\ *b);}
\DoxyCodeLine{00349\ }
\DoxyCodeLine{00350\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *osmo\_sccp\_user\_name(\textcolor{keyword}{struct}\ osmo\_sccp\_user\ *scu);}
\DoxyCodeLine{00351\ }
\DoxyCodeLine{00352\ \textcolor{keywordtype}{int}\ osmo\_sccp\_instance\_next\_conn\_id(\textcolor{keyword}{struct}\ osmo\_sccp\_instance\ *sccp);}

\end{DoxyCode}
