\doxysection{rtrlib/rtr/rtr.h File Reference}
\hypertarget{rtr_8h}{}\label{rtr_8h}\index{rtrlib/rtr/rtr.h@{rtrlib/rtr/rtr.h}}
{\ttfamily \#include $<$pthread.\+h$>$}\newline
{\ttfamily \#include $<$stdbool.\+h$>$}\newline
{\ttfamily \#include $<$stdint.\+h$>$}\newline
\doxysubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structrtr__socket}{rtr\+\_\+socket}}
\begin{DoxyCompactList}\small\item\em A RTR socket. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef void(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__mod__rtr__h_ga71ec6263b63ee7fa9d1758b43a67dad8}{rtr\+\_\+connection\+\_\+state\+\_\+fp}}) (const struct \mbox{\hyperlink{structrtr__socket}{rtr\+\_\+socket}} \texorpdfstring{$\ast$}{*}\mbox{\hyperlink{structrtr__socket}{rtr\+\_\+socket}}, const enum \mbox{\hyperlink{group__mod__rtr__h_ga62bcc901355906dd300e2b62c9278cbc}{rtr\+\_\+socket\+\_\+state}} state, void \texorpdfstring{$\ast$}{*}connection\+\_\+state\+\_\+fp\+\_\+param\+\_\+config, void \texorpdfstring{$\ast$}{*}connection\+\_\+state\+\_\+fp\+\_\+param\+\_\+group)
\begin{DoxyCompactList}\small\item\em A function pointer that is called if the state of the rtr socket has changed. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{group__mod__rtr__h_gaa67c38ea4f2832d0da2bb3ec40e691d8}{rtr\+\_\+rtvals}} \{ \mbox{\hyperlink{group__mod__rtr__h_ggaa67c38ea4f2832d0da2bb3ec40e691d8a12b247f6dd6f92d7957f237d5d3e21bc}{RTR\+\_\+\+SUCCESS}} = 0
, \mbox{\hyperlink{group__mod__rtr__h_ggaa67c38ea4f2832d0da2bb3ec40e691d8a5650aecaafb21d145060a2885e395eb1}{RTR\+\_\+\+ERROR}} = -\/1
, \mbox{\hyperlink{group__mod__rtr__h_ggaa67c38ea4f2832d0da2bb3ec40e691d8abd30dc1e6e32b5b6f0014cf8c83946d6}{RTR\+\_\+\+INVALID\+\_\+\+PARAM}} = -\/2
 \}
\item 
enum \mbox{\hyperlink{group__mod__rtr__h_ga31b1bb66cb95ac21f7108440e7506b38}{rtr\+\_\+interval\+\_\+mode}} \{ \mbox{\hyperlink{group__mod__rtr__h_gga31b1bb66cb95ac21f7108440e7506b38ab2d73bf198395e845d6ba207e264f6eb}{RTR\+\_\+\+INTERVAL\+\_\+\+MODE\+\_\+\+IGNORE\+\_\+\+ANY}}
, \mbox{\hyperlink{group__mod__rtr__h_gga31b1bb66cb95ac21f7108440e7506b38abef109b4282a231bdbeec27117fa2ce3}{RTR\+\_\+\+INTERVAL\+\_\+\+MODE\+\_\+\+ACCEPT\+\_\+\+ANY}}
, \mbox{\hyperlink{group__mod__rtr__h_gga31b1bb66cb95ac21f7108440e7506b38a00460bd1c4f2db207a0b1ebefc354a50}{RTR\+\_\+\+INTERVAL\+\_\+\+MODE\+\_\+\+DEFAULT\+\_\+\+MIN\+\_\+\+MAX}}
, \mbox{\hyperlink{group__mod__rtr__h_gga31b1bb66cb95ac21f7108440e7506b38ab876811b811add0171f8fb637236f070}{RTR\+\_\+\+INTERVAL\+\_\+\+MODE\+\_\+\+IGNORE\+\_\+\+ON\+\_\+\+FAILURE}}
 \}
\begin{DoxyCompactList}\small\item\em These modes let the user configure how received intervals should be handled. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__mod__rtr__h_ga62bcc901355906dd300e2b62c9278cbc}{rtr\+\_\+socket\+\_\+state}} \{ \newline
\mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbca5a8bbe8c0e848043d5707a9d70004c5a}{RTR\+\_\+\+CONNECTING}}
, \mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbcad884689742a432e75a457e716e77b086}{RTR\+\_\+\+ESTABLISHED}}
, \mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbca036ce764a49435c826d21a5df1be8e7e}{RTR\+\_\+\+RESET}}
, \mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbca3367cb5bc6343cfe13c6dd276235b2ea}{RTR\+\_\+\+SYNC}}
, \newline
\mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbca88fc4369bd2cd94d68545a0822afaf09}{RTR\+\_\+\+FAST\+\_\+\+RECONNECT}}
, \mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbcaa5b13b46d42c0beefd37431b21424d1f}{RTR\+\_\+\+ERROR\+\_\+\+NO\+\_\+\+DATA\+\_\+\+AVAIL}}
, \mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbcad8dd32ab133cc01546ece546fcd0c7e4}{RTR\+\_\+\+ERROR\+\_\+\+NO\+\_\+\+INCR\+\_\+\+UPDATE\+\_\+\+AVAIL}}
, \mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbca33bdf094610a6a16cbe2bad496115077}{RTR\+\_\+\+ERROR\+\_\+\+FATAL}}
, \newline
\mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbcaaf42f891672acd81b0a01fa7455aafa3}{RTR\+\_\+\+ERROR\+\_\+\+TRANSPORT}}
, \mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbcae4cecebbe31c18cc87a3179b7d638585}{RTR\+\_\+\+SHUTDOWN}}
, \mbox{\hyperlink{group__mod__rtr__h_gga62bcc901355906dd300e2b62c9278cbcac817bc30f7e29396ecae0a47fec69590}{RTR\+\_\+\+CLOSED}}
 \}
\begin{DoxyCompactList}\small\item\em States of the RTR socket. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__mod__rtr__h_ga65aa9655f85c354a8ad3d33c961d1a57}{rtr\+\_\+state\+\_\+to\+\_\+str}} (enum \mbox{\hyperlink{group__mod__rtr__h_ga62bcc901355906dd300e2b62c9278cbc}{rtr\+\_\+socket\+\_\+state}} state)
\begin{DoxyCompactList}\small\item\em Converts a rtr\+\_\+socket\+\_\+state to a String. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__mod__rtr__h_ga77552d7d8f4d41774cb6b000b18bbf17}{rtr\+\_\+set\+\_\+interval\+\_\+mode}} (struct \mbox{\hyperlink{structrtr__socket}{rtr\+\_\+socket}} \texorpdfstring{$\ast$}{*}\mbox{\hyperlink{structrtr__socket}{rtr\+\_\+socket}}, enum \mbox{\hyperlink{group__mod__rtr__h_ga31b1bb66cb95ac21f7108440e7506b38}{rtr\+\_\+interval\+\_\+mode}} option)
\begin{DoxyCompactList}\small\item\em Set the interval option to the desired one. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__mod__rtr__h_ga31b1bb66cb95ac21f7108440e7506b38}{rtr\+\_\+interval\+\_\+mode}} \mbox{\hyperlink{group__mod__rtr__h_ga8b3673db716238adbb49b1537a316bfa}{rtr\+\_\+get\+\_\+interval\+\_\+mode}} (struct \mbox{\hyperlink{structrtr__socket}{rtr\+\_\+socket}} \texorpdfstring{$\ast$}{*}\mbox{\hyperlink{structrtr__socket}{rtr\+\_\+socket}})
\begin{DoxyCompactList}\small\item\em Get the current interval mode. \end{DoxyCompactList}\end{DoxyCompactItemize}
