\hypertarget{structmwCipher}{
\section{mwCipher Struct Reference}
\label{structmwCipher}\index{mwCipher@{mwCipher}}
}
{\tt \#include $<$mw\_\-cipher.h$>$}



\subsection{Detailed Description}
A cipher. 

Ciphers are primarily used to provide cipher instances for bi-directional encryption on channels, but some may be used for other activities. Expand upon this structure to create a custom encryption provider. \begin{Desc}
\item[See also:]\hyperlink{structmwCipherInstance}{mwCipherInstance} \end{Desc}
\subsection*{Data Fields}
\begin{CompactItemize}
\item 
struct \hyperlink{structmwEncryptItem}{mwEncryptItem} $\ast$($\ast$ \hyperlink{structmwCipher_3757d769480279c6af691587fcadad75}{accept} )(struct \hyperlink{structmwCipherInstance}{mwCipherInstance} $\ast$ci)
\item 
void($\ast$ \hyperlink{structmwCipher_ae223ec72cfa4f9fc0fea723609edfff}{accepted} )(struct \hyperlink{structmwCipherInstance}{mwCipherInstance} $\ast$ci, struct \hyperlink{structmwEncryptItem}{mwEncryptItem} $\ast$item)
\item 
void($\ast$ \hyperlink{structmwCipher_2759a966db6c87ccbc7a30351d04b52c}{clear} )(struct \hyperlink{structmwCipher}{mwCipher} $\ast$c)
\begin{CompactList}\small\item\em prepare this cipher for being free'd \item\end{CompactList}\item 
void($\ast$ \hyperlink{structmwCipher_c15dbe512f0e1b1c24923f39596022fa}{clear\_\-instance} )(struct \hyperlink{structmwCipherInstance}{mwCipherInstance} $\ast$ci)
\begin{CompactList}\small\item\em clean up a cipher instance before being free'd \item\end{CompactList}\item 
\hyperlink{mw__cipher_8h_130909e22689a8b83c70572af9850bef}{mwCipherProcessor} \hyperlink{structmwCipher_9dff138daf0f325e897dea90e70078b6}{decrypt}
\item 
\hyperlink{mw__cipher_8h_130909e22689a8b83c70572af9850bef}{mwCipherProcessor} \hyperlink{structmwCipher_c3fa2b1a18b7924450bc5343624b8a2a}{encrypt}
\item 
const char $\ast$($\ast$ \hyperlink{structmwCipher_f38ccab055e6734cb038d1bb657c5c12}{get\_\-desc} )()
\item 
const char $\ast$($\ast$ \hyperlink{structmwCipher_92ce6896b01d174b19952029c7054f7f}{get\_\-name} )()
\item 
\hyperlink{mw__cipher_8h_866fc29431a5cd1c3c49e9b1e8b09800}{mwCipherInstantiator} \hyperlink{structmwCipher_dfed31e997b9a9ba78363fdb1476253b}{new\_\-instance}
\begin{CompactList}\small\item\em Generate a new Cipher Instance for use on a channel. \item\end{CompactList}\item 
struct \hyperlink{structmwEncryptItem}{mwEncryptItem} $\ast$($\ast$ \hyperlink{structmwCipher_fd415bbd997d28f62c120f921d2149cd}{offer} )(struct \hyperlink{structmwCipherInstance}{mwCipherInstance} $\ast$ci)
\item 
void($\ast$ \hyperlink{structmwCipher_e47e505d184f4d6ea6a2762f76aba9e4}{offered} )(struct \hyperlink{structmwCipherInstance}{mwCipherInstance} $\ast$ci, struct \hyperlink{structmwEncryptItem}{mwEncryptItem} $\ast$item)
\item 
struct \hyperlink{structmwSession}{mwSession} $\ast$ \hyperlink{structmwCipher_ec395dce47a0b5f4779522bd0c1888e2}{session}
\begin{CompactList}\small\item\em service this cipher is providing for \item\end{CompactList}\item 
guint16 \hyperlink{structmwCipher_a65d8c035878ffd68aa21099a18eb959}{type}
\end{CompactItemize}


\subsection{Field Documentation}
\hypertarget{structmwCipher_3757d769480279c6af691587fcadad75}{
\index{mwCipher@{mwCipher}!accept@{accept}}
\index{accept@{accept}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwEncryptItem}$\ast$($\ast$ {\bf mwCipher::accept})(struct {\bf mwCipherInstance} $\ast$ci)\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{structmwCipher_3757d769480279c6af691587fcadad75}


\hypertarget{structmwCipher_ae223ec72cfa4f9fc0fea723609edfff}{
\index{mwCipher@{mwCipher}!accepted@{accepted}}
\index{accepted@{accepted}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ {\bf mwCipher::accepted})(struct {\bf mwCipherInstance} $\ast$ci, struct {\bf mwEncryptItem} $\ast$item)}}
\label{structmwCipher_ae223ec72cfa4f9fc0fea723609edfff}


\hypertarget{structmwCipher_2759a966db6c87ccbc7a30351d04b52c}{
\index{mwCipher@{mwCipher}!clear@{clear}}
\index{clear@{clear}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ {\bf mwCipher::clear})(struct {\bf mwCipher} $\ast$c)}}
\label{structmwCipher_2759a966db6c87ccbc7a30351d04b52c}


prepare this cipher for being free'd 

\begin{Desc}
\item[See also:]\hyperlink{mw__cipher_8h_4d6a169e214b8e6b60e6fb2e7c5c51bd}{mwCipher\_\-free} \end{Desc}
\hypertarget{structmwCipher_c15dbe512f0e1b1c24923f39596022fa}{
\index{mwCipher@{mwCipher}!clear\_\-instance@{clear\_\-instance}}
\index{clear\_\-instance@{clear\_\-instance}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ {\bf mwCipher::clear\_\-instance})(struct {\bf mwCipherInstance} $\ast$ci)}}
\label{structmwCipher_c15dbe512f0e1b1c24923f39596022fa}


clean up a cipher instance before being free'd 

\begin{Desc}
\item[See also:]\hyperlink{mw__cipher_8h_302cdec8d916252920962bc7aefe39a4}{mwCipherInstance\_\-free} \end{Desc}
\hypertarget{structmwCipher_9dff138daf0f325e897dea90e70078b6}{
\index{mwCipher@{mwCipher}!decrypt@{decrypt}}
\index{decrypt@{decrypt}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf mwCipherProcessor} {\bf mwCipher::decrypt}}}
\label{structmwCipher_9dff138daf0f325e897dea90e70078b6}


\begin{Desc}
\item[See also:]\hyperlink{mw__cipher_8h_20e64408792db9e2845f8a7865eefe65}{mwCipherInstance\_\-decrypt} \end{Desc}
\hypertarget{structmwCipher_c3fa2b1a18b7924450bc5343624b8a2a}{
\index{mwCipher@{mwCipher}!encrypt@{encrypt}}
\index{encrypt@{encrypt}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf mwCipherProcessor} {\bf mwCipher::encrypt}}}
\label{structmwCipher_c3fa2b1a18b7924450bc5343624b8a2a}


\begin{Desc}
\item[See also:]\hyperlink{mw__cipher_8h_fbdb09cd3991970596b9e7ad1865a4b5}{mwCipherInstance\_\-encrypt} \end{Desc}
\hypertarget{structmwCipher_f38ccab055e6734cb038d1bb657c5c12}{
\index{mwCipher@{mwCipher}!get\_\-desc@{get\_\-desc}}
\index{get\_\-desc@{get\_\-desc}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$($\ast$ {\bf mwCipher::get\_\-desc})()}}
\label{structmwCipher_f38ccab055e6734cb038d1bb657c5c12}


\begin{Desc}
\item[See also:]\hyperlink{mw__cipher_8h_2fe3c59366be8e33dea3ea8089f17309}{mwCipher\_\-getDesc} \end{Desc}
\hypertarget{structmwCipher_92ce6896b01d174b19952029c7054f7f}{
\index{mwCipher@{mwCipher}!get\_\-name@{get\_\-name}}
\index{get\_\-name@{get\_\-name}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$($\ast$ {\bf mwCipher::get\_\-name})()}}
\label{structmwCipher_92ce6896b01d174b19952029c7054f7f}


\begin{Desc}
\item[See also:]\hyperlink{mw__cipher_8h_57a44521a627c04f67fd26b6112c232e}{mwCipher\_\-getName} \end{Desc}
\hypertarget{structmwCipher_dfed31e997b9a9ba78363fdb1476253b}{
\index{mwCipher@{mwCipher}!new\_\-instance@{new\_\-instance}}
\index{new\_\-instance@{new\_\-instance}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf mwCipherInstantiator} {\bf mwCipher::new\_\-instance}}}
\label{structmwCipher_dfed31e997b9a9ba78363fdb1476253b}


Generate a new Cipher Instance for use on a channel. 

\begin{Desc}
\item[See also:]\hyperlink{mw__cipher_8h_0d03f56fb313094c1129a4e8086cfce3}{mwCipher\_\-newInstance} \end{Desc}
\hypertarget{structmwCipher_fd415bbd997d28f62c120f921d2149cd}{
\index{mwCipher@{mwCipher}!offer@{offer}}
\index{offer@{offer}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwEncryptItem}$\ast$($\ast$ {\bf mwCipher::offer})(struct {\bf mwCipherInstance} $\ast$ci)\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{structmwCipher_fd415bbd997d28f62c120f921d2149cd}


\hypertarget{structmwCipher_e47e505d184f4d6ea6a2762f76aba9e4}{
\index{mwCipher@{mwCipher}!offered@{offered}}
\index{offered@{offered}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ {\bf mwCipher::offered})(struct {\bf mwCipherInstance} $\ast$ci, struct {\bf mwEncryptItem} $\ast$item)}}
\label{structmwCipher_e47e505d184f4d6ea6a2762f76aba9e4}


\hypertarget{structmwCipher_ec395dce47a0b5f4779522bd0c1888e2}{
\index{mwCipher@{mwCipher}!session@{session}}
\index{session@{session}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwSession}$\ast$ {\bf mwCipher::session}\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{structmwCipher_ec395dce47a0b5f4779522bd0c1888e2}


service this cipher is providing for 

\begin{Desc}
\item[See also:]\hyperlink{mw__cipher_8h_ca7df61aefa4a1eda2776c9d11d66c04}{mwCipher\_\-getSession} \end{Desc}
\hypertarget{structmwCipher_a65d8c035878ffd68aa21099a18eb959}{
\index{mwCipher@{mwCipher}!type@{type}}
\index{type@{type}!mwCipher@{mwCipher}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}guint16 {\bf mwCipher::type}}}
\label{structmwCipher_a65d8c035878ffd68aa21099a18eb959}


\begin{Desc}
\item[See also:]\hyperlink{mw__cipher_8h_9c78471afd459b09ddf5e544d9a07f56}{mwCipher\_\-getType} \end{Desc}


The documentation for this struct was generated from the following file:\begin{CompactItemize}
\item 
\hyperlink{mw__cipher_8h}{mw\_\-cipher.h}\end{CompactItemize}
