\doxysection{ss7\+\_\+instance.\+h} \label{ss7__instance_8h_source}\index{src/ss7\_instance.h@{src/ss7\_instance.h}} \textbf{ Go to the documentation of this file.} \begin{DoxyCode}{0} \DoxyCodeLine{1 \textcolor{preprocessor}{\#pragma once}} \DoxyCodeLine{2 } \DoxyCodeLine{3 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{4 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{5 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{6 } \DoxyCodeLine{7 \textcolor{comment}{/***********************************************************************}} \DoxyCodeLine{8 \textcolor{comment}{ * SS7 Instances}} \DoxyCodeLine{9 \textcolor{comment}{ ***********************************************************************/}} \DoxyCodeLine{10 } \DoxyCodeLine{11 \textcolor{keyword}{struct }osmo\_ss7\_user;} \DoxyCodeLine{12 \textcolor{keyword}{struct }osmo\_ss7\_route\_table;} \DoxyCodeLine{13 \textcolor{keyword}{struct }osmo\_ss7\_route\_label;} \DoxyCodeLine{14 \textcolor{keyword}{struct }osmo\_sccp\_instance;} \DoxyCodeLine{15 } \DoxyCodeLine{16 \textcolor{keyword}{struct }osmo\_ss7\_pc\_fmt \{} \DoxyCodeLine{17 \textcolor{keywordtype}{char} delimiter;} \DoxyCodeLine{18 uint8\_t component\_len[3];} \DoxyCodeLine{19 \};} \DoxyCodeLine{20 } \DoxyCodeLine{21 \textcolor{keyword}{struct }osmo\_ss7\_instance \{} \DoxyCodeLine{23 \textcolor{keyword}{struct }llist\_head list;} \DoxyCodeLine{25 \textcolor{keyword}{struct }llist\_head linksets;} \DoxyCodeLine{27 \textcolor{keyword}{struct }llist\_head as\_list;} \DoxyCodeLine{29 \textcolor{keyword}{struct }llist\_head asp\_list;} \DoxyCodeLine{31 \textcolor{keyword}{struct }llist\_head rtable\_list;} \DoxyCodeLine{33 \textcolor{keyword}{struct }llist\_head xua\_servers;} \DoxyCodeLine{34 \textcolor{comment}{/* array for faster lookup of user (indexed by service}} \DoxyCodeLine{35 \textcolor{comment}{ * indicator) */}} \DoxyCodeLine{36 \textcolor{keyword}{const} \textcolor{keyword}{struct }osmo\_ss7\_user *user[16];} \DoxyCodeLine{37 } \DoxyCodeLine{38 \textcolor{keyword}{struct }osmo\_ss7\_route\_table *rtable\_system;} \DoxyCodeLine{39 } \DoxyCodeLine{40 \textcolor{keyword}{struct }osmo\_sccp\_instance *sccp;} \DoxyCodeLine{41 } \DoxyCodeLine{42 \textcolor{keyword}{struct }\{} \DoxyCodeLine{43 uint32\_t id;} \DoxyCodeLine{44 \textcolor{keywordtype}{char} *name;} \DoxyCodeLine{45 \textcolor{keywordtype}{char} *description;} \DoxyCodeLine{46 uint32\_t primary\_pc;} \DoxyCodeLine{47 \textcolor{comment}{/* capability PCs */}} \DoxyCodeLine{48 uint8\_t network\_indicator;} \DoxyCodeLine{49 \textcolor{keyword}{struct }osmo\_ss7\_pc\_fmt pc\_fmt;} \DoxyCodeLine{50 \textcolor{keywordtype}{bool} permit\_dyn\_rkm\_alloc;} \DoxyCodeLine{51 \textcolor{keyword}{struct }llist\_head sccp\_address\_book;} \DoxyCodeLine{52 uint32\_t secondary\_pc;} \DoxyCodeLine{53 \textcolor{comment}{/* How many bits from ITU OPC/DPC field (starting from least-\/significant-\/bit)}} \DoxyCodeLine{54 \textcolor{comment}{ * to skip for routing decisions (always takes 6 bits).}} \DoxyCodeLine{55 \textcolor{comment}{ * range 0-\/8, defaults to 0, which means take least significant 6 bits. */}} \DoxyCodeLine{56 uint8\_t opc\_shift;} \DoxyCodeLine{57 uint8\_t dpc\_shift;} \DoxyCodeLine{58 \textcolor{comment}{/* How many bits from ITU SLS field (starting from least-\/significant-\/bit)}} \DoxyCodeLine{59 \textcolor{comment}{ * to skip for routing decisions.}} \DoxyCodeLine{60 \textcolor{comment}{ * range 0-\/3, defaults to 0, which means take all 4 bits. */}} \DoxyCodeLine{61 uint8\_t sls\_shift;} \DoxyCodeLine{62 \} cfg;} \DoxyCodeLine{63 \};} \DoxyCodeLine{64 } \DoxyCodeLine{65 \textcolor{keyword}{struct }osmo\_ss7\_instance *} \DoxyCodeLine{66 ss7\_instance\_alloc(\textcolor{keywordtype}{void} *ctx, uint32\_t \textcolor{keywordtype}{id});} \DoxyCodeLine{67 } \DoxyCodeLine{68 uint32\_t ss7\_find\_free\_l\_rk\_id(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst);} \DoxyCodeLine{69 \textcolor{keyword}{struct }osmo\_ss7\_route *} \DoxyCodeLine{70 ss7\_instance\_lookup\_route(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst, \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_label *rtlabel);} \DoxyCodeLine{71 } \DoxyCodeLine{72 \textcolor{preprocessor}{\#define \_LOGSS7(inst, subsys, level, fmt, args ...) \(\backslash\)}} \DoxyCodeLine{73 \textcolor{preprocessor}{ LOGP(subsys, level, "{}\%u: "{}} fmt, inst ? (inst)-\/>cfg.id : 0, \#\# args)} \DoxyCodeLine{74 \textcolor{preprocessor}{\#define LOGSS7(inst, level, fmt, args ...) \(\backslash\)}} \DoxyCodeLine{75 \textcolor{preprocessor}{ \_LOGSS7(inst, DLSS7, level, fmt, \#\# args)}} \end{DoxyCode}