\hypertarget{classCisInput}{}\section{Cis\+Input Class Reference}
\label{classCisInput}\index{Cis\+Input@{Cis\+Input}}


Flag for checking if \mbox{\hyperlink{CisInterface_8hpp_source}{Cis\+Interface.\+hpp}} has already been included.  




{\ttfamily \#include $<$Cis\+Interface.\+hpp$>$}

Inheritance diagram for Cis\+Input\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.100000cm]{classCisInput}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classCisInput_a5a81811ecb4ea9b3d786ea60522cdcb7}{Cis\+Input}} (const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Constructor for \mbox{\hyperlink{classCisInput}{Cis\+Input}}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classCisInput_a9e6a005bec40db9eacc4bd7c8051c112}\label{classCisInput_a9e6a005bec40db9eacc4bd7c8051c112}} 
\mbox{\hyperlink{classCisInput_a9e6a005bec40db9eacc4bd7c8051c112}{Cis\+Input}} (cis\+Input\+\_\+t x)
\begin{DoxyCompactList}\small\item\em Empty constructor for inheritance. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classCisInput_ad39b94867de8741606bef7f1acdcbfd2}{Cis\+Input}} (const char $\ast$name, const char $\ast$fmt)
\begin{DoxyCompactList}\small\item\em Constructor for \mbox{\hyperlink{classCisInput}{Cis\+Input}} with format. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classCisInput_af098d058831c5aeb24c785daf322d0d3}\label{classCisInput_af098d058831c5aeb24c785daf322d0d3}} 
void \mbox{\hyperlink{classCisInput_af098d058831c5aeb24c785daf322d0d3}{\+\_\+destroy\+\_\+pi}} ()
\begin{DoxyCompactList}\small\item\em Alias to allow freeing of underlying C struct at the class level. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classCisInput_a66ff037c37e380abd82e107980f0af44}\label{classCisInput_a66ff037c37e380abd82e107980f0af44}} 
\mbox{\hyperlink{classCisInput_a66ff037c37e380abd82e107980f0af44}{$\sim$\+Cis\+Input}} ()
\begin{DoxyCompactList}\small\item\em Destructor for \mbox{\hyperlink{classCisInput}{Cis\+Input}}. See cis\+\_\+free in \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} for details. \end{DoxyCompactList}\item 
cis\+Input\+\_\+t \mbox{\hyperlink{classCisInput_a2b560759fbd797db1dc049e886ce72e5}{pi}} ()
\begin{DoxyCompactList}\small\item\em Return the cis\+Input\+\_\+t structure. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classCisInput_aa05f26dd9d8db09e12da739831637a2a}{recv}} (char $\ast$data, const size\+\_\+t len)
\begin{DoxyCompactList}\small\item\em Receive a message shorter than C\+I\+S\+\_\+\+M\+S\+G\+\_\+\+M\+AX from the input queue. See cis\+\_\+recv in \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} for additional details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classCisInput_a387134ab4f750a06654946d4b92d412d}{recv}} (const int nargs,...)
\begin{DoxyCompactList}\small\item\em Receive and parse a message shorter than C\+I\+S\+\_\+\+M\+S\+G\+\_\+\+M\+AX from the input queue. See cis\+Recv from \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} for details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classCisInput_a962f5ebcac9d8b70fe3cd907da6dd3a9}{recv\+\_\+nolimit}} (char $\ast$$\ast$data, const size\+\_\+t len)
\begin{DoxyCompactList}\small\item\em Receive a message larger than C\+I\+S\+\_\+\+M\+S\+G\+\_\+\+M\+AX from the input queue. See cis\+\_\+recv\+\_\+nolimit in \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} for additional details. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classCisInput_aa78610915e128dc1ed0d234271d2d656}{recv\+\_\+nolimit}} (const int nargs,...)
\begin{DoxyCompactList}\small\item\em Receive and parse a message larger than C\+I\+S\+\_\+\+M\+S\+G\+\_\+\+M\+AX from the input queue. See cis\+Recv\+\_\+nolimit from \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} for details. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Flag for checking if \mbox{\hyperlink{CisInterface_8hpp_source}{Cis\+Interface.\+hpp}} has already been included. 

C++ interface to cis\+Input\+\_\+t functionality.

The \mbox{\hyperlink{classCisInput}{Cis\+Input}} class is a basic wrapper around the C cis\+Input\+\_\+t structure and associated functions from the \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} header. It provides the user with C++ style access to basic input via an I\+PC queue. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classCisInput_a5a81811ecb4ea9b3d786ea60522cdcb7}\label{classCisInput_a5a81811ecb4ea9b3d786ea60522cdcb7}} 
\index{Cis\+Input@{Cis\+Input}!Cis\+Input@{Cis\+Input}}
\index{Cis\+Input@{Cis\+Input}!Cis\+Input@{Cis\+Input}}
\subsubsection{\texorpdfstring{Cis\+Input()}{CisInput()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Cis\+Input\+::\+Cis\+Input (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Constructor for \mbox{\hyperlink{classCisInput}{Cis\+Input}}. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em name} & constant character pointer to name of input queue. This should be the argument to an input driver in the yaml specification file. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classCisInput_ad39b94867de8741606bef7f1acdcbfd2}\label{classCisInput_ad39b94867de8741606bef7f1acdcbfd2}} 
\index{Cis\+Input@{Cis\+Input}!Cis\+Input@{Cis\+Input}}
\index{Cis\+Input@{Cis\+Input}!Cis\+Input@{Cis\+Input}}
\subsubsection{\texorpdfstring{Cis\+Input()}{CisInput()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Cis\+Input\+::\+Cis\+Input (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name,  }\item[{const char $\ast$}]{fmt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Constructor for \mbox{\hyperlink{classCisInput}{Cis\+Input}} with format. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em name} & constant character pointer to name of input queue. This should be the argument to an input driver in the yaml specification file. \\
\hline
\mbox{\tt in}  & {\em fmt} & character pointer to format string for parsing messages. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{classCisInput_a2b560759fbd797db1dc049e886ce72e5}\label{classCisInput_a2b560759fbd797db1dc049e886ce72e5}} 
\index{Cis\+Input@{Cis\+Input}!pi@{pi}}
\index{pi@{pi}!Cis\+Input@{Cis\+Input}}
\subsubsection{\texorpdfstring{pi()}{pi()}}
{\footnotesize\ttfamily cis\+Input\+\_\+t Cis\+Input\+::pi (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Return the cis\+Input\+\_\+t structure. 

\begin{DoxyReturn}{Returns}
cis\+Input\+\_\+t structure underlying the class. 
\end{DoxyReturn}
\mbox{\Hypertarget{classCisInput_aa05f26dd9d8db09e12da739831637a2a}\label{classCisInput_aa05f26dd9d8db09e12da739831637a2a}} 
\index{Cis\+Input@{Cis\+Input}!recv@{recv}}
\index{recv@{recv}!Cis\+Input@{Cis\+Input}}
\subsubsection{\texorpdfstring{recv()}{recv()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily int Cis\+Input\+::recv (\begin{DoxyParamCaption}\item[{char $\ast$}]{data,  }\item[{const size\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Receive a message shorter than C\+I\+S\+\_\+\+M\+S\+G\+\_\+\+M\+AX from the input queue. See cis\+\_\+recv in \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} for additional details. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em data} & character pointer to allocated buffer where the message should be saved. \\
\hline
\mbox{\tt in}  & {\em len} & size\+\_\+t length of the allocated message buffer in bytes. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
int -\/1 if message could not be received. Length of the received message if message was received. 
\end{DoxyReturn}
\mbox{\Hypertarget{classCisInput_a387134ab4f750a06654946d4b92d412d}\label{classCisInput_a387134ab4f750a06654946d4b92d412d}} 
\index{Cis\+Input@{Cis\+Input}!recv@{recv}}
\index{recv@{recv}!Cis\+Input@{Cis\+Input}}
\subsubsection{\texorpdfstring{recv()}{recv()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily int Cis\+Input\+::recv (\begin{DoxyParamCaption}\item[{const int}]{nargs,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Receive and parse a message shorter than C\+I\+S\+\_\+\+M\+S\+G\+\_\+\+M\+AX from the input queue. See cis\+Recv from \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} for details. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em nargs} & int Number of arguments being passed. \\
\hline
\mbox{\tt out}  & {\em ...} & mixed arguments that should be assigned parameters extracted using the format string. Since these will be assigned, they should be pointers to memory that has already been allocated. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
integer specifying if the receive was succesful. Values $>$= 0 indicate success. 
\end{DoxyReturn}
\mbox{\Hypertarget{classCisInput_a962f5ebcac9d8b70fe3cd907da6dd3a9}\label{classCisInput_a962f5ebcac9d8b70fe3cd907da6dd3a9}} 
\index{Cis\+Input@{Cis\+Input}!recv\+\_\+nolimit@{recv\+\_\+nolimit}}
\index{recv\+\_\+nolimit@{recv\+\_\+nolimit}!Cis\+Input@{Cis\+Input}}
\subsubsection{\texorpdfstring{recv\+\_\+nolimit()}{recv\_nolimit()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily int Cis\+Input\+::recv\+\_\+nolimit (\begin{DoxyParamCaption}\item[{char $\ast$$\ast$}]{data,  }\item[{const size\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Receive a message larger than C\+I\+S\+\_\+\+M\+S\+G\+\_\+\+M\+AX from the input queue. See cis\+\_\+recv\+\_\+nolimit in \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} for additional details. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em data} & character pointer to allocated buffer where the message should be saved. \\
\hline
\mbox{\tt in}  & {\em len} & size\+\_\+t length of the allocated message buffer in bytes. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
int -\/1 if message could not be received. Length of the received message if message was received. 
\end{DoxyReturn}
\mbox{\Hypertarget{classCisInput_aa78610915e128dc1ed0d234271d2d656}\label{classCisInput_aa78610915e128dc1ed0d234271d2d656}} 
\index{Cis\+Input@{Cis\+Input}!recv\+\_\+nolimit@{recv\+\_\+nolimit}}
\index{recv\+\_\+nolimit@{recv\+\_\+nolimit}!Cis\+Input@{Cis\+Input}}
\subsubsection{\texorpdfstring{recv\+\_\+nolimit()}{recv\_nolimit()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily int Cis\+Input\+::recv\+\_\+nolimit (\begin{DoxyParamCaption}\item[{const int}]{nargs,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Receive and parse a message larger than C\+I\+S\+\_\+\+M\+S\+G\+\_\+\+M\+AX from the input queue. See cis\+Recv\+\_\+nolimit from \mbox{\hyperlink{CisInterface_8h_source}{Cis\+Interface.\+h}} for details. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em nargs} & int Number of arguments being passed. \\
\hline
\mbox{\tt out}  & {\em ...} & mixed arguments that should be assigned parameters extracted using the format string. Since these will be assigned, they should be pointers to memory that has already been allocated. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
integer specifying if the receive was succesful. Values $>$= 0 indicate success. 
\end{DoxyReturn}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/root/cis\+\_\+interface/cis\+\_\+interface/cis\+\_\+interface/interface/Cis\+Interface.\+hpp\end{DoxyCompactItemize}
