\doxysection{mw\+\_\+cipher.\+h}
\hypertarget{mw__cipher_8h_source}{}\label{mw__cipher_8h_source}\index{mw\_cipher.h@{mw\_cipher.h}}
\mbox{\hyperlink{mw__cipher_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ }
\DoxyCodeLine{00002\ \textcolor{comment}{/*}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ \ Meanwhile\ -\/\ Unofficial\ Lotus\ Sametime\ Community\ Client\ Library}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ \ Copyright\ (C)\ 2004\ \ Christopher\ (siege)\ O'Brien}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ \ }}
\DoxyCodeLine{00006\ \textcolor{comment}{\ \ This\ library\ is\ free\ software;\ you\ can\ redistribute\ it\ and/or}}
\DoxyCodeLine{00007\ \textcolor{comment}{\ \ modify\ it\ under\ the\ terms\ of\ the\ GNU\ Library\ General\ Public}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ \ License\ as\ published\ by\ the\ Free\ Software\ Foundation;\ either}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ \ version\ 2\ of\ the\ License,\ or\ (at\ your\ option)\ any\ later\ version.}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ \ }}
\DoxyCodeLine{00011\ \textcolor{comment}{\ \ This\ library\ is\ distributed\ in\ the\ hope\ that\ it\ will\ be\ useful,}}
\DoxyCodeLine{00012\ \textcolor{comment}{\ \ but\ WITHOUT\ ANY\ WARRANTY;\ without\ even\ the\ implied\ warranty\ of}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ \ MERCHANTABILITY\ or\ FITNESS\ FOR\ A\ PARTICULAR\ PURPOSE.\ \ See\ the\ GNU}}
\DoxyCodeLine{00014\ \textcolor{comment}{\ \ Library\ General\ Public\ License\ for\ more\ details.}}
\DoxyCodeLine{00015\ \textcolor{comment}{\ \ }}
\DoxyCodeLine{00016\ \textcolor{comment}{\ \ You\ should\ have\ received\ a\ copy\ of\ the\ GNU\ Library\ General\ Public}}
\DoxyCodeLine{00017\ \textcolor{comment}{\ \ License\ along\ with\ this\ library;\ if\ not,\ write\ to\ the\ Free}}
\DoxyCodeLine{00018\ \textcolor{comment}{\ \ Foundation,\ Inc.,\ 59\ Temple\ Place,\ Suite\ 330,\ Boston,\ MA\ \ 02111-\/1307\ \ USA}}
\DoxyCodeLine{00019\ \textcolor{comment}{*/}}
\DoxyCodeLine{00020\ }
\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#ifndef\ \_MW\_CIPHER\_H}}
\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#define\ \_MW\_CIPHER\_H}}
\DoxyCodeLine{00023\ }
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00025\ \textcolor{preprocessor}{\#include\ <glib.h>}}
\DoxyCodeLine{00026\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{mw__common_8h}{mw\_common.h}}"{}}}
\DoxyCodeLine{00027\ }
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00029\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00030\ \textcolor{keyword}{extern}\ \textcolor{stringliteral}{"{}C"{}}\ \{}
\DoxyCodeLine{00031\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00032\ }
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00034\ \textcolor{comment}{/*\ place-\/holders\ */}}
\DoxyCodeLine{00035\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwChannel}{mwChannel}};}
\DoxyCodeLine{00036\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwSession}{mwSession}};}
\DoxyCodeLine{00037\ }
\DoxyCodeLine{00038\ }
\DoxyCodeLine{00041\ \textcolor{keyword}{enum}\ \mbox{\hyperlink{mw__cipher_8h_a3d1e1cc055146237e1b8e638c5005a70}{mwCipherType}}\ \{}
\DoxyCodeLine{00042\ \ \ \mbox{\hyperlink{mw__cipher_8h_a3d1e1cc055146237e1b8e638c5005a70ab67b342eb4ad1f28624235e7d2b1509b}{mwCipher\_RC2\_40}}\ \ \ =\ 0x0000,}
\DoxyCodeLine{00043\ \ \ \mbox{\hyperlink{mw__cipher_8h_a3d1e1cc055146237e1b8e638c5005a70ab9732b499466e669cf5f8de3e09770f8}{mwCipher\_RC2\_128}}\ \ =\ 0x0001,}
\DoxyCodeLine{00044\ \};}
\DoxyCodeLine{00045\ }
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00047\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipher}{mwCipher}};}
\DoxyCodeLine{00048\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}};}
\DoxyCodeLine{00049\ }
\DoxyCodeLine{00050\ }
\DoxyCodeLine{00053\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *(*mwCipherInstantiator)}
\DoxyCodeLine{00054\ \ \ \ \ \ (\textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipher}{mwCipher}}\ *cipher,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwChannel}{mwChannel}}\ *chan);}
\DoxyCodeLine{00055\ }
\DoxyCodeLine{00056\ }
\DoxyCodeLine{00061\ \textcolor{keyword}{typedef}\ int\ (*\mbox{\hyperlink{mw__cipher_8h_a708cff122947ff2cc0bf69a4f2acc3a5}{mwCipherProcessor}})}
\DoxyCodeLine{00062\ \ \ \ \ \ (\textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *\mbox{\hyperlink{structmwOpaque_a5b825ce89e8c20605d70ad593f57684e}{data}});}
\DoxyCodeLine{00063\ }
\DoxyCodeLine{00064\ }
\DoxyCodeLine{00070\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipher}{mwCipher}}\ \{}
\DoxyCodeLine{00071\ }
\DoxyCodeLine{00074\ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwSession}{mwSession}}\ *\mbox{\hyperlink{structmwCipher_aec395dce47a0b5f4779522bd0c1888e2}{session}};}
\DoxyCodeLine{00075\ }
\DoxyCodeLine{00076\ \ \ guint16\ \mbox{\hyperlink{structmwCipher_aa65d8c035878ffd68aa21099a18eb959}{type}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00077\ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *(*get\_name)(void);\ \ }
\DoxyCodeLine{00078\ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *(*get\_desc)(void);\ \ }
\DoxyCodeLine{00082\ \ \ \mbox{\hyperlink{mw__cipher_8h_aca656cce8d283fccb930a28473add823}{mwCipherInstantiator}}\ \mbox{\hyperlink{structmwCipher_adfed31e997b9a9ba78363fdb1476253b}{new\_instance}};}
\DoxyCodeLine{00083\ }
\DoxyCodeLine{00084\ \ \ void\ (*\mbox{\hyperlink{structmwCipher_ad02109631f5a99182712d0a9f2dd3bce}{offered}})(\textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwEncryptItem}{mwEncryptItem}}\ *item);}
\DoxyCodeLine{00085\ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwEncryptItem}{mwEncryptItem}}\ *(*offer)(\textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci);}
\DoxyCodeLine{00086\ \ \ void\ (*\mbox{\hyperlink{structmwCipher_a9db015781c82658e0061ac25ed5a996a}{accepted}})(\textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci,\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwEncryptItem}{mwEncryptItem}}\ *item);}
\DoxyCodeLine{00087\ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwEncryptItem}{mwEncryptItem}}\ *(*accept)(\textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci);}
\DoxyCodeLine{00088\ }
\DoxyCodeLine{00089\ \ \ \mbox{\hyperlink{mw__cipher_8h_a708cff122947ff2cc0bf69a4f2acc3a5}{mwCipherProcessor}}\ \mbox{\hyperlink{structmwCipher_ac3fa2b1a18b7924450bc5343624b8a2a}{encrypt}};\ }
\DoxyCodeLine{00090\ \ \ \mbox{\hyperlink{mw__cipher_8h_a708cff122947ff2cc0bf69a4f2acc3a5}{mwCipherProcessor}}\ \mbox{\hyperlink{structmwCipher_a9dff138daf0f325e897dea90e70078b6}{decrypt}};\ }
\DoxyCodeLine{00094\ \ \ void\ (*\mbox{\hyperlink{structmwCipher_ac596168beda1893e8da51ada6948d70d}{clear}})(\textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipher}{mwCipher}}\ *c);}
\DoxyCodeLine{00095\ }
\DoxyCodeLine{00098\ \ \ void\ (*\mbox{\hyperlink{structmwCipher_aeec95bcf229054f6ad7ad8b786a720de}{clear\_instance}})(\textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci);}
\DoxyCodeLine{00099\ \};}
\DoxyCodeLine{00100\ }
\DoxyCodeLine{00101\ }
\DoxyCodeLine{00105\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ \{}
\DoxyCodeLine{00106\ }
\DoxyCodeLine{00109\ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipher}{mwCipher}}\ *\mbox{\hyperlink{structmwCipherInstance_adc1e6ea7dad87ee08f3a4a384f6a5cd4}{cipher}};}
\DoxyCodeLine{00110\ }
\DoxyCodeLine{00113\ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwChannel}{mwChannel}}\ *\mbox{\hyperlink{structmwCipherInstance_afa28caf93d50992ce5b8c7edf5a7c317}{channel}};}
\DoxyCodeLine{00114\ \};}
\DoxyCodeLine{00115\ }
\DoxyCodeLine{00116\ }
\DoxyCodeLine{00117\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipher}{mwCipher}}\ *\mbox{\hyperlink{mw__cipher_8h_a406ccc817f1f532667f1d9d6a4a54158}{mwCipher\_new\_RC2\_40}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwSession}{mwSession}}\ *s);}
\DoxyCodeLine{00118\ }
\DoxyCodeLine{00119\ }
\DoxyCodeLine{00120\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipher}{mwCipher}}\ *\mbox{\hyperlink{mw__cipher_8h_a9be6b70917384e9fd2f6c647f2a6d3f0}{mwCipher\_new\_RC2\_128}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwSession}{mwSession}}\ *s);}
\DoxyCodeLine{00121\ }
\DoxyCodeLine{00122\ }
\DoxyCodeLine{00123\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwSession}{mwSession}}\ *\mbox{\hyperlink{mw__cipher_8h_ac06492ad8144aecfc0b70b97f29e4a13}{mwCipher\_getSession}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipher}{mwCipher}}\ *cipher);}
\DoxyCodeLine{00124\ }
\DoxyCodeLine{00125\ }
\DoxyCodeLine{00126\ guint16\ \mbox{\hyperlink{mw__cipher_8h_a9c78471afd459b09ddf5e544d9a07f56}{mwCipher\_getType}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipher}{mwCipher}}\ *cipher);}
\DoxyCodeLine{00127\ }
\DoxyCodeLine{00128\ }
\DoxyCodeLine{00129\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *\mbox{\hyperlink{mw__cipher_8h_a136e3e79747b130236a36659dea0477d}{mwCipher\_getName}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipher}{mwCipher}}\ *cipher);}
\DoxyCodeLine{00130\ }
\DoxyCodeLine{00131\ }
\DoxyCodeLine{00132\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *\mbox{\hyperlink{mw__cipher_8h_a5e33bb53130d64d68f9444d731541d71}{mwCipher\_getDesc}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipher}{mwCipher}}\ *cipher);}
\DoxyCodeLine{00133\ }
\DoxyCodeLine{00134\ }
\DoxyCodeLine{00135\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *\mbox{\hyperlink{mw__cipher_8h_ad9e4927b43ac9aa0a8d9209d4fbfcf1b}{mwCipher\_newInstance}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipher}{mwCipher}}\ *\mbox{\hyperlink{structmwCipherInstance_adc1e6ea7dad87ee08f3a4a384f6a5cd4}{cipher}},}
\DoxyCodeLine{00136\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwChannel}{mwChannel}}\ *\mbox{\hyperlink{structmwCipherInstance_afa28caf93d50992ce5b8c7edf5a7c317}{channel}});}
\DoxyCodeLine{00137\ }
\DoxyCodeLine{00138\ }
\DoxyCodeLine{00140\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a4d6a169e214b8e6b60e6fb2e7c5c51bd}{mwCipher\_free}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipher}{mwCipher}}*\ \mbox{\hyperlink{structmwCipherInstance_adc1e6ea7dad87ee08f3a4a384f6a5cd4}{cipher}});}
\DoxyCodeLine{00141\ }
\DoxyCodeLine{00142\ }
\DoxyCodeLine{00144\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwCipher}{mwCipher}}\ *\mbox{\hyperlink{mw__cipher_8h_ad5aef8759ae50d07a59993c7abc9ba68}{mwCipherInstance\_getCipher}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci);}
\DoxyCodeLine{00145\ }
\DoxyCodeLine{00146\ }
\DoxyCodeLine{00148\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwChannel}{mwChannel}}\ *\mbox{\hyperlink{mw__cipher_8h_ab074a956b85e8c030a66a327e9574bab}{mwCipherInstance\_getChannel}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci);}
\DoxyCodeLine{00149\ }
\DoxyCodeLine{00150\ }
\DoxyCodeLine{00152\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_aca54b3578379f8f7e8a3497643d9ff52}{mwCipherInstance\_offered}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci,}
\DoxyCodeLine{00153\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwEncryptItem}{mwEncryptItem}}\ *item);}
\DoxyCodeLine{00154\ }
\DoxyCodeLine{00155\ }
\DoxyCodeLine{00157\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwEncryptItem}{mwEncryptItem}}\ *}
\DoxyCodeLine{00158\ \mbox{\hyperlink{mw__cipher_8h_a48ed4f6ad91a1b9c8d9e87c383057f3d}{mwCipherInstance\_offer}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci);}
\DoxyCodeLine{00159\ }
\DoxyCodeLine{00160\ }
\DoxyCodeLine{00162\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a12cef66d5336ee880cdd812c2dbe7ff3}{mwCipherInstance\_accepted}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci,}
\DoxyCodeLine{00163\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwEncryptItem}{mwEncryptItem}}\ *item);}
\DoxyCodeLine{00164\ }
\DoxyCodeLine{00165\ }
\DoxyCodeLine{00167\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwEncryptItem}{mwEncryptItem}}\ *}
\DoxyCodeLine{00168\ \mbox{\hyperlink{mw__cipher_8h_a03c39a5307320a606c23753bcb992975}{mwCipherInstance\_accept}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci);}
\DoxyCodeLine{00169\ }
\DoxyCodeLine{00170\ }
\DoxyCodeLine{00172\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{mw__cipher_8h_afbdb09cd3991970596b9e7ad1865a4b5}{mwCipherInstance\_encrypt}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci,}
\DoxyCodeLine{00173\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *data);}
\DoxyCodeLine{00174\ }
\DoxyCodeLine{00175\ }
\DoxyCodeLine{00177\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{mw__cipher_8h_a20e64408792db9e2845f8a7865eefe65}{mwCipherInstance\_decrypt}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci,}
\DoxyCodeLine{00178\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *data);}
\DoxyCodeLine{00179\ }
\DoxyCodeLine{00180\ }
\DoxyCodeLine{00182\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a302cdec8d916252920962bc7aefe39a4}{mwCipherInstance\_free}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwCipherInstance}{mwCipherInstance}}\ *ci);}
\DoxyCodeLine{00183\ }
\DoxyCodeLine{00184\ }
\DoxyCodeLine{00191\ \textcolor{comment}{/*\ @\{\ */}}
\DoxyCodeLine{00192\ }
\DoxyCodeLine{00193\ }
\DoxyCodeLine{00198\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a4606773752ee1a6ff4a44c217a39e348}{mwKeyRandom}}(guchar\ *key,\ gsize\ keylen);}
\DoxyCodeLine{00199\ }
\DoxyCodeLine{00200\ }
\DoxyCodeLine{00202\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a4164e217eb715d505ee0bb1d75d983f1}{mwIV\_init}}(guchar\ *iv);}
\DoxyCodeLine{00203\ }
\DoxyCodeLine{00204\ }
\DoxyCodeLine{00207\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a1fb65f55e064360183cee4bbe2a93c19}{mwKeyExpand}}(\textcolor{keywordtype}{int}\ *ekey,\ \textcolor{keyword}{const}\ guchar\ *key,\ gsize\ keylen);}
\DoxyCodeLine{00208\ }
\DoxyCodeLine{00209\ }
\DoxyCodeLine{00211\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a934b08511236b5e8cf80c22acc937f51}{mwEncryptExpanded}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ *ekey,\ guchar\ *iv,}
\DoxyCodeLine{00212\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *in,}
\DoxyCodeLine{00213\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *out);}
\DoxyCodeLine{00214\ }
\DoxyCodeLine{00215\ }
\DoxyCodeLine{00217\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a4ff69a2373683cbecb91039dd1a46fa1}{mwEncrypt}}(\textcolor{keyword}{const}\ guchar\ *key,\ gsize\ keylen,\ guchar\ *iv,}
\DoxyCodeLine{00218\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *in,\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *out);}
\DoxyCodeLine{00219\ }
\DoxyCodeLine{00220\ }
\DoxyCodeLine{00222\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_acb001137b268c78457e75185fdbbd9c9}{mwDecryptExpanded}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ *ekey,\ guchar\ *iv,}
\DoxyCodeLine{00223\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *in,}
\DoxyCodeLine{00224\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *out);}
\DoxyCodeLine{00225\ }
\DoxyCodeLine{00226\ }
\DoxyCodeLine{00228\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a1ea4d9e89089fcde39ff462a5404e704}{mwDecrypt}}(\textcolor{keyword}{const}\ guchar\ *key,\ gsize\ keylen,\ guchar\ *iv,}
\DoxyCodeLine{00229\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *in,\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *out);}
\DoxyCodeLine{00230\ }
\DoxyCodeLine{00231\ }
\DoxyCodeLine{00232\ \textcolor{comment}{/*\ @\}\ */}}
\DoxyCodeLine{00233\ }
\DoxyCodeLine{00234\ }
\DoxyCodeLine{00247\ \textcolor{comment}{/*\ @\{\ */}}
\DoxyCodeLine{00248\ }
\DoxyCodeLine{00249\ }
\DoxyCodeLine{00251\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwMpi}{mwMpi}};}
\DoxyCodeLine{00252\ }
\DoxyCodeLine{00253\ }
\DoxyCodeLine{00255\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structmwMpi}{mwMpi}}\ *\mbox{\hyperlink{mw__cipher_8h_ae5a02a3caf66b1f036e362d53887b0dc}{mwMpi\_new}}(\textcolor{keywordtype}{void});}
\DoxyCodeLine{00256\ }
\DoxyCodeLine{00257\ }
\DoxyCodeLine{00259\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a674f737698d67c52dce06f54151909ef}{mwMpi\_free}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *i);}
\DoxyCodeLine{00260\ }
\DoxyCodeLine{00261\ }
\DoxyCodeLine{00263\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a4dcaf6196943a70f723c828cab35f0c1}{mwMpi\_import}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *i,\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *o);}
\DoxyCodeLine{00264\ }
\DoxyCodeLine{00265\ }
\DoxyCodeLine{00267\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a389f3d2f174e66810a92ee93d5035967}{mwMpi\_export}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *i,\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwOpaque}{mwOpaque}}\ *o);}
\DoxyCodeLine{00268\ }
\DoxyCodeLine{00269\ }
\DoxyCodeLine{00271\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a892796c968b68d71e67b678a87504d20}{mwMpi\_setDHPrime}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *i);}
\DoxyCodeLine{00272\ }
\DoxyCodeLine{00273\ }
\DoxyCodeLine{00275\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_add1ffe92fc1c256fa767a34d58433dd1}{mwMpi\_setDHBase}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *i);}
\DoxyCodeLine{00276\ }
\DoxyCodeLine{00277\ }
\DoxyCodeLine{00280\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a95e8808f20ea58c66014a052375c5fe4}{mwMpi\_randDHKeypair}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *private\_key,\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *public\_key);}
\DoxyCodeLine{00281\ }
\DoxyCodeLine{00282\ }
\DoxyCodeLine{00285\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{mw__cipher_8h_a796525794edf3887ab94eefb748bcf91}{mwMpi\_calculateDHShared}}(\textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *shared\_key,\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *remote\_key,}
\DoxyCodeLine{00286\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct}\ \mbox{\hyperlink{structmwMpi}{mwMpi}}\ *private\_key);}
\DoxyCodeLine{00287\ }
\DoxyCodeLine{00288\ }
\DoxyCodeLine{00289\ \textcolor{comment}{/*\ @\}\ */}}
\DoxyCodeLine{00290\ }
\DoxyCodeLine{00291\ }
\DoxyCodeLine{00292\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00293\ \}}
\DoxyCodeLine{00294\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00295\ }
\DoxyCodeLine{00296\ }
\DoxyCodeLine{00297\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ \_MW\_CIPHER\_H\ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
