\doxysection{trie-\/pfx.h}
\hypertarget{trie-pfx_8h_source}{}\label{trie-pfx_8h_source}\index{rtrlib/pfx/trie/trie-\/pfx.h@{rtrlib/pfx/trie/trie-\/pfx.h}}
\mbox{\hyperlink{trie-pfx_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*}}
\DoxyCodeLine{00002\ \textcolor{comment}{\ *\ This\ file\ is\ part\ of\ RTRlib.}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *\ This\ file\ is\ subject\ to\ the\ terms\ and\ conditions\ of\ the\ MIT\ license.}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *\ See\ the\ file\ LICENSE\ in\ the\ top\ level\ directory\ for\ more\ details.}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ Website:\ http://rtrlib.realmv6.org/}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00009\ }
\DoxyCodeLine{00023\ \textcolor{preprocessor}{\#ifndef\ RTR\_TRIE\_PFX}}
\DoxyCodeLine{00024\ \textcolor{preprocessor}{\#define\ RTR\_TRIE\_PFX}}
\DoxyCodeLine{00025\ }
\DoxyCodeLine{00026\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{ip_8h}{rtrlib/lib/ip.h}}"{}}}
\DoxyCodeLine{00027\ }
\DoxyCodeLine{00028\ \textcolor{preprocessor}{\#include\ <pthread.h>}}
\DoxyCodeLine{00029\ \textcolor{preprocessor}{\#include\ <stdbool.h>}}
\DoxyCodeLine{00030\ \textcolor{preprocessor}{\#include\ <stdint.h>}}
\DoxyCodeLine{00031\ }
\DoxyCodeLine{00032\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structpfx__table}{pfx\_table}};}
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00042\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structpfx__record}{pfx\_record}}\ \{}
\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ uint32\_t\ \mbox{\hyperlink{structpfx__record_a07bc216faf39e24009478eea6a422601}{asn}};}
\DoxyCodeLine{00044\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structlrtr__ip__addr}{lrtr\_ip\_addr}}\ \mbox{\hyperlink{structpfx__record_a30ba39c89dadffbade2247a9776a68b6}{prefix}};}
\DoxyCodeLine{00045\ \ \ \ \ \ \ \ \ uint8\_t\ \mbox{\hyperlink{structpfx__record_a7e04d83e2ccdc543b34ad7a1dcc44aa5}{min\_len}};}
\DoxyCodeLine{00046\ \ \ \ \ \ \ \ \ uint8\_t\ \mbox{\hyperlink{structpfx__record_a3f455121f61e24613d6320479a6b4f5a}{max\_len}};}
\DoxyCodeLine{00047\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structrtr__socket}{rtr\_socket}}\ *\mbox{\hyperlink{structpfx__record_a1e88420bbb68ab651b3c17dfc1975ec3}{socket}};}
\DoxyCodeLine{00048\ \};}
\DoxyCodeLine{00049\ }
\DoxyCodeLine{00056\ \textcolor{keyword}{typedef}\ void\ (*\mbox{\hyperlink{group__mod__trie__pfx__h_gafcc9cb0377b569f364b373c82d5d2d3c}{pfx\_update\_fp}})(\textcolor{keyword}{struct\ }\mbox{\hyperlink{structpfx__table}{pfx\_table}}\ *\mbox{\hyperlink{structpfx__table}{pfx\_table}},\ \textcolor{keyword}{const}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structpfx__record}{pfx\_record}}\ record,\ const\ bool\ added);}
\DoxyCodeLine{00057\ }
\DoxyCodeLine{00065\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structpfx__table}{pfx\_table}}\ \{}
\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structtrie__node}{trie\_node}}\ *\mbox{\hyperlink{structpfx__table_a610c855b581a517b731cc7bfa949cf21}{ipv4}};}
\DoxyCodeLine{00067\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structtrie__node}{trie\_node}}\ *\mbox{\hyperlink{structpfx__table_a7336880feac15a6e90a768f15c5200b0}{ipv6}};}
\DoxyCodeLine{00068\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__mod__trie__pfx__h_gafcc9cb0377b569f364b373c82d5d2d3c}{pfx\_update\_fp}}\ \mbox{\hyperlink{structpfx__table_a4e6b05af0bd7e87b03fdd231d5aa7cd4}{update\_fp}};}
\DoxyCodeLine{00069\ \ \ \ \ \ \ \ \ pthread\_rwlock\_t\ \mbox{\hyperlink{structpfx__table_a4b7e332763a9284905e79629e525e8a2}{lock}};}
\DoxyCodeLine{00070\ \};}
\DoxyCodeLine{00071\ }
\DoxyCodeLine{00072\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
