\doxysection{mw\+Cipher Struct Reference}
\hypertarget{structmwCipher}{}\label{structmwCipher}\index{mwCipher@{mwCipher}}


A cipher.  




{\ttfamily \#include $<$mw\+\_\+cipher.\+h$>$}

\doxysubsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structmwEncryptItem}{mw\+Encrypt\+Item}} \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structmwCipher_a7f277e730b59a7f905e63fbae9ad958f}{accept}} )(struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci)
\item 
void(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structmwCipher_a9db015781c82658e0061ac25ed5a996a}{accepted}} )(struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci, struct \mbox{\hyperlink{structmwEncryptItem}{mw\+Encrypt\+Item}} \texorpdfstring{$\ast$}{*}item)
\item 
void(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structmwCipher_ac596168beda1893e8da51ada6948d70d}{clear}} )(struct \mbox{\hyperlink{structmwCipher}{mw\+Cipher}} \texorpdfstring{$\ast$}{*}c)
\begin{DoxyCompactList}\small\item\em prepare this cipher for being free\textquotesingle{}d \end{DoxyCompactList}\item 
void(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structmwCipher_aeec95bcf229054f6ad7ad8b786a720de}{clear\+\_\+instance}} )(struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci)
\begin{DoxyCompactList}\small\item\em clean up a cipher instance before being free\textquotesingle{}d \end{DoxyCompactList}\item 
\mbox{\hyperlink{mw__cipher_8h_a708cff122947ff2cc0bf69a4f2acc3a5}{mw\+Cipher\+Processor}} \mbox{\hyperlink{structmwCipher_a9dff138daf0f325e897dea90e70078b6}{decrypt}}
\item 
\mbox{\hyperlink{mw__cipher_8h_a708cff122947ff2cc0bf69a4f2acc3a5}{mw\+Cipher\+Processor}} \mbox{\hyperlink{structmwCipher_ac3fa2b1a18b7924450bc5343624b8a2a}{encrypt}}
\item 
const char \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structmwCipher_a8ce00083ba6fa4a68376bca83f78abb8}{get\+\_\+desc}} )(void)
\item 
const char \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structmwCipher_a2ee1e7905dbea5730f41d003aa83c417}{get\+\_\+name}} )(void)
\item 
\mbox{\hyperlink{mw__cipher_8h_aca656cce8d283fccb930a28473add823}{mw\+Cipher\+Instantiator}} \mbox{\hyperlink{structmwCipher_adfed31e997b9a9ba78363fdb1476253b}{new\+\_\+instance}}
\begin{DoxyCompactList}\small\item\em Generate a new Cipher Instance for use on a channel. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structmwEncryptItem}{mw\+Encrypt\+Item}} \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structmwCipher_ad93d88fa9830ce3b88ec385e5698e337}{offer}} )(struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci)
\item 
void(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structmwCipher_ad02109631f5a99182712d0a9f2dd3bce}{offered}} )(struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci, struct \mbox{\hyperlink{structmwEncryptItem}{mw\+Encrypt\+Item}} \texorpdfstring{$\ast$}{*}item)
\item 
struct \mbox{\hyperlink{structmwSession}{mw\+Session}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structmwCipher_aec395dce47a0b5f4779522bd0c1888e2}{session}}
\begin{DoxyCompactList}\small\item\em service this cipher is providing for \end{DoxyCompactList}\item 
guint16 \mbox{\hyperlink{structmwCipher_aa65d8c035878ffd68aa21099a18eb959}{type}}
\end{DoxyCompactItemize}


\doxysubsection{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{DoxySeeAlso}{See also}
\doxylink{structmwCipherInstance}{mw\+Cipher\+Instance} 
\end{DoxySeeAlso}


\label{doc-variable-members}
\Hypertarget{structmwCipher_doc-variable-members}
\doxysubsection{Field Documentation}
\Hypertarget{structmwCipher_a7f277e730b59a7f905e63fbae9ad958f}\index{mwCipher@{mwCipher}!accept@{accept}}
\index{accept@{accept}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{accept}{accept}}
{\footnotesize\ttfamily \label{structmwCipher_a7f277e730b59a7f905e63fbae9ad958f} 
struct \mbox{\hyperlink{structmwEncryptItem}{mw\+Encrypt\+Item}} \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} mw\+Cipher\+::accept) (struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci)}

\Hypertarget{structmwCipher_a9db015781c82658e0061ac25ed5a996a}\index{mwCipher@{mwCipher}!accepted@{accepted}}
\index{accepted@{accepted}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{accepted}{accepted}}
{\footnotesize\ttfamily \label{structmwCipher_a9db015781c82658e0061ac25ed5a996a} 
void(\texorpdfstring{$\ast$}{*} mw\+Cipher\+::accepted) (struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci, struct \mbox{\hyperlink{structmwEncryptItem}{mw\+Encrypt\+Item}} \texorpdfstring{$\ast$}{*}item)}

\Hypertarget{structmwCipher_ac596168beda1893e8da51ada6948d70d}\index{mwCipher@{mwCipher}!clear@{clear}}
\index{clear@{clear}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{clear}{clear}}
{\footnotesize\ttfamily \label{structmwCipher_ac596168beda1893e8da51ada6948d70d} 
void(\texorpdfstring{$\ast$}{*} mw\+Cipher\+::clear) (struct \mbox{\hyperlink{structmwCipher}{mw\+Cipher}} \texorpdfstring{$\ast$}{*}c)}



prepare this cipher for being free\textquotesingle{}d 

\begin{DoxySeeAlso}{See also}
\doxylink{mw__cipher_8h_a4d6a169e214b8e6b60e6fb2e7c5c51bd}{mw\+Cipher\+\_\+free} 
\end{DoxySeeAlso}
\Hypertarget{structmwCipher_aeec95bcf229054f6ad7ad8b786a720de}\index{mwCipher@{mwCipher}!clear\_instance@{clear\_instance}}
\index{clear\_instance@{clear\_instance}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{clear\_instance}{clear\_instance}}
{\footnotesize\ttfamily \label{structmwCipher_aeec95bcf229054f6ad7ad8b786a720de} 
void(\texorpdfstring{$\ast$}{*} mw\+Cipher\+::clear\+\_\+instance) (struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci)}



clean up a cipher instance before being free\textquotesingle{}d 

\begin{DoxySeeAlso}{See also}
\doxylink{mw__cipher_8h_a302cdec8d916252920962bc7aefe39a4}{mw\+Cipher\+Instance\+\_\+free} 
\end{DoxySeeAlso}
\Hypertarget{structmwCipher_a9dff138daf0f325e897dea90e70078b6}\index{mwCipher@{mwCipher}!decrypt@{decrypt}}
\index{decrypt@{decrypt}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{decrypt}{decrypt}}
{\footnotesize\ttfamily \label{structmwCipher_a9dff138daf0f325e897dea90e70078b6} 
\mbox{\hyperlink{mw__cipher_8h_a708cff122947ff2cc0bf69a4f2acc3a5}{mw\+Cipher\+Processor}} mw\+Cipher\+::decrypt}

\begin{DoxySeeAlso}{See also}
\doxylink{mw__cipher_8h_a20e64408792db9e2845f8a7865eefe65}{mw\+Cipher\+Instance\+\_\+decrypt} 
\end{DoxySeeAlso}
\Hypertarget{structmwCipher_ac3fa2b1a18b7924450bc5343624b8a2a}\index{mwCipher@{mwCipher}!encrypt@{encrypt}}
\index{encrypt@{encrypt}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{encrypt}{encrypt}}
{\footnotesize\ttfamily \label{structmwCipher_ac3fa2b1a18b7924450bc5343624b8a2a} 
\mbox{\hyperlink{mw__cipher_8h_a708cff122947ff2cc0bf69a4f2acc3a5}{mw\+Cipher\+Processor}} mw\+Cipher\+::encrypt}

\begin{DoxySeeAlso}{See also}
\doxylink{mw__cipher_8h_afbdb09cd3991970596b9e7ad1865a4b5}{mw\+Cipher\+Instance\+\_\+encrypt} 
\end{DoxySeeAlso}
\Hypertarget{structmwCipher_a8ce00083ba6fa4a68376bca83f78abb8}\index{mwCipher@{mwCipher}!get\_desc@{get\_desc}}
\index{get\_desc@{get\_desc}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{get\_desc}{get\_desc}}
{\footnotesize\ttfamily \label{structmwCipher_a8ce00083ba6fa4a68376bca83f78abb8} 
const char \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} mw\+Cipher\+::get\+\_\+desc) (void)}

\begin{DoxySeeAlso}{See also}
\doxylink{mw__cipher_8h_a5e33bb53130d64d68f9444d731541d71}{mw\+Cipher\+\_\+get\+Desc} 
\end{DoxySeeAlso}
\Hypertarget{structmwCipher_a2ee1e7905dbea5730f41d003aa83c417}\index{mwCipher@{mwCipher}!get\_name@{get\_name}}
\index{get\_name@{get\_name}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{get\_name}{get\_name}}
{\footnotesize\ttfamily \label{structmwCipher_a2ee1e7905dbea5730f41d003aa83c417} 
const char \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} mw\+Cipher\+::get\+\_\+name) (void)}

\begin{DoxySeeAlso}{See also}
\doxylink{mw__cipher_8h_a136e3e79747b130236a36659dea0477d}{mw\+Cipher\+\_\+get\+Name} 
\end{DoxySeeAlso}
\Hypertarget{structmwCipher_adfed31e997b9a9ba78363fdb1476253b}\index{mwCipher@{mwCipher}!new\_instance@{new\_instance}}
\index{new\_instance@{new\_instance}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{new\_instance}{new\_instance}}
{\footnotesize\ttfamily \label{structmwCipher_adfed31e997b9a9ba78363fdb1476253b} 
\mbox{\hyperlink{mw__cipher_8h_aca656cce8d283fccb930a28473add823}{mw\+Cipher\+Instantiator}} mw\+Cipher\+::new\+\_\+instance}



Generate a new Cipher Instance for use on a channel. 

\begin{DoxySeeAlso}{See also}
\doxylink{mw__cipher_8h_ad9e4927b43ac9aa0a8d9209d4fbfcf1b}{mw\+Cipher\+\_\+new\+Instance} 
\end{DoxySeeAlso}
\Hypertarget{structmwCipher_ad93d88fa9830ce3b88ec385e5698e337}\index{mwCipher@{mwCipher}!offer@{offer}}
\index{offer@{offer}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{offer}{offer}}
{\footnotesize\ttfamily \label{structmwCipher_ad93d88fa9830ce3b88ec385e5698e337} 
struct \mbox{\hyperlink{structmwEncryptItem}{mw\+Encrypt\+Item}} \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} mw\+Cipher\+::offer) (struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci)}

\Hypertarget{structmwCipher_ad02109631f5a99182712d0a9f2dd3bce}\index{mwCipher@{mwCipher}!offered@{offered}}
\index{offered@{offered}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{offered}{offered}}
{\footnotesize\ttfamily \label{structmwCipher_ad02109631f5a99182712d0a9f2dd3bce} 
void(\texorpdfstring{$\ast$}{*} mw\+Cipher\+::offered) (struct \mbox{\hyperlink{structmwCipherInstance}{mw\+Cipher\+Instance}} \texorpdfstring{$\ast$}{*}ci, struct \mbox{\hyperlink{structmwEncryptItem}{mw\+Encrypt\+Item}} \texorpdfstring{$\ast$}{*}item)}

\Hypertarget{structmwCipher_aec395dce47a0b5f4779522bd0c1888e2}\index{mwCipher@{mwCipher}!session@{session}}
\index{session@{session}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{session}{session}}
{\footnotesize\ttfamily \label{structmwCipher_aec395dce47a0b5f4779522bd0c1888e2} 
struct \mbox{\hyperlink{structmwSession}{mw\+Session}}\texorpdfstring{$\ast$}{*} mw\+Cipher\+::session}



service this cipher is providing for 

\begin{DoxySeeAlso}{See also}
\doxylink{mw__cipher_8h_ac06492ad8144aecfc0b70b97f29e4a13}{mw\+Cipher\+\_\+get\+Session} 
\end{DoxySeeAlso}
\Hypertarget{structmwCipher_aa65d8c035878ffd68aa21099a18eb959}\index{mwCipher@{mwCipher}!type@{type}}
\index{type@{type}!mwCipher@{mwCipher}}
\doxysubsubsection{\texorpdfstring{type}{type}}
{\footnotesize\ttfamily \label{structmwCipher_aa65d8c035878ffd68aa21099a18eb959} 
guint16 mw\+Cipher\+::type}

\begin{DoxySeeAlso}{See also}
\doxylink{mw__cipher_8h_a9c78471afd459b09ddf5e544d9a07f56}{mw\+Cipher\+\_\+get\+Type} 
\end{DoxySeeAlso}


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