\doxysection{ss7\+\_\+route\+\_\+table.\+h}
\label{ss7__route__table_8h_source}\index{src/ss7\_route\_table.h@{src/ss7\_route\_table.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{2 }
\DoxyCodeLine{3 \textcolor{preprocessor}{\#include <stdint.h>}}
\DoxyCodeLine{4 \textcolor{preprocessor}{\#include <unistd.h>}}
\DoxyCodeLine{5 \textcolor{preprocessor}{\#include <osmocom/core/linuxlist.h>}}
\DoxyCodeLine{6 }
\DoxyCodeLine{7 \textcolor{comment}{/***********************************************************************}}
\DoxyCodeLine{8 \textcolor{comment}{ * SS7 Routing Tables}}
\DoxyCodeLine{9 \textcolor{comment}{ ***********************************************************************/}}
\DoxyCodeLine{10 }
\DoxyCodeLine{11 \textcolor{keyword}{struct }osmo\_ss7\_instance;}
\DoxyCodeLine{12 \textcolor{keyword}{enum} osmo\_ss7\_route\_status;}
\DoxyCodeLine{13 }
\DoxyCodeLine{14 \textcolor{keyword}{struct }osmo\_ss7\_route\_label \{}
\DoxyCodeLine{15         uint32\_t opc;}
\DoxyCodeLine{16         uint32\_t dpc;}
\DoxyCodeLine{17         uint8\_t sls;}
\DoxyCodeLine{18 \};}
\DoxyCodeLine{19 \textcolor{keywordtype}{char} *ss7\_route\_label\_to\_str(\textcolor{keywordtype}{char} *buf, \textcolor{keywordtype}{size\_t} buf\_len, \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_instance *inst, \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_label *rtlb);}
\DoxyCodeLine{20 }
\DoxyCodeLine{21 \textcolor{keyword}{struct }osmo\_ss7\_route\_table \{}
\DoxyCodeLine{23         \textcolor{keyword}{struct }llist\_head list;}
\DoxyCodeLine{25         \textcolor{keyword}{struct }osmo\_ss7\_instance *inst;}
\DoxyCodeLine{27         \textcolor{keyword}{struct }llist\_head combined\_linksets;}
\DoxyCodeLine{28 }
\DoxyCodeLine{29         \textcolor{keyword}{struct }\{}
\DoxyCodeLine{30                 \textcolor{keywordtype}{char} *name;}
\DoxyCodeLine{31                 \textcolor{keywordtype}{char} *description;}
\DoxyCodeLine{32         \} cfg;}
\DoxyCodeLine{33 \};}
\DoxyCodeLine{34 }
\DoxyCodeLine{35 \textcolor{keyword}{struct }osmo\_ss7\_route\_table *}
\DoxyCodeLine{36 ss7\_route\_table\_find(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *name);}
\DoxyCodeLine{37 \textcolor{keyword}{struct }osmo\_ss7\_route\_table *}
\DoxyCodeLine{38 ss7\_route\_table\_find\_or\_create(\textcolor{keyword}{struct} osmo\_ss7\_instance *inst, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *name);}
\DoxyCodeLine{39 \textcolor{keywordtype}{void} ss7\_route\_table\_destroy(\textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl);}
\DoxyCodeLine{40 }
\DoxyCodeLine{41 \textcolor{keyword}{struct }osmo\_ss7\_route *}
\DoxyCodeLine{42 ss7\_route\_table\_find\_route\_by\_dpc\_mask(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t dpc,}
\DoxyCodeLine{43                                        uint32\_t mask, \textcolor{keywordtype}{bool} dynamic);}
\DoxyCodeLine{44 \textcolor{keyword}{struct }osmo\_ss7\_route *}
\DoxyCodeLine{45 ss7\_route\_table\_find\_route\_by\_dpc\_mask\_as(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t dpc,}
\DoxyCodeLine{46                                        uint32\_t mask, \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_as *as, \textcolor{keywordtype}{bool} dynamic);}
\DoxyCodeLine{47 \textcolor{keyword}{struct }osmo\_ss7\_route *}
\DoxyCodeLine{48 ss7\_route\_table\_lookup\_route(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_label *rtlabel);}
\DoxyCodeLine{49 \textcolor{keywordtype}{bool} ss7\_route\_table\_dpc\_is\_accessible(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t dpc);}
\DoxyCodeLine{50 \textcolor{keywordtype}{bool} ss7\_route\_table\_dpc\_is\_accessible\_via\_as(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t dpc, \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_as *as);}
\DoxyCodeLine{51 \textcolor{keywordtype}{bool} ss7\_route\_table\_dpc\_is\_accessible\_skip\_as(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t dpc, \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_as *as);}
\DoxyCodeLine{52 }
\DoxyCodeLine{53 \textcolor{keyword}{struct }osmo\_ss7\_combined\_linkset *}
\DoxyCodeLine{54 ss7\_route\_table\_find\_combined\_linkset(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t dpc, uint32\_t mask, uint32\_t prio);}
\DoxyCodeLine{55 \textcolor{keyword}{struct }osmo\_ss7\_combined\_linkset *}
\DoxyCodeLine{56 ss7\_route\_table\_find\_or\_create\_combined\_linkset(\textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t pc, uint32\_t mask, uint32\_t prio);}
\DoxyCodeLine{57 \textcolor{keyword}{struct }osmo\_ss7\_combined\_linkset *}
\DoxyCodeLine{58 ss7\_route\_table\_find\_combined\_linkset\_by\_dpc(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t dpc);}
\DoxyCodeLine{59 \textcolor{keyword}{struct }osmo\_ss7\_combined\_linkset *}
\DoxyCodeLine{60 ss7\_route\_table\_find\_combined\_linkset\_by\_dpc\_mask(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t dpc, uint32\_t mask);}
\DoxyCodeLine{61 \textcolor{keyword}{struct }osmo\_ss7\_combined\_linkset *}
\DoxyCodeLine{62 ss7\_route\_table\_find\_combined\_linkset(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, uint32\_t dpc, uint32\_t mask, uint32\_t prio);}
\DoxyCodeLine{63 }
\DoxyCodeLine{64 \textcolor{keywordtype}{void} ss7\_route\_table\_update\_route\_status\_by\_as(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, \textcolor{keyword}{enum} osmo\_ss7\_route\_status status,}
\DoxyCodeLine{65                                                \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_ss7\_as *as, uint32\_t dpc);}
\DoxyCodeLine{66 \textcolor{keywordtype}{void} ss7\_route\_table\_del\_routes\_by\_as(\textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, \textcolor{keyword}{struct} osmo\_ss7\_as *as);}
\DoxyCodeLine{67 \textcolor{keywordtype}{void} ss7\_route\_table\_del\_routes\_by\_linkset(\textcolor{keyword}{struct} osmo\_ss7\_route\_table *rtbl, \textcolor{keyword}{struct} osmo\_ss7\_linkset *lset);}

\end{DoxyCode}
