\section{Tun\-Device Class Reference}
\label{classTunDevice}\index{TunDevice@{TunDevice}}
{\tt \#include $<$tun\-Device.h$>$}

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Tun\-Device} (const char $\ast$dev, const char $\ast$dev\_\-type, const char $\ast$ifcfg\_\-lp, const char $\ast$ifcfg\_\-rnmp)
\item 
{\bf $\sim$Tun\-Device} ()
\item 
void {\bf open} ()
\item 
void {\bf close} ()
\item 
bool {\bf is\-Open} ()
\item 
short {\bf read} ({\bf Buffer} \&buf)
\item 
int {\bf write} ({\bf Buffer} \&buf)
\item 
char $\ast$ {\bf get\-Actual\-Name} ()
\item 
{\bf u\_\-int32\_\-t} {\bf get\-Type} ()
\item 
char $\ast$ {\bf get\-Type\-String} ()
\end{CompactItemize}
\subsection*{Static Public Attributes}
\begin{CompactItemize}
\item 
static const {\bf u\_\-int32\_\-t} {\bf TYPE\_\-UNDEF} = 0
\item 
static const {\bf u\_\-int32\_\-t} {\bf TYPE\_\-TUN} = 1
\item 
static const {\bf u\_\-int32\_\-t} {\bf TYPE\_\-TAP} = 2
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item 
void {\bf operator=} (const {\bf Tun\-Device} \&src)
\item 
{\bf Tun\-Device} (const {\bf Tun\-Device} \&src)
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
{\bf Mutex} {\bf io\_\-mutex\_\-}
\item 
tuntap $\ast$ {\bf dev\_\-}
\end{CompactItemize}


\subsection{Constructor \& Destructor Documentation}
\index{TunDevice@{Tun\-Device}!TunDevice@{TunDevice}}
\index{TunDevice@{TunDevice}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Tun\-Device::Tun\-Device (const char $\ast$ {\em dev}, const char $\ast$ {\em dev\_\-type}, const char $\ast$ {\em ifcfg\_\-lp}, const char $\ast$ {\em ifcfg\_\-rnmp})}\label{classTunDevice_d6914bd3a45e03ffe95676ac4420154a}


\index{TunDevice@{Tun\-Device}!~TunDevice@{$\sim$TunDevice}}
\index{~TunDevice@{$\sim$TunDevice}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Tun\-Device::$\sim$Tun\-Device ()}\label{classTunDevice_2c6196d270bf4d0e99ff4f860391faed}


\index{TunDevice@{Tun\-Device}!TunDevice@{TunDevice}}
\index{TunDevice@{TunDevice}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Tun\-Device::Tun\-Device (const {\bf Tun\-Device} \& {\em src})\hspace{0.3cm}{\tt  [private]}}\label{classTunDevice_4587b54228b4240334ad4614211df394}




\subsection{Member Function Documentation}
\index{TunDevice@{Tun\-Device}!open@{open}}
\index{open@{open}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Tun\-Device::open ()}\label{classTunDevice_323ddcfd4ac60d0dbfe6ebb5bbb9a323}


\index{TunDevice@{Tun\-Device}!close@{close}}
\index{close@{close}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Tun\-Device::close ()}\label{classTunDevice_13986e13fe28da6c917293c40effb902}


\index{TunDevice@{Tun\-Device}!isOpen@{isOpen}}
\index{isOpen@{isOpen}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Tun\-Device::is\-Open ()}\label{classTunDevice_f63f3331789f043e44eb435b78c815b2}


\index{TunDevice@{Tun\-Device}!read@{read}}
\index{read@{read}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}short Tun\-Device::read ({\bf Buffer} \& {\em buf})}\label{classTunDevice_553498887edc92f7b7e31e3bf04fb8fb}


\index{TunDevice@{Tun\-Device}!write@{write}}
\index{write@{write}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Tun\-Device::write ({\bf Buffer} \& {\em buf})}\label{classTunDevice_958bc73a627cc5d404ed87204547134d}


\index{TunDevice@{Tun\-Device}!getActualName@{getActualName}}
\index{getActualName@{getActualName}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char $\ast$ Tun\-Device::get\-Actual\-Name ()}\label{classTunDevice_e02f8972f75b11b69280fba9b6649cab}


\index{TunDevice@{Tun\-Device}!getType@{getType}}
\index{getType@{getType}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf u\_\-int32\_\-t} Tun\-Device::get\-Type ()}\label{classTunDevice_b57512464007681dcc92820adb3deb0f}


\index{TunDevice@{Tun\-Device}!getTypeString@{getTypeString}}
\index{getTypeString@{getTypeString}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char $\ast$ Tun\-Device::get\-Type\-String ()}\label{classTunDevice_0cecbc6a7e58d294dd005e7d523173bd}


\index{TunDevice@{Tun\-Device}!operator=@{operator=}}
\index{operator=@{operator=}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Tun\-Device::operator= (const {\bf Tun\-Device} \& {\em src})\hspace{0.3cm}{\tt  [private]}}\label{classTunDevice_de33e9a7a951b43f2f7e24d8fe9c311e}




\subsection{Member Data Documentation}
\index{TunDevice@{Tun\-Device}!TYPE_UNDEF@{TYPE\_\-UNDEF}}
\index{TYPE_UNDEF@{TYPE\_\-UNDEF}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf u\_\-int32\_\-t} {\bf Tun\-Device::TYPE\_\-UNDEF} = 0\hspace{0.3cm}{\tt  [static]}}\label{classTunDevice_ec146b27c7755747c1cc1511e4482875}


\index{TunDevice@{Tun\-Device}!TYPE_TUN@{TYPE\_\-TUN}}
\index{TYPE_TUN@{TYPE\_\-TUN}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf u\_\-int32\_\-t} {\bf Tun\-Device::TYPE\_\-TUN} = 1\hspace{0.3cm}{\tt  [static]}}\label{classTunDevice_ea416d7f03ef22bf1d166d33b47fd993}


\index{TunDevice@{Tun\-Device}!TYPE_TAP@{TYPE\_\-TAP}}
\index{TYPE_TAP@{TYPE\_\-TAP}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf u\_\-int32\_\-t} {\bf Tun\-Device::TYPE\_\-TAP} = 2\hspace{0.3cm}{\tt  [static]}}\label{classTunDevice_b4ce6b158bbe4fe051b6fea8cd3d6cd3}


\index{TunDevice@{Tun\-Device}!io_mutex_@{io\_\-mutex\_\-}}
\index{io_mutex_@{io\_\-mutex\_\-}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Mutex} {\bf Tun\-Device::io\_\-mutex\_\-}\hspace{0.3cm}{\tt  [private]}}\label{classTunDevice_e130228e28996e644d2013089e704d4c}


\index{TunDevice@{Tun\-Device}!dev_@{dev\_\-}}
\index{dev_@{dev\_\-}!TunDevice@{Tun\-Device}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct tuntap$\ast$ {\bf Tun\-Device::dev\_\-}\hspace{0.3cm}{\tt  [private]}}\label{classTunDevice_239c85381dfcf1776303778d1784df51}




The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
{\bf tun\-Device.h}\item 
{\bf tun\-Device.cpp}\end{CompactItemize}
