\doxysection{include/osmocom/sigtran/sccp\+\_\+sap.h File Reference} \label{sccp__sap_8h}\index{include/osmocom/sigtran/sccp\_sap.h@{include/osmocom/sigtran/sccp\_sap.h}} {\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include $<$osmocom/core/prim.\+h$>$}\newline {\ttfamily \#include $<$osmocom/sigtran/sigtran\+\_\+sap.\+h$>$}\newline {\ttfamily \#include $<$netinet/in.\+h$>$}\newline \doxysubsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \textbf{ osmo\+\_\+sccp\+\_\+gt} \item struct \textbf{ osmo\+\_\+sccp\+\_\+addr} \item struct \textbf{ osmo\+\_\+scu\+\_\+connect\+\_\+param} \item struct \textbf{ osmo\+\_\+scu\+\_\+data\+\_\+param} \item struct \textbf{ osmo\+\_\+scu\+\_\+disconn\+\_\+param} \item struct \textbf{ osmo\+\_\+scu\+\_\+reset\+\_\+param} \item struct \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param} \item struct \textbf{ osmo\+\_\+scu\+\_\+notice\+\_\+param} \item struct \textbf{ osmo\+\_\+scu\+\_\+state\+\_\+param} \item struct \textbf{ osmo\+\_\+scu\+\_\+pcstate\+\_\+param} \item struct \textbf{ osmo\+\_\+scu\+\_\+prim} \end{DoxyCompactItemize} \doxysubsection*{Macros} \begin{DoxyCompactItemize} \item \#define \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT}~0x0001 /$\ast$ global title $\ast$/ \item \#define \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}~0x0002 /$\ast$ signalling point code $\ast$/ \item \#define \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}~0x0004 /$\ast$ subsystem number $\ast$/ \item \#define \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv4}~0x0008 \item \#define \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv6}~0x0010 \item \#define \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+MASK}~0x001f \item \#define \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SMLC\+\_\+\+BSSAP}~\textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SMLC\+\_\+\+BSSAP\+\_\+\+LE} \item \#define \textbf{ msgb\+\_\+scu\+\_\+prim}(msg)~((struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$)(msg)-\/$>$l1h) \end{DoxyCompactItemize} \doxysubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type} \{ \newline \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+CONNECT} , \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DATA} , \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+EXPEDITED\+\_\+\+DATA} , \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DISCONNECT} , \newline \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+RESET} , \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+INFORM} , \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA} , \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+NOTICE} , \newline \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+COORD} , \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+STATE} , \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+PCSTATE} \} \begin{DoxyCompactList}\small\item\em SCCP-\/\+User primitives as per Q.\+711. \end{DoxyCompactList}\item enum \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind} \{ \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+NONE} , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+GT} , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC} , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+IP} \} \item enum \textbf{ osmo\+\_\+sccp\+\_\+gti} \{ \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+NO\+\_\+\+GT} , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+NAI\+\_\+\+ONLY} , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+ONLY} , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+NPL\+\_\+\+ENC} , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+NPL\+\_\+\+ENC\+\_\+\+NAI} \} \item enum \textbf{ osmo\+\_\+sccp\+\_\+npi} \{ \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+UNKNOWN} = 0 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+E164\+\_\+\+ISDN} = 1 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+GEERIC} = 2 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+X121\+\_\+\+DATA} = 3 , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+F69\+\_\+\+TELEX} = 4 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+E210\+\_\+\+MARITIME} = 5 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+E212\+\_\+\+LAND} = 6 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+E214\+\_\+\+ISDN\+\_\+\+MOBILE} = 7 , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+PRIVATE} = 14 \} \item enum \textbf{ osmo\+\_\+sccp\+\_\+nai} \{ \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+UNKNOWN} = 0 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+SUBSCR} = 1 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+RES\+\_\+\+NAT\+\_\+\+USE} = 2 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+NATL} = 3 , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+INTL} = 4 \} \item enum \textbf{ osmo\+\_\+sccp\+\_\+ssn} \{ \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+MGMT} = 1 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+ISUP} = 3 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+OMAP} = 4 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+MAP} = 5 , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+HLR} = 6 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+VLR} = 7 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+MSC} = 8 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+EIR} = 9 , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+AUC} = 0x0a , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+ISDN\+\_\+\+SS} = 0x0b , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+RES\+\_\+\+INTL} = 0x0c , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+BISDN} = 0x0d , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+TC\+\_\+\+TEST} = 0x0e , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+RANAP} = 142 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+RNSAP} = 143 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+GMLC\+\_\+\+MAP} = 145 , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+CAP} = 146 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+gsm\+SCF\+\_\+\+MAP} = 147 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SIWF\+\_\+\+MAP} = 148 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SGSN\+\_\+\+MAP} = 149 , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+GGSN\+\_\+\+MAP} = 150 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+PCAP} = 249 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+BSC\+\_\+\+BSSAP\+\_\+\+LE} = 250 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+MSC\+\_\+\+BSSAP\+\_\+\+LE} = 251 , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SMLC\+\_\+\+BSSAP\+\_\+\+LE} = 252 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+BSS\+\_\+\+OAM} = 253 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+BSSAP} = 254 \} \item enum \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status} \{ \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+INACCESSIBLE} = 1 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+CONGESTED} = 2 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+ACCESSIBLE} = 3 \} \item enum \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status} \{ \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+AVAILABLE} = 1 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+UNAVAILABLE\+\_\+\+UNKNOWN} = 2 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+UNEQUIPPED} = 3 , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+INACCESSIBLE} = 4 , \newline \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+CONGESTED} = 5 \} \item enum \textbf{ osmo\+\_\+sccp\+\_\+originator} \{ \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ORIG\+\_\+\+NS\+\_\+\+PROVIDER} , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ORIG\+\_\+\+NS\+\_\+\+USER} , \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ORIG\+\_\+\+UNDEFINED} \} \end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item static const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind\+\_\+name} (enum \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind} val) \item static const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+gti\+\_\+name} (enum \textbf{ osmo\+\_\+sccp\+\_\+gti} val) \item static const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status\+\_\+name} (enum \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status} val) \item static const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status\+\_\+name} (enum \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status} val) \item static const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+ssn\+\_\+name} (enum \textbf{ osmo\+\_\+sccp\+\_\+ssn} val) \item static const char $\ast$ \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+name} (enum \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type} val) \item int \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+buf} (char $\ast$buf, size\+\_\+t buflen, const struct osmo\+\_\+prim\+\_\+hdr $\ast$oph) \item char $\ast$ \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+c} (void $\ast$ctx, const struct osmo\+\_\+prim\+\_\+hdr $\ast$oph) \item char $\ast$ \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name} (const struct osmo\+\_\+prim\+\_\+hdr $\ast$oph) \item void \textbf{ osmo\+\_\+sccp\+\_\+vty\+\_\+init} (void) \item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ss7, void $\ast$priv) \begin{DoxyCompactList}\small\item\em create a SCCP Instance and register it as user with SS7 inst \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+destroy} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst) \item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+get\+\_\+ss7} (const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$sccp) \begin{DoxyCompactList}\small\item\em get the SS7 instance that is related to the given SCCP instance \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+get\+\_\+sccp} (const struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu) \begin{DoxyCompactList}\small\item\em get the SCCP instance that is related to the given sccp user \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+sccp\+\_\+set\+\_\+priv} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$sccp, void $\ast$priv) \item void $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+get\+\_\+priv} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$sccp) \item void \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+unbind} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu) \begin{DoxyCompactList}\small\item\em Unbind a given SCCP user. \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+set\+\_\+priv} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, void $\ast$priv) \item void $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+get\+\_\+priv} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu) \item struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+bind\+\_\+pc} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, const char $\ast$name, osmo\+\_\+prim\+\_\+cb prim\+\_\+cb, uint16\+\_\+t ssn, uint32\+\_\+t pc) \begin{DoxyCompactList}\small\item\em Bind a given SCCP User to a given SSN+\+PC. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+bind} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, const char $\ast$name, osmo\+\_\+prim\+\_\+cb prim\+\_\+cb, uint16\+\_\+t ssn) \begin{DoxyCompactList}\small\item\em Bind a given SCCP User to a given SSN (at any PC) \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+find} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint16\+\_\+t ssn, uint32\+\_\+t pc) \begin{DoxyCompactList}\small\item\em Find a SCCP User registered for given PC+\+SSN or SSN only. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, struct osmo\+\_\+prim\+\_\+hdr $\ast$oph) \begin{DoxyCompactList}\small\item\em Main entrance function for primitives from SCCP User. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, struct osmo\+\_\+prim\+\_\+hdr $\ast$oph) \begin{DoxyCompactList}\small\item\em Main entrance function for primitives from SCCP User. \end{DoxyCompactList}\item struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+by\+\_\+name} (struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$dest\+\_\+addr, const char $\ast$name) \begin{DoxyCompactList}\small\item\em Lookup an SCCP address from the addressbook by its name. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+by\+\_\+name\+\_\+local} (struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$dest\+\_\+addr, const char $\ast$name, const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst) \begin{DoxyCompactList}\small\item\em Lookup an SCCP address from the addressbook of a specific instance by its name. \end{DoxyCompactList}\item const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+name\+\_\+by\+\_\+addr} (const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$addr) \begin{DoxyCompactList}\small\item\em Reverse lookup the lookup-\/name of a specified SCCP address. \end{DoxyCompactList}\item void \textbf{ osmo\+\_\+sccp\+\_\+local\+\_\+addr\+\_\+by\+\_\+instance} (struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$dest\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t ssn) \begin{DoxyCompactList}\small\item\em derive a basic local SCCP-\/\+Address from a given SCCP instance. \end{DoxyCompactList}\item bool \textbf{ osmo\+\_\+sccp\+\_\+check\+\_\+addr} (struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$addr, uint32\+\_\+t presence) \begin{DoxyCompactList}\small\item\em check whether a given SCCP-\/\+Address is consistent. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+cmp} (const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$a, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$b, uint32\+\_\+t presence\+\_\+criteria) \begin{DoxyCompactList}\small\item\em Compare two SCCP addresses by given presence criteria. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+ri\+\_\+cmp} (const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$a, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$b) \begin{DoxyCompactList}\small\item\em Compare the routing information of two SCCP addresses. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+sccp\+\_\+gt\+\_\+cmp} (const struct \textbf{ osmo\+\_\+sccp\+\_\+gt} $\ast$a, const struct \textbf{ osmo\+\_\+sccp\+\_\+gt} $\ast$b) \begin{DoxyCompactList}\small\item\em Compare two SCCP Global Titles. \end{DoxyCompactList}\item const char $\ast$ \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+name} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu) \begin{DoxyCompactList}\small\item\em Compose a human readable string to describe the SCCP user\textquotesingle{}s connection. \end{DoxyCompactList}\item int \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$sccp) \end{DoxyCompactItemize} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind\+\_\+names} [$\,$] \item const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+gti\+\_\+names} [$\,$] \item const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status\+\_\+names} [$\,$] \item const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status\+\_\+names} [$\,$] \item const struct value\+\_\+string \textbf{ osmo\+\_\+sccp\+\_\+ssn\+\_\+names} [$\,$] \item const struct value\+\_\+string \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+names} [$\,$] \end{DoxyCompactItemize} \doxysubsection{Macro Definition Documentation} \mbox{\label{sccp__sap_8h_a51b5e3bcdfaaa908ebf7a15846fd9506}} \index{sccp\_sap.h@{sccp\_sap.h}!msgb\_scu\_prim@{msgb\_scu\_prim}} \index{msgb\_scu\_prim@{msgb\_scu\_prim}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{msgb\_scu\_prim} {\footnotesize\ttfamily \#define msgb\+\_\+scu\+\_\+prim(\begin{DoxyParamCaption}\item[{}]{msg }\end{DoxyParamCaption})~((struct \textbf{ osmo\+\_\+scu\+\_\+prim} $\ast$)(msg)-\/$>$l1h)} \mbox{\label{sccp__sap_8h_a027faacb50966d4e92e0503029826c04}} \index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_ADDR\_T\_GT@{OSMO\_SCCP\_ADDR\_T\_GT}} \index{OSMO\_SCCP\_ADDR\_T\_GT@{OSMO\_SCCP\_ADDR\_T\_GT}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{OSMO\_SCCP\_ADDR\_T\_GT} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT~0x0001 /$\ast$ global title $\ast$/} \mbox{\label{sccp__sap_8h_a613b20d0d87c4ae6818191f52528d81c}} \index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_ADDR\_T\_IPv4@{OSMO\_SCCP\_ADDR\_T\_IPv4}} \index{OSMO\_SCCP\_ADDR\_T\_IPv4@{OSMO\_SCCP\_ADDR\_T\_IPv4}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{OSMO\_SCCP\_ADDR\_T\_IPv4} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv4~0x0008} \mbox{\label{sccp__sap_8h_ac2c76564697e55f4e79e30b55a2208a2}} \index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_ADDR\_T\_IPv6@{OSMO\_SCCP\_ADDR\_T\_IPv6}} \index{OSMO\_SCCP\_ADDR\_T\_IPv6@{OSMO\_SCCP\_ADDR\_T\_IPv6}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{OSMO\_SCCP\_ADDR\_T\_IPv6} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv6~0x0010} \mbox{\label{sccp__sap_8h_a087e6207191f292fb4a166f6dbb9d619}} \index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_ADDR\_T\_MASK@{OSMO\_SCCP\_ADDR\_T\_MASK}} \index{OSMO\_SCCP\_ADDR\_T\_MASK@{OSMO\_SCCP\_ADDR\_T\_MASK}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{OSMO\_SCCP\_ADDR\_T\_MASK} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+MASK~0x001f} \mbox{\label{sccp__sap_8h_a94365eaf81e21fc6de2bc883a389fea8}} \index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_ADDR\_T\_PC@{OSMO\_SCCP\_ADDR\_T\_PC}} \index{OSMO\_SCCP\_ADDR\_T\_PC@{OSMO\_SCCP\_ADDR\_T\_PC}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{OSMO\_SCCP\_ADDR\_T\_PC} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC~0x0002 /$\ast$ signalling point code $\ast$/} \mbox{\label{sccp__sap_8h_a976574212c259139669d5647752e286e}} \index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_ADDR\_T\_SSN@{OSMO\_SCCP\_ADDR\_T\_SSN}} \index{OSMO\_SCCP\_ADDR\_T\_SSN@{OSMO\_SCCP\_ADDR\_T\_SSN}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{OSMO\_SCCP\_ADDR\_T\_SSN} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN~0x0004 /$\ast$ subsystem number $\ast$/} \mbox{\label{sccp__sap_8h_a84633307508223cbc6109173cf998f8f}} \index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_SMLC\_BSSAP@{OSMO\_SCCP\_SSN\_SMLC\_BSSAP}} \index{OSMO\_SCCP\_SSN\_SMLC\_BSSAP@{OSMO\_SCCP\_SSN\_SMLC\_BSSAP}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{OSMO\_SCCP\_SSN\_SMLC\_BSSAP} {\footnotesize\ttfamily \#define OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SMLC\+\_\+\+BSSAP~\textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SMLC\+\_\+\+BSSAP\+\_\+\+LE}} \doxysubsection{Enumeration Type Documentation} \mbox{\label{sccp__sap_8h_a49e6fdb7b5e0de1886d06a45f9cba18e}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_gti@{osmo\_sccp\_gti}} \index{osmo\_sccp\_gti@{osmo\_sccp\_gti}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_gti} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sccp\+\_\+gti}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_GTI\_NO\_GT@{OSMO\_SCCP\_GTI\_NO\_GT}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_GTI\_NO\_GT@{OSMO\_SCCP\_GTI\_NO\_GT}}}\mbox{\label{sccp__sap_8h_a49e6fdb7b5e0de1886d06a45f9cba18eaf068c2c9887cc960213128dcca3f3482}} OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+NO\+\_\+\+GT&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_GTI\_NAI\_ONLY@{OSMO\_SCCP\_GTI\_NAI\_ONLY}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_GTI\_NAI\_ONLY@{OSMO\_SCCP\_GTI\_NAI\_ONLY}}}\mbox{\label{sccp__sap_8h_a49e6fdb7b5e0de1886d06a45f9cba18ea0e183b3d35d6fca2330dec196836d684}} OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+NAI\+\_\+\+ONLY&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_GTI\_TT\_ONLY@{OSMO\_SCCP\_GTI\_TT\_ONLY}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_GTI\_TT\_ONLY@{OSMO\_SCCP\_GTI\_TT\_ONLY}}}\mbox{\label{sccp__sap_8h_a49e6fdb7b5e0de1886d06a45f9cba18ea469e1f170d5b09b6b2b1211b67e2bc9c}} OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+ONLY&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_GTI\_TT\_NPL\_ENC@{OSMO\_SCCP\_GTI\_TT\_NPL\_ENC}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_GTI\_TT\_NPL\_ENC@{OSMO\_SCCP\_GTI\_TT\_NPL\_ENC}}}\mbox{\label{sccp__sap_8h_a49e6fdb7b5e0de1886d06a45f9cba18ea521a558053686ed99fcc5b180e0624db}} OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+NPL\+\_\+\+ENC&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_GTI\_TT\_NPL\_ENC\_NAI@{OSMO\_SCCP\_GTI\_TT\_NPL\_ENC\_NAI}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_GTI\_TT\_NPL\_ENC\_NAI@{OSMO\_SCCP\_GTI\_TT\_NPL\_ENC\_NAI}}}\mbox{\label{sccp__sap_8h_a49e6fdb7b5e0de1886d06a45f9cba18ea085829d7feedf9819301cca8cc730f7e}} OSMO\+\_\+\+SCCP\+\_\+\+GTI\+\_\+\+TT\+\_\+\+NPL\+\_\+\+ENC\+\_\+\+NAI&\\ \hline \end{DoxyEnumFields} \mbox{\label{sccp__sap_8h_abd8a385427f71c48da2345b5b020883f}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_nai@{osmo\_sccp\_nai}} \index{osmo\_sccp\_nai@{osmo\_sccp\_nai}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_nai} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sccp\+\_\+nai}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NAI\_UNKNOWN@{OSMO\_SCCP\_NAI\_UNKNOWN}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NAI\_UNKNOWN@{OSMO\_SCCP\_NAI\_UNKNOWN}}}\mbox{\label{sccp__sap_8h_abd8a385427f71c48da2345b5b020883fa93a8c91be85d9aa68738893272647269}} OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+UNKNOWN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NAI\_SUBSCR@{OSMO\_SCCP\_NAI\_SUBSCR}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NAI\_SUBSCR@{OSMO\_SCCP\_NAI\_SUBSCR}}}\mbox{\label{sccp__sap_8h_abd8a385427f71c48da2345b5b020883fa086642dd980f4318bde88d35d158d305}} OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+SUBSCR&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NAI\_RES\_NAT\_USE@{OSMO\_SCCP\_NAI\_RES\_NAT\_USE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NAI\_RES\_NAT\_USE@{OSMO\_SCCP\_NAI\_RES\_NAT\_USE}}}\mbox{\label{sccp__sap_8h_abd8a385427f71c48da2345b5b020883faf4daad0b9d8bab32e46ecbf236cd0b87}} OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+RES\+\_\+\+NAT\+\_\+\+USE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NAI\_NATL@{OSMO\_SCCP\_NAI\_NATL}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NAI\_NATL@{OSMO\_SCCP\_NAI\_NATL}}}\mbox{\label{sccp__sap_8h_abd8a385427f71c48da2345b5b020883fafae57f4a40f3ffcb95c0c336aef0830f}} OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+NATL&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NAI\_INTL@{OSMO\_SCCP\_NAI\_INTL}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NAI\_INTL@{OSMO\_SCCP\_NAI\_INTL}}}\mbox{\label{sccp__sap_8h_abd8a385427f71c48da2345b5b020883fa453535dcf2ea807cc852ab3008ad5bdb}} OSMO\+\_\+\+SCCP\+\_\+\+NAI\+\_\+\+INTL&\\ \hline \end{DoxyEnumFields} \mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aa}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_npi@{osmo\_sccp\_npi}} \index{osmo\_sccp\_npi@{osmo\_sccp\_npi}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_npi} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sccp\+\_\+npi}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NPI\_UNKNOWN@{OSMO\_SCCP\_NPI\_UNKNOWN}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NPI\_UNKNOWN@{OSMO\_SCCP\_NPI\_UNKNOWN}}}\mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aaab6488c13fbfacd605f0ec26d96d4a04f}} OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+UNKNOWN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NPI\_E164\_ISDN@{OSMO\_SCCP\_NPI\_E164\_ISDN}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NPI\_E164\_ISDN@{OSMO\_SCCP\_NPI\_E164\_ISDN}}}\mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aaa966ab558ef86f44a2c3f5fdda7523343}} OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+E164\+\_\+\+ISDN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NPI\_GEERIC@{OSMO\_SCCP\_NPI\_GEERIC}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NPI\_GEERIC@{OSMO\_SCCP\_NPI\_GEERIC}}}\mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aaa2edfcac0ff805e07fc53b013fad9cbbf}} OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+GEERIC&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NPI\_X121\_DATA@{OSMO\_SCCP\_NPI\_X121\_DATA}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NPI\_X121\_DATA@{OSMO\_SCCP\_NPI\_X121\_DATA}}}\mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aaa68c30ca57ef40444fe9d43370d9df182}} OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+X121\+\_\+\+DATA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NPI\_F69\_TELEX@{OSMO\_SCCP\_NPI\_F69\_TELEX}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NPI\_F69\_TELEX@{OSMO\_SCCP\_NPI\_F69\_TELEX}}}\mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aaa10b76f9ded165fc1a253591ba915b2df}} OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+F69\+\_\+\+TELEX&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NPI\_E210\_MARITIME@{OSMO\_SCCP\_NPI\_E210\_MARITIME}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NPI\_E210\_MARITIME@{OSMO\_SCCP\_NPI\_E210\_MARITIME}}}\mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aaa3de3bae494fb5f3f99e9d75c44ef86b6}} OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+E210\+\_\+\+MARITIME&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NPI\_E212\_LAND@{OSMO\_SCCP\_NPI\_E212\_LAND}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NPI\_E212\_LAND@{OSMO\_SCCP\_NPI\_E212\_LAND}}}\mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aaa908d5887a58bc33a8d919090da02ce43}} OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+E212\+\_\+\+LAND&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NPI\_E214\_ISDN\_MOBILE@{OSMO\_SCCP\_NPI\_E214\_ISDN\_MOBILE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NPI\_E214\_ISDN\_MOBILE@{OSMO\_SCCP\_NPI\_E214\_ISDN\_MOBILE}}}\mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aaa20d146e5dac90433b005a66a09e12705}} OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+E214\+\_\+\+ISDN\+\_\+\+MOBILE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_NPI\_PRIVATE@{OSMO\_SCCP\_NPI\_PRIVATE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_NPI\_PRIVATE@{OSMO\_SCCP\_NPI\_PRIVATE}}}\mbox{\label{sccp__sap_8h_a17f6f83b4a88824312b58ef93881d1aaad6286652b0b4e7e247d86963b639d212}} OSMO\+\_\+\+SCCP\+\_\+\+NPI\+\_\+\+PRIVATE&\\ \hline \end{DoxyEnumFields} \mbox{\label{sccp__sap_8h_a2efdc51f0625e9b6c4e4a8f9f0cf8bd3}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_originator@{osmo\_sccp\_originator}} \index{osmo\_sccp\_originator@{osmo\_sccp\_originator}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_originator} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sccp\+\_\+originator}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_ORIG\_NS\_PROVIDER@{OSMO\_SCCP\_ORIG\_NS\_PROVIDER}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_ORIG\_NS\_PROVIDER@{OSMO\_SCCP\_ORIG\_NS\_PROVIDER}}}\mbox{\label{sccp__sap_8h_a2efdc51f0625e9b6c4e4a8f9f0cf8bd3a4b6c209efad850969c38e94d440bcac7}} OSMO\+\_\+\+SCCP\+\_\+\+ORIG\+\_\+\+NS\+\_\+\+PROVIDER&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_ORIG\_NS\_USER@{OSMO\_SCCP\_ORIG\_NS\_USER}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_ORIG\_NS\_USER@{OSMO\_SCCP\_ORIG\_NS\_USER}}}\mbox{\label{sccp__sap_8h_a2efdc51f0625e9b6c4e4a8f9f0cf8bd3a2666804cc746e11ac1fae1e9ae7bac28}} OSMO\+\_\+\+SCCP\+\_\+\+ORIG\+\_\+\+NS\+\_\+\+USER&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_ORIG\_UNDEFINED@{OSMO\_SCCP\_ORIG\_UNDEFINED}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_ORIG\_UNDEFINED@{OSMO\_SCCP\_ORIG\_UNDEFINED}}}\mbox{\label{sccp__sap_8h_a2efdc51f0625e9b6c4e4a8f9f0cf8bd3ae4342469a039fc93342494100ac90735}} OSMO\+\_\+\+SCCP\+\_\+\+ORIG\+\_\+\+UNDEFINED&\\ \hline \end{DoxyEnumFields} \mbox{\label{sccp__sap_8h_ac54d56d58db268f9d322ad675806d00f}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_rem\_sccp\_status@{osmo\_sccp\_rem\_sccp\_status}} \index{osmo\_sccp\_rem\_sccp\_status@{osmo\_sccp\_rem\_sccp\_status}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_rem\_sccp\_status} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_REM\_SCCP\_S\_AVAILABLE@{OSMO\_SCCP\_REM\_SCCP\_S\_AVAILABLE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_REM\_SCCP\_S\_AVAILABLE@{OSMO\_SCCP\_REM\_SCCP\_S\_AVAILABLE}}}\mbox{\label{sccp__sap_8h_ac54d56d58db268f9d322ad675806d00faa6d822b31a43adfc51c74615d8b259d7}} OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+AVAILABLE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_REM\_SCCP\_S\_UNAVAILABLE\_UNKNOWN@{OSMO\_SCCP\_REM\_SCCP\_S\_UNAVAILABLE\_UNKNOWN}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_REM\_SCCP\_S\_UNAVAILABLE\_UNKNOWN@{OSMO\_SCCP\_REM\_SCCP\_S\_UNAVAILABLE\_UNKNOWN}}}\mbox{\label{sccp__sap_8h_ac54d56d58db268f9d322ad675806d00fad1e002d023f3e2ea7660af0f23edb629}} OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+UNAVAILABLE\+\_\+\+UNKNOWN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_REM\_SCCP\_S\_UNEQUIPPED@{OSMO\_SCCP\_REM\_SCCP\_S\_UNEQUIPPED}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_REM\_SCCP\_S\_UNEQUIPPED@{OSMO\_SCCP\_REM\_SCCP\_S\_UNEQUIPPED}}}\mbox{\label{sccp__sap_8h_ac54d56d58db268f9d322ad675806d00fa19a10ae41e422c454d93ce579ae89a35}} OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+UNEQUIPPED&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_REM\_SCCP\_S\_INACCESSIBLE@{OSMO\_SCCP\_REM\_SCCP\_S\_INACCESSIBLE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_REM\_SCCP\_S\_INACCESSIBLE@{OSMO\_SCCP\_REM\_SCCP\_S\_INACCESSIBLE}}}\mbox{\label{sccp__sap_8h_ac54d56d58db268f9d322ad675806d00fa7607d0f9e0dee9427448515d0d080a6d}} OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+INACCESSIBLE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_REM\_SCCP\_S\_CONGESTED@{OSMO\_SCCP\_REM\_SCCP\_S\_CONGESTED}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_REM\_SCCP\_S\_CONGESTED@{OSMO\_SCCP\_REM\_SCCP\_S\_CONGESTED}}}\mbox{\label{sccp__sap_8h_ac54d56d58db268f9d322ad675806d00fa751884bdd224598bd3dde6d4d984cfbd}} OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+CONGESTED&\\ \hline \end{DoxyEnumFields} \mbox{\label{sccp__sap_8h_a4e8e86883f33973c4bf8432a31d1ac4f}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_routing\_ind@{osmo\_sccp\_routing\_ind}} \index{osmo\_sccp\_routing\_ind@{osmo\_sccp\_routing\_ind}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_routing\_ind} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_RI\_NONE@{OSMO\_SCCP\_RI\_NONE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_RI\_NONE@{OSMO\_SCCP\_RI\_NONE}}}\mbox{\label{sccp__sap_8h_a4e8e86883f33973c4bf8432a31d1ac4fab6ad632048cc163f216bffb89370f27a}} OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+NONE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_RI\_GT@{OSMO\_SCCP\_RI\_GT}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_RI\_GT@{OSMO\_SCCP\_RI\_GT}}}\mbox{\label{sccp__sap_8h_a4e8e86883f33973c4bf8432a31d1ac4fa7b7c645ad65242b4e4446d1a6c7e2001}} OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+GT&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_RI\_SSN\_PC@{OSMO\_SCCP\_RI\_SSN\_PC}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_RI\_SSN\_PC@{OSMO\_SCCP\_RI\_SSN\_PC}}}\mbox{\label{sccp__sap_8h_a4e8e86883f33973c4bf8432a31d1ac4fae84b506f74ab108b5f43f51593090267}} OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_RI\_SSN\_IP@{OSMO\_SCCP\_RI\_SSN\_IP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_RI\_SSN\_IP@{OSMO\_SCCP\_RI\_SSN\_IP}}}\mbox{\label{sccp__sap_8h_a4e8e86883f33973c4bf8432a31d1ac4fafa3c559fc747dfc0549380c069802c4d}} OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+IP&\\ \hline \end{DoxyEnumFields} \mbox{\label{sccp__sap_8h_ad21aee16f8bf4abed8b6e906cb5d51d1}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_sp\_status@{osmo\_sccp\_sp\_status}} \index{osmo\_sccp\_sp\_status@{osmo\_sccp\_sp\_status}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_sp\_status} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SP\_S\_INACCESSIBLE@{OSMO\_SCCP\_SP\_S\_INACCESSIBLE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SP\_S\_INACCESSIBLE@{OSMO\_SCCP\_SP\_S\_INACCESSIBLE}}}\mbox{\label{sccp__sap_8h_ad21aee16f8bf4abed8b6e906cb5d51d1a6ac7a81c40091943caa0dc7ca6f971e1}} OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+INACCESSIBLE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SP\_S\_CONGESTED@{OSMO\_SCCP\_SP\_S\_CONGESTED}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SP\_S\_CONGESTED@{OSMO\_SCCP\_SP\_S\_CONGESTED}}}\mbox{\label{sccp__sap_8h_ad21aee16f8bf4abed8b6e906cb5d51d1a02bd1962cf510e6ada15872558adc634}} OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+CONGESTED&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SP\_S\_ACCESSIBLE@{OSMO\_SCCP\_SP\_S\_ACCESSIBLE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SP\_S\_ACCESSIBLE@{OSMO\_SCCP\_SP\_S\_ACCESSIBLE}}}\mbox{\label{sccp__sap_8h_ad21aee16f8bf4abed8b6e906cb5d51d1a6b4c9ef553fc09a2d6e1b5fada4afcc9}} OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+ACCESSIBLE&\\ \hline \end{DoxyEnumFields} \mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_ssn@{osmo\_sccp\_ssn}} \index{osmo\_sccp\_ssn@{osmo\_sccp\_ssn}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_ssn} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+sccp\+\_\+ssn}} \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_MGMT@{OSMO\_SCCP\_SSN\_MGMT}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_MGMT@{OSMO\_SCCP\_SSN\_MGMT}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3af8c5729f11b1da35b71df01737f3f4b1}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+MGMT&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_ISUP@{OSMO\_SCCP\_SSN\_ISUP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_ISUP@{OSMO\_SCCP\_SSN\_ISUP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a2050cf36d2f7ca60c9a083056df1fd35}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+ISUP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_OMAP@{OSMO\_SCCP\_SSN\_OMAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_OMAP@{OSMO\_SCCP\_SSN\_OMAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3ad3c568331b2374e7d9fa6b89f33e8b77}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+OMAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_MAP@{OSMO\_SCCP\_SSN\_MAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_MAP@{OSMO\_SCCP\_SSN\_MAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3aa68a459da3fba2bb7bdf78bfd4338093}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+MAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_HLR@{OSMO\_SCCP\_SSN\_HLR}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_HLR@{OSMO\_SCCP\_SSN\_HLR}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a41ab9595f3a97885e28b1e5c0eea2619}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+HLR&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_VLR@{OSMO\_SCCP\_SSN\_VLR}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_VLR@{OSMO\_SCCP\_SSN\_VLR}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a5a06fdc45ed0cf06bde60d5cee22c913}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+VLR&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_MSC@{OSMO\_SCCP\_SSN\_MSC}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_MSC@{OSMO\_SCCP\_SSN\_MSC}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a6d448853fdf6c10c7260a30f234904ac}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+MSC&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_EIR@{OSMO\_SCCP\_SSN\_EIR}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_EIR@{OSMO\_SCCP\_SSN\_EIR}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3aacdd2fd201f06a66c32a677d3c202b8f}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+EIR&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_AUC@{OSMO\_SCCP\_SSN\_AUC}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_AUC@{OSMO\_SCCP\_SSN\_AUC}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3acf0b9933911bf797d25918a0b41f8931}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+AUC&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_ISDN\_SS@{OSMO\_SCCP\_SSN\_ISDN\_SS}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_ISDN\_SS@{OSMO\_SCCP\_SSN\_ISDN\_SS}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a970a2a59db902406cc99bbb3b20c35df}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+ISDN\+\_\+\+SS&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_RES\_INTL@{OSMO\_SCCP\_SSN\_RES\_INTL}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_RES\_INTL@{OSMO\_SCCP\_SSN\_RES\_INTL}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a2495fb9eb3ace50817cd5c953c9d5c3c}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+RES\+\_\+\+INTL&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_BISDN@{OSMO\_SCCP\_SSN\_BISDN}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_BISDN@{OSMO\_SCCP\_SSN\_BISDN}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3ad3e5787c6ec01db6f0ff6f9b165cbfd8}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+BISDN&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_TC\_TEST@{OSMO\_SCCP\_SSN\_TC\_TEST}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_TC\_TEST@{OSMO\_SCCP\_SSN\_TC\_TEST}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3ab216724ff8bc67eb2af54cf439fac247}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+TC\+\_\+\+TEST&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_RANAP@{OSMO\_SCCP\_SSN\_RANAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_RANAP@{OSMO\_SCCP\_SSN\_RANAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a653cd29319701933467d859627079900}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+RANAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_RNSAP@{OSMO\_SCCP\_SSN\_RNSAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_RNSAP@{OSMO\_SCCP\_SSN\_RNSAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3ab69022f8d522270a437ea1d5d5de2130}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+RNSAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_GMLC\_MAP@{OSMO\_SCCP\_SSN\_GMLC\_MAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_GMLC\_MAP@{OSMO\_SCCP\_SSN\_GMLC\_MAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a84a1ab96fe19618519a1d8f5ae373ded}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+GMLC\+\_\+\+MAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_CAP@{OSMO\_SCCP\_SSN\_CAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_CAP@{OSMO\_SCCP\_SSN\_CAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3aaf167d10738ade0b8587dfdc0a1dc141}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+CAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_gsmSCF\_MAP@{OSMO\_SCCP\_SSN\_gsmSCF\_MAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_gsmSCF\_MAP@{OSMO\_SCCP\_SSN\_gsmSCF\_MAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a6cabf48c5090cb195580c068401855c9}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+gsm\+SCF\+\_\+\+MAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_SIWF\_MAP@{OSMO\_SCCP\_SSN\_SIWF\_MAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_SIWF\_MAP@{OSMO\_SCCP\_SSN\_SIWF\_MAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3ae2e2dd84d4e1faeaee704cf3785adf3e}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SIWF\+\_\+\+MAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_SGSN\_MAP@{OSMO\_SCCP\_SSN\_SGSN\_MAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_SGSN\_MAP@{OSMO\_SCCP\_SSN\_SGSN\_MAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a4b9c11776c409fb54f113ef13037f869}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SGSN\+\_\+\+MAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_GGSN\_MAP@{OSMO\_SCCP\_SSN\_GGSN\_MAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_GGSN\_MAP@{OSMO\_SCCP\_SSN\_GGSN\_MAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3aa7737038fcd8938bdac09884e28cf699}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+GGSN\+\_\+\+MAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_PCAP@{OSMO\_SCCP\_SSN\_PCAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_PCAP@{OSMO\_SCCP\_SSN\_PCAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3ab6eadaaba332d67cb70ffff39025757a}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+PCAP&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_BSC\_BSSAP\_LE@{OSMO\_SCCP\_SSN\_BSC\_BSSAP\_LE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_BSC\_BSSAP\_LE@{OSMO\_SCCP\_SSN\_BSC\_BSSAP\_LE}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a00dc66b0b37e31bf4c32f91984574721}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+BSC\+\_\+\+BSSAP\+\_\+\+LE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_MSC\_BSSAP\_LE@{OSMO\_SCCP\_SSN\_MSC\_BSSAP\_LE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_MSC\_BSSAP\_LE@{OSMO\_SCCP\_SSN\_MSC\_BSSAP\_LE}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a2b531c083085fad5e7e4f0c3fc7f4db6}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+MSC\+\_\+\+BSSAP\+\_\+\+LE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_SMLC\_BSSAP\_LE@{OSMO\_SCCP\_SSN\_SMLC\_BSSAP\_LE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_SMLC\_BSSAP\_LE@{OSMO\_SCCP\_SSN\_SMLC\_BSSAP\_LE}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a9f96db2bfcb59de1a85d7ddc5cffe31f}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+SMLC\+\_\+\+BSSAP\+\_\+\+LE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_BSS\_OAM@{OSMO\_SCCP\_SSN\_BSS\_OAM}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_BSS\_OAM@{OSMO\_SCCP\_SSN\_BSS\_OAM}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3ada6e95c9772888a811642dece8804c15}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+BSS\+\_\+\+OAM&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_SSN\_BSSAP@{OSMO\_SCCP\_SSN\_BSSAP}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCCP\_SSN\_BSSAP@{OSMO\_SCCP\_SSN\_BSSAP}}}\mbox{\label{sccp__sap_8h_abcafee7a0ecfc15e79eadd6fedd7b1f3a874a940496999089ccd459ea7c200dce}} OSMO\+\_\+\+SCCP\+\_\+\+SSN\+\_\+\+BSSAP&\\ \hline \end{DoxyEnumFields} \mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fd}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_scu\_prim\_type@{osmo\_scu\_prim\_type}} \index{osmo\_scu\_prim\_type@{osmo\_scu\_prim\_type}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_scu\_prim\_type} {\footnotesize\ttfamily enum \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type}} SCCP-\/\+User primitives as per Q.\+711. \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_CONNECT@{OSMO\_SCU\_PRIM\_N\_CONNECT}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_CONNECT@{OSMO\_SCU\_PRIM\_N\_CONNECT}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fda163b8169eb623a0232f855af0a7aaf76}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+CONNECT&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_DATA@{OSMO\_SCU\_PRIM\_N\_DATA}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_DATA@{OSMO\_SCU\_PRIM\_N\_DATA}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fdafa53f07a1cb6e62afee8cd52bc78b613}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DATA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_EXPEDITED\_DATA@{OSMO\_SCU\_PRIM\_N\_EXPEDITED\_DATA}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_EXPEDITED\_DATA@{OSMO\_SCU\_PRIM\_N\_EXPEDITED\_DATA}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fdab579f44105757d3aabfa8cd4d7db5636}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+EXPEDITED\+\_\+\+DATA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_DISCONNECT@{OSMO\_SCU\_PRIM\_N\_DISCONNECT}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_DISCONNECT@{OSMO\_SCU\_PRIM\_N\_DISCONNECT}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fdae4befb8d6ead24366c55501a1c90740a}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DISCONNECT&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_RESET@{OSMO\_SCU\_PRIM\_N\_RESET}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_RESET@{OSMO\_SCU\_PRIM\_N\_RESET}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fda8b076665012c27692bd2a534d5b77185}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+RESET&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_INFORM@{OSMO\_SCU\_PRIM\_N\_INFORM}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_INFORM@{OSMO\_SCU\_PRIM\_N\_INFORM}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fda63d256fca7b1277105480d356f789acf}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+INFORM&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_UNITDATA@{OSMO\_SCU\_PRIM\_N\_UNITDATA}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_UNITDATA@{OSMO\_SCU\_PRIM\_N\_UNITDATA}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fda8c12b554e04e5cc55c0a5025b11fa82f}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_NOTICE@{OSMO\_SCU\_PRIM\_N\_NOTICE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_NOTICE@{OSMO\_SCU\_PRIM\_N\_NOTICE}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fda449b72eabe407228f84c819ed12b9548}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+NOTICE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_COORD@{OSMO\_SCU\_PRIM\_N\_COORD}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_COORD@{OSMO\_SCU\_PRIM\_N\_COORD}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fdafef9bed9cbd4cc0bf69840fccf52c2d6}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+COORD&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_STATE@{OSMO\_SCU\_PRIM\_N\_STATE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_STATE@{OSMO\_SCU\_PRIM\_N\_STATE}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fdab7a89459005112dfec8fb0d06d38e025}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+STATE&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCU\_PRIM\_N\_PCSTATE@{OSMO\_SCU\_PRIM\_N\_PCSTATE}!sccp\_sap.h@{sccp\_sap.h}}\index{sccp\_sap.h@{sccp\_sap.h}!OSMO\_SCU\_PRIM\_N\_PCSTATE@{OSMO\_SCU\_PRIM\_N\_PCSTATE}}}\mbox{\label{sccp__sap_8h_a10a7e6f0a0082df4e420d5f0ba6b51fda8f4ca1baf4f403bea0dfc0b62fedcf9c}} OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+PCSTATE&\\ \hline \end{DoxyEnumFields} \doxysubsection{Function Documentation} \mbox{\label{sccp__sap_8h_a4b5916b441a0441510f6feca9ba09310}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_addr\_by\_name@{osmo\_sccp\_addr\_by\_name}} \index{osmo\_sccp\_addr\_by\_name@{osmo\_sccp\_addr\_by\_name}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_addr\_by\_name()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ osmo\+\_\+sccp\+\_\+addr\+\_\+by\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{dest\+\_\+addr, }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})} Lookup an SCCP address from the addressbook by its name. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em dest\+\_\+addr} & pointer to output the resulting sccp-\/address; (set to NULL if not interested) \\ \hline \mbox{\texttt{ in}} & {\em name} & of the address to lookup \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} SS7 instance; NULL on error \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::addr}, \textbf{ addr\+\_\+entry\+\_\+by\+\_\+name\+\_\+global()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::inst}, and \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::name}. \mbox{\label{sccp__sap_8h_a673062adcb4dcd4615ef8e485d70ed07}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_addr\_by\_name\_local@{osmo\_sccp\_addr\_by\_name\_local}} \index{osmo\_sccp\_addr\_by\_name\_local@{osmo\_sccp\_addr\_by\_name\_local}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_addr\_by\_name\_local()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+addr\+\_\+by\+\_\+name\+\_\+local (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{dest\+\_\+addr, }\item[{const char $\ast$}]{name, }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} Lookup an SCCP address from the addressbook of a specific instance by its name. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em dest\+\_\+addr} & pointer to output the resulting sccp-\/address; (set to NULL if not interested) \\ \hline \mbox{\texttt{ in}} & {\em name} & of the address to lookup \\ \hline \mbox{\texttt{ in}} & {\em inst} & ss7 instance of which the address book will be searched \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; $<$0 on error \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::addr}, \textbf{ addr\+\_\+entry\+\_\+by\+\_\+name\+\_\+local()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::inst}, and \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::name}. \mbox{\label{sccp__sap_8h_ad88f30b0068a27f1462dafd29a5809db}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_addr\_cmp@{osmo\_sccp\_addr\_cmp}} \index{osmo\_sccp\_addr\_cmp@{osmo\_sccp\_addr\_cmp}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_addr\_cmp()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+addr\+\_\+cmp (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{a, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{b, }\item[{uint32\+\_\+t}]{presence\+\_\+criteria }\end{DoxyParamCaption})} Compare two SCCP addresses by given presence criteria. Any OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+$\ast$ type not set in presence\+\_\+criteria is ignored. In case all bits are set in presence\+\_\+criteria, the comparison is in the order of\+: OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT, OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC, OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv4, OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv6, OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN. The SCCP addresses\textquotesingle{} Routing Indicator is not compared, see \doxyref{osmo\+\_\+sccp\+\_\+addr\+\_\+ri\+\_\+cmp()}{p.}{sccp__user_8c_aff3c1c4bd54d70d478e318440708140d}. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em a} & left side. \\ \hline \mbox{\texttt{ in}} & {\em b} & right side. \\ \hline \mbox{\texttt{ in}} & {\em presence\+\_\+criteria} & A bitmask of OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+$\ast$ values, or OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+MASK to compare all parts, except the routing indicator. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} -\/1 if a $<$ b, 1 if a $>$ b, and 0 if all checked values match. \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+addr\+::gt}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ip}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv4}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv6}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+\_\+cmp()}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ssn}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::v4}, and \textbf{ osmo\+\_\+sccp\+\_\+addr\+::v6}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+ri\+\_\+cmp()}. \mbox{\label{sccp__sap_8h_aff3c1c4bd54d70d478e318440708140d}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_addr\_ri\_cmp@{osmo\_sccp\_addr\_ri\_cmp}} \index{osmo\_sccp\_addr\_ri\_cmp@{osmo\_sccp\_addr\_ri\_cmp}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_addr\_ri\_cmp()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+addr\+\_\+ri\+\_\+cmp (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{a, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{b }\end{DoxyParamCaption})} Compare the routing information of two SCCP addresses. Compare the ri of a and b, and, if equal, return \doxyref{osmo\+\_\+sccp\+\_\+addr\+\_\+cmp()}{p.}{sccp__user_8c_ad88f30b0068a27f1462dafd29a5809db} with presence criteria selected according to ri. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em a} & left side. \\ \hline \mbox{\texttt{ in}} & {\em b} & right side. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} -\/1 if a $<$ b, 1 if a $>$ b, and 0 if a == b. \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+cmp()}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv4}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv6}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+NONE}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+IP}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, and \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ri}. \mbox{\label{sccp__sap_8h_a4384e35f0d7a832835621b6734a8240a}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_check\_addr@{osmo\_sccp\_check\_addr}} \index{osmo\_sccp\_check\_addr@{osmo\_sccp\_check\_addr}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_check\_addr()} {\footnotesize\ttfamily bool osmo\+\_\+sccp\+\_\+check\+\_\+addr (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{addr, }\item[{uint32\+\_\+t}]{presence }\end{DoxyParamCaption})} check whether a given SCCP-\/\+Address is consistent. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em addr} & SCCP address to check \\ \hline \mbox{\texttt{ in}} & {\em presence} & mask with minimum required address components \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} true when address data seems plausible \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+addr\+::gt}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::gti}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::nai}, \textbf{ osmo\+\_\+sccp\+\_\+gt\+::npi}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv4}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+IPv6}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+PC}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+ADDR\+\_\+\+T\+\_\+\+SSN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+GT}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+IP}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+RI\+\_\+\+SSN\+\_\+\+PC}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+::presence}, and \textbf{ osmo\+\_\+sccp\+\_\+addr\+::ri}. \mbox{\label{sccp__sap_8h_a5c813c818a361fb7381c843efb5577e3}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_get\_priv@{osmo\_sccp\_get\_priv}} \index{osmo\_sccp\_get\_priv@{osmo\_sccp\_get\_priv}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_get\_priv()} {\footnotesize\ttfamily void $\ast$ osmo\+\_\+sccp\+\_\+get\+\_\+priv (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{sccp }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+sccp\+\_\+instance\+::priv}. \mbox{\label{sccp__sap_8h_a2d9b935c8121fab24c082eb19ba4c61d}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_get\_sccp@{osmo\_sccp\_get\_sccp}} \index{osmo\_sccp\_get\_sccp@{osmo\_sccp\_get\_sccp}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_get\_sccp()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ osmo\+\_\+sccp\+\_\+get\+\_\+sccp (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu }\end{DoxyParamCaption})} get the SCCP instance that is related to the given sccp user \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em scu} & SCCP user \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} SCCP instance; NULL if scu was NULL \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}. \mbox{\label{sccp__sap_8h_a6d5c2ee0d18c64fe3aac7b3978f6d331}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_get\_ss7@{osmo\_sccp\_get\_ss7}} \index{osmo\_sccp\_get\_ss7@{osmo\_sccp\_get\_ss7}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_get\_ss7()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$ osmo\+\_\+sccp\+\_\+get\+\_\+ss7 (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{sccp }\end{DoxyParamCaption})} get the SS7 instance that is related to the given SCCP instance \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em sccp} & SCCP instance \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} SS7 instance; NULL if sccp was NULL \end{DoxyReturn} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, and \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}. \mbox{\label{sccp__sap_8h_a4cc1b98cb117cc04627d55df97123f0b}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_gt\_cmp@{osmo\_sccp\_gt\_cmp}} \index{osmo\_sccp\_gt\_cmp@{osmo\_sccp\_gt\_cmp}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_gt\_cmp()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+gt\+\_\+cmp (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+gt} $\ast$}]{a, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+gt} $\ast$}]{b }\end{DoxyParamCaption})} Compare two SCCP Global Titles. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em a} & left side. \\ \hline \mbox{\texttt{ in}} & {\em b} & right side. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} -\/1 if a $<$ b, 1 if a $>$ b, and 0 if a == b. \end{DoxyReturn} Referenced by \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+cmp()}. \mbox{\label{sccp__sap_8h_a5fc6d088659bd4118643b79afdd5d9ab}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_gti\_name@{osmo\_sccp\_gti\_name}} \index{osmo\_sccp\_gti\_name@{osmo\_sccp\_gti\_name}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_gti\_name()} {\footnotesize\ttfamily static const char $\ast$ osmo\+\_\+sccp\+\_\+gti\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+sccp\+\_\+gti}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References \textbf{ osmo\+\_\+sccp\+\_\+gti\+\_\+names}. Referenced by \textbf{ sccp\+\_\+addr\+\_\+to\+\_\+str\+\_\+buf()}. \mbox{\label{sccp__sap_8h_a91f367a691757d5d683a1ce3bde02e0c}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_instance\_create@{osmo\_sccp\_instance\_create}} \index{osmo\_sccp\_instance\_create@{osmo\_sccp\_instance\_create}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_instance\_create()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$ osmo\+\_\+sccp\+\_\+instance\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{ss7, }\item[{void $\ast$}]{priv }\end{DoxyParamCaption})} create a SCCP Instance and register it as user with SS7 inst \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em ss7} & SS7 instance to which this SCCP instance belongs \\ \hline \mbox{\texttt{ in}} & {\em priv} & private data to be stored within SCCP instance \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} callee-\/allocated SCCP instance on success; NULL on error \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+instance\+::list}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::max\+\_\+optional\+\_\+data}, \textbf{ MTP\+\_\+\+SI\+\_\+\+SCCP}, \textbf{ mtp\+\_\+user\+\_\+prim\+\_\+cb()}, \textbf{ osmo\+\_\+sccp\+\_\+timer\+\_\+defaults}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+create()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+register()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+set\+\_\+prim\+\_\+cb()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+set\+\_\+priv()}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::priv}, \textbf{ sccp\+\_\+scmg\+\_\+init()}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7\+\_\+user}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::tdefs}, and \textbf{ osmo\+\_\+sccp\+\_\+instance\+::users}. Referenced by \textbf{ osmo\+\_\+ss7\+\_\+ensure\+\_\+sccp()}. \mbox{\label{sccp__sap_8h_a399c0860d3bba4c0a051d85ae52e488b}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_instance\_destroy@{osmo\_sccp\_instance\_destroy}} \index{osmo\_sccp\_instance\_destroy@{osmo\_sccp\_instance\_destroy}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_instance\_destroy()} {\footnotesize\ttfamily void osmo\+\_\+sccp\+\_\+instance\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::list}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::list}, \textbf{ MTP\+\_\+\+SI\+\_\+\+SCCP}, \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+unbind()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+destroy()}, \textbf{ osmo\+\_\+ss7\+\_\+user\+\_\+unregister()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sccp}, \textbf{ sccp\+\_\+scoc\+\_\+flush\+\_\+connections()}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7\+\_\+user}, and \textbf{ osmo\+\_\+sccp\+\_\+instance\+::users}. \mbox{\label{sccp__sap_8h_aefc784e9f3a56c93d1d62fb10732c2c8}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_instance\_next\_conn\_id@{osmo\_sccp\_instance\_next\_conn\_id}} \index{osmo\_sccp\_instance\_next\_conn\_id@{osmo\_sccp\_instance\_next\_conn\_id}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_instance\_next\_conn\_id()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+instance\+\_\+next\+\_\+conn\+\_\+id (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{sccp }\end{DoxyParamCaption})} References \textbf{ conn\+\_\+find\+\_\+by\+\_\+id()}, and \textbf{ osmo\+\_\+sccp\+\_\+instance\+::next\+\_\+id}. Referenced by \textbf{ conn\+\_\+create()}. \mbox{\label{sccp__sap_8h_ac75660cfa2a1056de1586ceac3717b93}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_local\_addr\_by\_instance@{osmo\_sccp\_local\_addr\_by\_instance}} \index{osmo\_sccp\_local\_addr\_by\_instance@{osmo\_sccp\_local\_addr\_by\_instance}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_local\_addr\_by\_instance()} {\footnotesize\ttfamily void osmo\+\_\+sccp\+\_\+local\+\_\+addr\+\_\+by\+\_\+instance (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{dest\+\_\+addr, }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{uint32\+\_\+t}]{ssn }\end{DoxyParamCaption})} derive a basic local SCCP-\/\+Address from a given SCCP instance. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ out}} & {\em dest\+\_\+addr} & pointer to output address memory \\ \hline \mbox{\texttt{ in}} & {\em inst} & SCCP instance \\ \hline \mbox{\texttt{ in}} & {\em ssn} & Subsystem Number \\ \hline \end{DoxyParams} References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+sccp\+\_\+make\+\_\+addr\+\_\+pc\+\_\+ssn()}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::primary\+\_\+pc}, and \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}. \mbox{\label{sccp__sap_8h_abc34d0320ec536b5b359cd2dfcaefd08}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_name\_by\_addr@{osmo\_sccp\_name\_by\_addr}} \index{osmo\_sccp\_name\_by\_addr@{osmo\_sccp\_name\_by\_addr}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_name\_by\_addr()} {\footnotesize\ttfamily const char $\ast$ osmo\+\_\+sccp\+\_\+name\+\_\+by\+\_\+addr (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{addr }\end{DoxyParamCaption})} Reverse lookup the lookup-\/name of a specified SCCP address. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em name} & of the address to lookup \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} char pointer to the lookup-\/name; NULL on error \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::addr}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::list\+\_\+global}, and \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+entry\+::name}. \mbox{\label{sccp__sap_8h_a5fa55b38245239b5aca65a19760ebd02}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_rem\_sccp\_status\_name@{osmo\_sccp\_rem\_sccp\_status\_name}} \index{osmo\_sccp\_rem\_sccp\_status\_name@{osmo\_sccp\_rem\_sccp\_status\_name}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_rem\_sccp\_status\_name()} {\footnotesize\ttfamily static const char $\ast$ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status\+\_\+names}. \mbox{\label{sccp__sap_8h_a4e397d2ac7d15a8622f253c693197a80}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_routing\_ind\_name@{osmo\_sccp\_routing\_ind\_name}} \index{osmo\_sccp\_routing\_ind\_name@{osmo\_sccp\_routing\_ind\_name}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_routing\_ind\_name()} {\footnotesize\ttfamily static const char $\ast$ osmo\+\_\+sccp\+\_\+routing\+\_\+ind\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind\+\_\+names}. Referenced by \textbf{ sccp\+\_\+addr\+\_\+to\+\_\+str\+\_\+buf()}. \mbox{\label{sccp__sap_8h_a887c5a0200931e2b890ce2a098b859f2}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_set\_priv@{osmo\_sccp\_set\_priv}} \index{osmo\_sccp\_set\_priv@{osmo\_sccp\_set\_priv}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_set\_priv()} {\footnotesize\ttfamily void osmo\+\_\+sccp\+\_\+set\+\_\+priv (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{sccp, }\item[{void $\ast$}]{priv }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+sccp\+\_\+instance\+::priv}, and \textbf{ osmo\+\_\+sccp\+\_\+user\+::priv}. \mbox{\label{sccp__sap_8h_a4491069f0329358236869783ab887140}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_sp\_status\_name@{osmo\_sccp\_sp\_status\_name}} \index{osmo\_sccp\_sp\_status\_name@{osmo\_sccp\_sp\_status\_name}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_sp\_status\_name()} {\footnotesize\ttfamily static const char $\ast$ osmo\+\_\+sccp\+\_\+sp\+\_\+status\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status\+\_\+names}. \mbox{\label{sccp__sap_8h_a2204e204441895bcb66867a379864405}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_ssn\_name@{osmo\_sccp\_ssn\_name}} \index{osmo\_sccp\_ssn\_name@{osmo\_sccp\_ssn\_name}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_ssn\_name()} {\footnotesize\ttfamily static const char $\ast$ osmo\+\_\+sccp\+\_\+ssn\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+sccp\+\_\+ssn}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References \textbf{ osmo\+\_\+sccp\+\_\+ssn\+\_\+names}. Referenced by \textbf{ sccp\+\_\+addr\+\_\+to\+\_\+str\+\_\+buf()}. \mbox{\label{sccp__sap_8h_aa6b837a8e560b41e6a0208af9d0b96d2}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_user\_bind@{osmo\_sccp\_user\_bind}} \index{osmo\_sccp\_user\_bind@{osmo\_sccp\_user\_bind}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_user\_bind()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$ osmo\+\_\+sccp\+\_\+user\+\_\+bind (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name, }\item[{osmo\+\_\+prim\+\_\+cb}]{prim\+\_\+cb, }\item[{uint16\+\_\+t}]{ssn }\end{DoxyParamCaption})} Bind a given SCCP User to a given SSN (at any PC) \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em inst} & SCCP Instance \\ \hline \mbox{\texttt{ in}} & {\em name} & human-\/readable name \\ \hline \mbox{\texttt{ in}} & {\em ssn} & Sub-\/\+System Number to bind to \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Callee-\/allocated SCCP User on success; negative otherwise \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::name}, \textbf{ OSMO\+\_\+\+SS7\+\_\+\+PC\+\_\+\+INVALID}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::prim\+\_\+cb}, \textbf{ sccp\+\_\+user\+\_\+bind\+\_\+pc()}, and \textbf{ osmo\+\_\+sccp\+\_\+user\+::ssn}. Referenced by \textbf{ sccp\+\_\+scmg\+\_\+init()}. \mbox{\label{sccp__sap_8h_a5ef27c4f387e597d75a96d9dc724ec72}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_user\_bind\_pc@{osmo\_sccp\_user\_bind\_pc}} \index{osmo\_sccp\_user\_bind\_pc@{osmo\_sccp\_user\_bind\_pc}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_user\_bind\_pc()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$ osmo\+\_\+sccp\+\_\+user\+\_\+bind\+\_\+pc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{const char $\ast$}]{name, }\item[{osmo\+\_\+prim\+\_\+cb}]{prim\+\_\+cb, }\item[{uint16\+\_\+t}]{ssn, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} Bind a given SCCP User to a given SSN+\+PC. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em inst} & SCCP Instance \\ \hline \mbox{\texttt{ in}} & {\em name} & human-\/readable name \\ \hline \mbox{\texttt{ in}} & {\em ssn} & Sub-\/\+System Number to bind to \\ \hline \mbox{\texttt{ in}} & {\em pc} & Point Code to bind to \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Callee-\/allocated SCCP User on success; negative otherwise \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::name}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::prim\+\_\+cb}, \textbf{ sccp\+\_\+user\+\_\+bind\+\_\+pc()}, and \textbf{ osmo\+\_\+sccp\+\_\+user\+::ssn}. \mbox{\label{sccp__sap_8h_a3a84472a746578822a5cbc0dcbfece55}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_user\_find@{osmo\_sccp\_user\_find}} \index{osmo\_sccp\_user\_find@{osmo\_sccp\_user\_find}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_user\_find()} {\footnotesize\ttfamily struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$ osmo\+\_\+sccp\+\_\+user\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst, }\item[{uint16\+\_\+t}]{ssn, }\item[{uint32\+\_\+t}]{pc }\end{DoxyParamCaption})} Find a SCCP User registered for given PC+\+SSN or SSN only. First search all users with a valid PC for a full PC+\+SSN match. If no match was found, search all users with an invalid PC for an SSN-\/only match. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em inst} & SCCP Instance in which to search. \\ \hline \mbox{\texttt{ in}} & {\em ssn} & Sub-\/\+System Number to search for. \\ \hline \mbox{\texttt{ in}} & {\em pc} & Point Code to search for. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Matching SCCP User; NULL if none found. \end{DoxyReturn} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::pc}, \textbf{ sccp\+\_\+user\+\_\+find()}, and \textbf{ osmo\+\_\+sccp\+\_\+user\+::ssn}. \mbox{\label{sccp__sap_8h_a7454eca93e50d156d85fccc82073ac76}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_user\_get\_priv@{osmo\_sccp\_user\_get\_priv}} \index{osmo\_sccp\_user\_get\_priv@{osmo\_sccp\_user\_get\_priv}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_user\_get\_priv()} {\footnotesize\ttfamily void $\ast$ osmo\+\_\+sccp\+\_\+user\+\_\+get\+\_\+priv (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::priv}. \mbox{\label{sccp__sap_8h_ac95418f1985ff6dd5661c4aaad92b373}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_user\_name@{osmo\_sccp\_user\_name}} \index{osmo\_sccp\_user\_name@{osmo\_sccp\_user\_name}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_user\_name()} {\footnotesize\ttfamily const char $\ast$ osmo\+\_\+sccp\+\_\+user\+\_\+name (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu }\end{DoxyParamCaption})} Compose a human readable string to describe the SCCP user\textquotesingle{}s connection. The output follows [\textquotesingle{}$<$scu.\+name$>$\textquotesingle{}\+:]$<$local-\/sccp-\/addr$>$, e.\+g. \char`\"{}\textquotesingle{}\+Osmo\+HNBW\textquotesingle{}\+:\+RI=\+SSN\+\_\+\+PC,\+PC=0.\+23.\+5,\+SSN=\+RANAP\char`\"{}, or just \char`\"{}\+RI=\+SSN\+\_\+\+PC,\+PC=0.\+23.\+5,\+SSN=\+RANAP\char`\"{} if no scu-\/$>$name is set. This calls \doxyref{osmo\+\_\+sccp\+\_\+addr\+\_\+name()}{p.}{sccp__helpers_8h_ab751c4579907146b3194fda7eb54a5ec}, which returns a static buffer; hence calling this function and \doxyref{osmo\+\_\+sccp\+\_\+addr\+\_\+name()}{p.}{sccp__helpers_8h_ab751c4579907146b3194fda7eb54a5ec} in the same printf statement is likely to conflict. References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::name}, \textbf{ osmo\+\_\+sccp\+\_\+addr\+\_\+name()}, \textbf{ osmo\+\_\+sccp\+\_\+make\+\_\+addr\+\_\+pc\+\_\+ssn()}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, and \textbf{ osmo\+\_\+sccp\+\_\+user\+::ssn}. \mbox{\label{sccp__sap_8h_a80a39e9ce7614bcd9715d28a72d8d1d8}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_user\_sap\_down@{osmo\_sccp\_user\_sap\_down}} \index{osmo\_sccp\_user\_sap\_down@{osmo\_sccp\_user\_sap\_down}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_user\_sap\_down()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu, }\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})} Main entrance function for primitives from SCCP User. Implies a msgb\+\_\+free(oph-\/$>$msg), otherwise the same as osmo\+\_\+sccp\+\_\+user\+\_\+sap(). \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em scu} & SCCP User sending us the primitive \\ \hline \mbox{\texttt{ in}} & {\em oph} & Osmocom primitive sent by the user \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, and \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+tx\+\_\+conn\+\_\+req()}, \textbf{ osmo\+\_\+sccp\+\_\+tx\+\_\+conn\+\_\+resp\+\_\+msg()}, \textbf{ osmo\+\_\+sccp\+\_\+tx\+\_\+data()}, \textbf{ osmo\+\_\+sccp\+\_\+tx\+\_\+disconn\+\_\+data()}, \textbf{ osmo\+\_\+sccp\+\_\+tx\+\_\+unitdata()}, and \textbf{ sccp\+\_\+scmg\+\_\+tx()}. \mbox{\label{sccp__sap_8h_a1e856f6b6f7d9533aca0ddab9e045226}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_user\_sap\_down\_nofree@{osmo\_sccp\_user\_sap\_down\_nofree}} \index{osmo\_sccp\_user\_sap\_down\_nofree@{osmo\_sccp\_user\_sap\_down\_nofree}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_user\_sap\_down\_nofree()} {\footnotesize\ttfamily int osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu, }\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})} Main entrance function for primitives from SCCP User. The caller is required to free oph-\/$>$msg, otherwise the same as \doxyref{osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down()}{p.}{sccp__scoc_8c_a80a39e9ce7614bcd9715d28a72d8d1d8}. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em scu} & SCCP User sending us the primitive \\ \hline \mbox{\texttt{ in}} & {\em oph} & Osmocom primitive sent by the user \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} 0 on success; negative on error \end{DoxyReturn} References \textbf{ conn\+\_\+create\+\_\+id()}, \textbf{ conn\+\_\+find\+\_\+by\+\_\+id()}, \textbf{ osmo\+\_\+scu\+\_\+connect\+\_\+param\+::conn\+\_\+id}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::connect}, \textbf{ sccp\+\_\+connection\+::fi}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ sccp\+\_\+connection\+::inst}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+CONNECT}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DATA}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+DISCONNECT}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+RESET}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA}, \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name()}, \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}, \textbf{ scu\+\_\+prim\+\_\+conn\+\_\+id()}, \textbf{ scu\+\_\+scoc\+\_\+event\+\_\+map}, and \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down()}. \mbox{\label{sccp__sap_8h_a232a3859dff9bb004f12999c9717c82c}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_user\_set\_priv@{osmo\_sccp\_user\_set\_priv}} \index{osmo\_sccp\_user\_set\_priv@{osmo\_sccp\_user\_set\_priv}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_user\_set\_priv()} {\footnotesize\ttfamily void osmo\+\_\+sccp\+\_\+user\+\_\+set\+\_\+priv (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu, }\item[{void $\ast$}]{priv }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::priv}. \mbox{\label{sccp__sap_8h_ae2b5a2f259d5c4cf9b0e9dd9ba298665}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_user\_unbind@{osmo\_sccp\_user\_unbind}} \index{osmo\_sccp\_user\_unbind@{osmo\_sccp\_user\_unbind}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_user\_unbind()} {\footnotesize\ttfamily void osmo\+\_\+sccp\+\_\+user\+\_\+unbind (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu }\end{DoxyParamCaption})} Unbind a given SCCP user. \begin{DoxyParams}[1]{Parameters} \mbox{\texttt{ in}} & {\em scu} & SCCP User which is to be un-\/bound. Will be destroyed at the time this function returns. \\ \hline \end{DoxyParams} References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::list}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print()}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::pc}, \textbf{ osmo\+\_\+sccp\+\_\+instance\+::ss7}, and \textbf{ osmo\+\_\+sccp\+\_\+user\+::ssn}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+destroy()}. \mbox{\label{sccp__sap_8h_a6d4d5f16593e9d3f087228dd064dc3ef}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_vty\_init@{osmo\_sccp\_vty\_init}} \index{osmo\_sccp\_vty\_init@{osmo\_sccp\_vty\_init}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_vty\_init()} {\footnotesize\ttfamily void osmo\+\_\+sccp\+\_\+vty\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} References \textbf{ gen\+\_\+sccp\+\_\+timer\+\_\+cmd\+\_\+strs()}. \mbox{\label{sccp__sap_8h_a4a0d3e2c8c9135326cf427fbd07ee785}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_scu\_prim\_hdr\_name\_buf@{osmo\_scu\_prim\_hdr\_name\_buf}} \index{osmo\_scu\_prim\_hdr\_name\_buf@{osmo\_scu\_prim\_hdr\_name\_buf}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_scu\_prim\_hdr\_name\_buf()} {\footnotesize\ttfamily int osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+buf (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf, }\item[{size\+\_\+t}]{buflen, }\item[{const struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+name()}. Referenced by \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+c()}, and \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name()}. \mbox{\label{sccp__sap_8h_a27a4c463624ef3845af7d9e1d6b9e170}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_scu\_prim\_hdr\_name\_c@{osmo\_scu\_prim\_hdr\_name\_c}} \index{osmo\_scu\_prim\_hdr\_name\_c@{osmo\_scu\_prim\_hdr\_name\_c}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_scu\_prim\_hdr\_name\_c()} {\footnotesize\ttfamily char $\ast$ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+c (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx, }\item[{const struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+buf()}. \mbox{\label{sccp__sap_8h_ac79050659ecf2f0f5f4921715b386ce4}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_scu\_prim\_name@{osmo\_scu\_prim\_name}} \index{osmo\_scu\_prim\_name@{osmo\_scu\_prim\_name}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_scu\_prim\_name()} {\footnotesize\ttfamily char $\ast$ osmo\+\_\+scu\+\_\+prim\+\_\+name (\begin{DoxyParamCaption}\item[{const struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph }\end{DoxyParamCaption})} References \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+buf()}, and \textbf{ prim\+\_\+name\+\_\+buf}. Referenced by \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}, \textbf{ sccp\+\_\+sclc\+\_\+user\+\_\+sap\+\_\+down\+\_\+nofree()}, \textbf{ sccp\+\_\+user\+\_\+prim\+\_\+up()}, \textbf{ scmg\+\_\+prim\+\_\+cb()}, \textbf{ xua\+\_\+drop\+\_\+data\+\_\+check\+\_\+drop()}, and \textbf{ xua\+\_\+opt\+\_\+data\+\_\+cache\+\_\+keep()}. \mbox{\label{sccp__sap_8h_a936f5cb2f3b284a411389f6070758c96}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_scu\_prim\_type\_name@{osmo\_scu\_prim\_type\_name}} \index{osmo\_scu\_prim\_type\_name@{osmo\_scu\_prim\_type\_name}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_scu\_prim\_type\_name()} {\footnotesize\ttfamily static const char $\ast$ osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+name (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} References \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+names}. Referenced by \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+hdr\+\_\+name\+\_\+buf()}. \doxysubsection{Variable Documentation} \mbox{\label{sccp__sap_8h_ae1bde590c466d405e70b9b804527c1ad}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_gti\_names@{osmo\_sccp\_gti\_names}} \index{osmo\_sccp\_gti\_names@{osmo\_sccp\_gti\_names}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_gti\_names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+gti\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ osmo\+\_\+sccp\+\_\+gti\+\_\+name()}. \mbox{\label{sccp__sap_8h_a3c04df19759d08735f59de6af9678edf}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_rem\_sccp\_status\_names@{osmo\_sccp\_rem\_sccp\_status\_names}} \index{osmo\_sccp\_rem\_sccp\_status\_names@{osmo\_sccp\_rem\_sccp\_status\_names}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_rem\_sccp\_status\_names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ osmo\+\_\+sccp\+\_\+rem\+\_\+sccp\+\_\+status\+\_\+name()}. \mbox{\label{sccp__sap_8h_a7d2dbcc6dbd2e8f75fb6e75ba2bfe28b}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_routing\_ind\_names@{osmo\_sccp\_routing\_ind\_names}} \index{osmo\_sccp\_routing\_ind\_names@{osmo\_sccp\_routing\_ind\_names}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_routing\_ind\_names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+routing\+\_\+ind\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ osmo\+\_\+sccp\+\_\+routing\+\_\+ind\+\_\+name()}. \mbox{\label{sccp__sap_8h_a27e007aa3158d15fb27a6c28957935c2}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_sp\_status\_names@{osmo\_sccp\_sp\_status\_names}} \index{osmo\_sccp\_sp\_status\_names@{osmo\_sccp\_sp\_status\_names}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_sp\_status\_names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+sp\+\_\+status\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ osmo\+\_\+sccp\+\_\+sp\+\_\+status\+\_\+name()}. \mbox{\label{sccp__sap_8h_a5fed5e157ab1a93095318b73beb22813}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_sccp\_ssn\_names@{osmo\_sccp\_ssn\_names}} \index{osmo\_sccp\_ssn\_names@{osmo\_sccp\_ssn\_names}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_sccp\_ssn\_names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+sccp\+\_\+ssn\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ osmo\+\_\+sccp\+\_\+ssn\+\_\+name()}. \mbox{\label{sccp__sap_8h_af01add5b9ac72524cf20285d60ffb717}} \index{sccp\_sap.h@{sccp\_sap.h}!osmo\_scu\_prim\_type\_names@{osmo\_scu\_prim\_type\_names}} \index{osmo\_scu\_prim\_type\_names@{osmo\_scu\_prim\_type\_names}!sccp\_sap.h@{sccp\_sap.h}} \doxysubsubsection{osmo\_scu\_prim\_type\_names} {\footnotesize\ttfamily const struct value\+\_\+string osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}} Referenced by \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+type\+\_\+name()}.